Work Flexibility: Hybrid
What you will do:Translate user needs to design inputs/specifications and produce advanced component and sub-system level designs
Develop and design embedded software systems using C++, C, Python, and/or other supporting languages per requirements and architecture defined
Code development time/resource estimation to support projects
Generate and review the necessary documents to support the project. (requirements/design/architecture/bugs/test)
Support the development of new reusable components and the maintenance of existing components.
Author unit, integration, verification, and validation tests, including manual and automated methodologies
Work cooperatively with R&D, Quality, Manufacturing, Regulatory, Clinical, Marketing and Project Management to ensure project success as a leader on the team
Required Qualifications:
Bachelor's degree in Software Engineering/ Computer Science or related discipline
3+ years of experience in complex distributed embedded C++ software design and development, preferably in a real-time environment.
Experience within programming for communication protocols and message broker
Familiar with RTOS development environment
Preferred Qualifications:
Strong object-oriented design and development experience.
Detail oriented with strong English written and verbal communication skills.
Knowledgeable of tools for static/dynamic analysis, memory management, code coverage and techniques for analyzing software.
Experience in unit, integration, automated regression testing.