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
What you Need:
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.
Travel Percentage: 10%