Job Summary
We are seeking a Software Engineer to design, develop, test, and maintain application, middleware, and integration software for connected products.
Key Responsibilities
• Design, develop, integrate, and maintain software modules and APIs.
• Develop reliable and maintainable application and middleware components.
• Implement REST APIs and messaging interfaces.
• Develop unit, integration, and automated tests.
• Maintain and improve CI/CD pipelines.
• Analyze software defects and perform root-cause analysis.
• Implement robust and secure solutions following established coding standards.
• Follow IEC 62304 software lifecycle processes where applicable.
• Apply secure coding and cybersecurity best practices.
• Participate in Agile ceremonies, technical discussions, architecture/design reviews, and code reviews.
• Collaborate with embedded, systems, hardware, QA, and product teams.
Required Skills
• Robust programming experience in one or more of:
• C++
• C#
• Java
• Python
• Experience developing REST APIs and messaging-based interfaces.
• Strong knowledge of Git and version-control practices.
• Experience with unit and integration testing.
• Experience with test automation and CI/CD.
• Understanding of software development lifecycle processes.
• Knowledge of cybersecurity and secure coding fundamentals.
• Strong debugging and problem-solving skills.
Preferred
• Experience with IEC 62304 or other regulated software development processes.
• Experience developing software for connected or embedded products.
• Experience in medical devices or safety-critical products.