We are seeking a highly skilled and experienced Senior Software Engineer to join our team. You will play a key role in the design, development, testing, and deployment of medical device software systems and applications. You will collaborate with cross-functional teams to ensure our products meet the highest standards of reliability, performance, and security.
Reports to: Software Team Leader
Responsibilities:
- Collaborate with cross-functional teams across the entire software development lifecycle (design, development, testing, deployment) for embedded systems and user-space applications.
- Design, document, and implement embedded systems software, including I/O, USB interface, Ethernet, controls, test equipment, emulator software, network devices, and communication protocols.
- Write clean, efficient, and well-documented code following medical industry standards and best practices.
- Work closely with hardware engineers to bring up and test new hardware.
- Stay current with emerging technologies and methodologies, applying this knowledge to improve our software development processes and products.
- Understand and translate requirements from system engineers, regulatory teams, cybersecurity teams, and other stakeholders into technical specifications and software designs.
- Ensure software meets the highest standards of reliability, performance, and security, adhering to regulatory requirements and industry standards.
- Define unit tests and verification methods to ensure designs meet performance needs.
- Support troubleshooting and problem-solving activities related to software aspects of devices and systems.
- Perform hardware-software integration, component integration, and integration between different software elements.
- Develop and maintain strong working relationships with internal and external development partners.
Skills and Qualifications:
- Bachelor’s degree in Computer Science or related engineering field.
- 8+ years of experience as a Software Engineer, preferably with medical devices or other regulated products.
- Extensive C++ programming experience.
- Experience with Embedded Linux and the Linux operating system.
- Strong understanding of Object-Oriented Design (OOD) and Design Patterns.
- Familiarity with Unified Modeling Language (UML) and Agile methodologies.
- Experience with microservices architecture (a plus).
Advantages:
- Experience with Qt (a plus).
- Familiarity with the Yocto Project (a plus).
Travel: Required once or twice a year.
To apply for this job email your details to jobs@insighthr.co.il