Job DescriptionRoles and Responsibilities:
- Responsible for embedded software of next generation medical devices in the Neonatal Intensive Care Unit and Labor and Delivery space.
- Work closely with a team of Software Engineers and across disciplines (Electrical Engineers, Systems Engineers, etc.) to translate system architecture and product requirements into well-designed software components.
- Work in a fast paced, agile-scrum development environment.
- Conduct technical design reviews to ensure the software meets security, reliability, and performance requirements.
- Develop integrated software products with uncompromised quality (includes the use of static analysis tools, design reviews, code reviews).
- Seek and provide feedback on design and development through collaboration with software architects and platform teams.
- Design features with input from system architecture and product requirements to produce detailed architecture, detailed design, and software implementation.
- Implement solutions that are aligned with and extend shared platforms and solutions.
- Ensure compliance to quality practices and medical device standards for design and development.
- Research new tools and technologies to keep our software on the cutting edge.
- Understand the entire product, its modules, and the interrelationship between them while being an expert in the assigned component or module.
Qualifications & Essential Skills:
- Bachelor’s degree, preferably in Computer Science or related STEM major.
- Minimum of 6 years of software development work experience with at least 2 years of embedded software development.
- Hands-on experience in Linux based products with C++, Python, embedded Devp and C.
- Experience with Real-time operating systems and operating system development.
- Experience with Unix/Linux based programming.
- Experience with Microcontrollers, Microprocessors
- Strong understanding of object-oriented design, Design patterns, Algorithms and data structures.
- Legal authorization to work in the U.S. is required. We will not sponsor individuals for employment visas, now or in the future, for this job opening.
Desired Skills - Technical:
- Strong analytical skills, with excellent problem-solving abilities and experience creating flexible code.
- Skilled in breaking down problems, documenting problem statements and estimating the effort required for implementation and test.
- Experience developing software compliant to IEC/ISO 62304 Software Development Lifecycle (SDLC).
- Experience with microservices design and development.
- Application development using Qt/QML, Multithreading, C++, Yocto Linux, Arm Cortex/NXP Processors.
- Application development using communication protocols for the following: I2C, SPI, USB, GPIOs, CAN bus, RS232, RS485.
- Experience testing and mocking frameworks such as Google Test and JUnit.
- Ability to read a schematic and use hardware test equipment: oscilloscope, logic analyzer.
- Familiar with principles of electronics, circuits, and signals.
- Continuously measures deliverables of self and team against scheduled commitments.
- Experience with technology stacks and the ability to analyze software performance and security.
- Experience and conceptual knowledge in architecture and software design patterns that drive scalability, reliability, and maintainability.
- Experience with software design and development within the medical device or other regulated industry.