Embedded Software Engineer
Position Description
We have openings for individuals with experience and a passion for real-time, embedded software development. The Software Engineer II performs a variety of tasks across the areas of software requirements analysis, software design, implementation (code and unit test), documentation, hardware-software integration, troubleshooting, problem solving, and software verification testing.
The Software Engineer II :
- Performs tasks to develop, maintain, upgrade, and port embedded product software and / or product support software to enhance, implement and support project / system functionality for the assigned technical effort.
- Collaborates within the software project team and across the other engineering disciplines such as Mechanical, Electrical, Controls, and Systems Engineering.
- Ensures that technical approach is consistent with established engineering principles and practices.Skills Required
- Object-oriented design, C++ coding, and unit testing of embedded software
- Use of version control and issue tracking tools
Skills Preferred
Integrating or testing software on bare metal or with various real-time operating systems such as vxWorks and Linux / Unix derivativesAbility to use software modeling tools such as Enterprise Architect or MagicDraw (Cameo) - where these skills might be gained either on the job or from university projectsExperience RequiredMinimum of 2 years of experience in real-time embedded software development and / or software testingExperience PreferredExperience developing and troubleshooting comms, device drivers, I / O, etc.Familiarity with NI TestStandFamiliarity with weapon systems, munitions, and / or combat vehicle functionality and capabilityExperience using GitLab or other CI / CD toolsEducation Required
Bachelor's degree in STEM fieldEducation Preferred
Bachelor's degree in Computer Engineering, Software Engineering, Electrical Engineering, or Computer Science#HRUjobs