Senior Embedded Software Engineer
Sterling Heights, MI, United States
Position Description
We have multiple openings for individuals with experience and a passion for real-time, embedded software development.
The Senior Software Engineer plans and performs a variety of tasks across the areas of software requirements analysis, software architecture and design, implementation (code and unit test), documentation, hardware-software integration, troubleshooting, problem solving, and software verification testing.
We currently have opportunities for both software developers and software testers.
The Senior Software Engineer
: Develops, maintains, upgrades, and ports embedded product software and/or product support software to enhance, implement and support project/system functionality for the assigned technical effort.
Mentors less experienced software engineers to help develop their software development and test capabilities and troubleshooting and problem-solving skills.
Collaborates across the other engineering disciplines such as Mechanical, Electrical, Controls, and Systems.
Ensures that technical approach is consistent with established engineering principles and practices.
Ensures that product outcomes meet customer needs and that customer and company technical, system, performance, process, and quality requirements are met.
Skills Required
For developers: Object-oriented design, C++ coding, and unit testing of embedded software
For testers: Requirements-based software verification and traceability
Use of version control and issue tracking tools
Skills Preferred
Developing and troubleshooting communications, device drivers, and IO interfaces
Integrating or testing software with various real-time operating systems such as vxWorks and Linux/Unix derivatives
Requirements analysis
Experience Required
Minimum of 4 years of experience in real-time embedded software development and/or software testing
Experience Preferred
Experience in architectural level software design using Magic Draw, Enterprise Architect, or similar model-based engineering tool (software developers)
Experience using NI TestStand (software testers)
Familiarity with weapon systems, munitions, and/or combat vehicle functionality and capability
Experience using GitLab or other CI / CD tools
Education Required
Bachelor’s degree in STEM field
Education Preferred
Bachelor’s degree in Computer Engineering, Software Engineering, Electrical Engineering, or Computer Science
Education: Bachelors Degree