Principal Software Engineer
Role details
Job location
Tech stack
Job description
-
The Principal Software Engineer plans, leads, 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. The Principal Software Engineer:
-
Plans, leads, and executes efforts to architect, design, develop, maintain, upgrade, port, and verify/qualify embedded product software and/or product support software to enhance, implement and support project/system functionality.
-
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 cost and schedule targets are met, product outcomes meet customer needs, and customer and company technical, system, performance, process, and quality requirements are met.
Requirements
-
Minimum of 8 years of experience in real-time embedded software development
-
Experience to include requirements analysis, software design, implementation (code and unit test) and authoring of formal deliverable documentation.
-
Object-oriented software architecture, software design, C++ coding, and unit testing of embedded software with knowledge of requirements-based software verification and traceability
-
Use of version control and issue tracking tools
Experience Preferred:
-
Experience in architectural level software design using Magic Draw, Enterprise Architect, or similar model-based engineering tool
-
Experience either standing up or extending software verification environments in support of automated software verification testing
-
Familiarity with weapon systems, munitions, and/or combat vehicle functionality and capability
-
Experience using GitLab or other CI / CD tool
Education Required:
- Bachelor's degree in STEM field