Position Description
We are looking for experienced professionals with a passion for real-time, embedded software development to join as Senior Software Engineers. This role involves planning and executing tasks in software requirements analysis, architecture and design, coding, unit testing, documentation, hardware-software integration, troubleshooting, problem-solving, and verification testing.
Key Responsibilities
- Develop, maintain, upgrade, and port embedded product software and/or support software to enhance project/system functionality.
- Mentor junior software engineers to enhance their development, testing, troubleshooting, and problem-solving skills.
- Collaborate with cross-functional teams, including Mechanical, Electrical, Controls, and Systems Engineering.
- Ensure alignment with established engineering principles and practices.
- Verify that products meet customer needs and satisfy all technical, system, performance, process, and quality requirements.
Required Skills
- Proficiency in object-oriented design, C++ coding, and unit testing for embedded software.
- Experience with version control and issue tracking tools.
Preferred Skills
- Proficiency in developing and troubleshooting communication protocols, device drivers, and I/O interfaces.
- Experience integrating or testing software with real-time operating systems (RTOS) like vxWorks and Linux/Unix derivatives.
- Skills in requirements analysis and traceability, both up to higher-level requirements and down to software design/code.
Required Experience
- Minimum of 4 years in real-time embedded software development or software verification testing, with at least 2 years focused on software design, coding, and unit testing.
Preferred Experience
- Experience in architectural-level software design using Magic Draw, Enterprise Architect, or similar model-based engineering tools.
- Familiarity with NI TestStand for setting up, maintaining, or using automated software verification testing environments.
- Knowledge of weapon systems, munitions, or combat vehicle functionality.
- Experience using GitLab or other CI/CD tools.
Required Education
- Bachelor’s degree in a STEM field.
Preferred Education
- Bachelor’s degree in Computer Engineering, Software Engineering, Electrical Engineering, or Computer Science.
EOE (Veteran/Disability)