Principal Embedded Software Engineer
About the role
Lead the software engineering team for complex embedded control systems, considering safety, performance, and security requirements.
Provide technical guidance and mentorship to a team of embedded software engineers, fostering a collaborative and innovative environment.
Experience leading high performing technical teams.
Participate in all phases of the software lifecycle – from requirements definition and system design, through implementation, integration, and rigorous verification.
Develop and review software designs, code, and documentation to ensure adherence to industry standards (e.g., DO-178C) and internal quality guidelines.
Evaluate and integrate new technologies and tools to improve software development processes and product capabilities.
Contribute to the evolution of our software development processes and best practices.
Focus on software product security, leading the integration of security features and supporting comprehensive validation efforts.
Perform Control Account Manager (CAM) duties in adherence to sound Earned Value Management (EVM) techniques and practices.
Responsibilities
- Lead the software engineering team for complex embedded control systems, considering safety, performance, and security requirements.
- Provide technical guidance and mentorship to a team of embedded software engineers, fostering a collaborative and innovative environment.
- Experience leading high performing technical teams.
- Participate in all phases of the software lifecycle – from requirements definition and system design, through implementation, integration, and rigorous verification.
- Develop and review software designs, code, and documentation to ensure adherence to industry standards (e.g., DO-178C) and internal quality guidelines.
- Evaluate and integrate new technologies and tools to improve software development processes and product capabilities.
- Contribute to the evolution of our software development processes and best practices.
- Focus on software product security, leading the integration of security features and supporting comprehensive validation efforts.
- Perform Control Account Manager (CAM) duties in adherence to sound Earned Value Management (EVM) techniques and practices.
Requirements
- Bachelor’s degree in Computer Engineering, Electrical Engineering, or a related field; Master’s degree preferred.
- 8-10+ years of experience in embedded software development, with a significant focus on aerospace or defense applications.
- Deep understanding of real-time operating systems (RTOS) – experience with LynxOS, VxWorks, or INTEGRITY is highly desirable.
- Expert proficiency in C/C++, Python programming languages and software development tools.
- Extensive experience with software architecture, design patterns, and software modeling techniques including Model Based Systems Engineering (MBSE).
- Strong knowledge of software security principles and best practices.
- Comprehensive understanding of aerospace software standards (e.g., DO-178B/C).
- Prominent leadership skills with the ability to mentor and guide junior engineers.
- Excellent communication, collaboration, and problem-solving skills.
Qualifications
- Associates in Computer Science, Software Engineering, Electrical Engineering or related field with strong embedded software development background.
- 8-10+ years of experience in embedded controls development with at least 3 years leading high performing distributed teams.
- Experience in full software lifecycle including requirements, design, coding, integration and verification.
- Experience integrating on real-time, safety-critical electronic control systems that include hardware, software and programmable logic devices.
- Experience with implementing cybersecurity capabilities leveraging features/components including any of the following; secure boot, cryptographic accelerators, Trusted Execution Environments (TEEs), Trusted Platform Modules (TPMs) or Hardware Security Modules (HSMs).
- Understanding of purpose and usage of; cryptographic objects: Keys, Certs, CRLs; algorithms: SHA, AES, RSA, ECC, HMAC, GMAC, etc., and protocols: TLS/DTLS, IPSec, etc.
- Solid knowledge and hands-on experience with C/C++, Python and assembly language programming.
- Experience performing static/dynamic code analysis.
- Techical writing skills: capable of creating clear and concise engineering documentation.
Skills
- Master’s Degree in related engineering field
- 10+ years of experience in avionics or electronic controls embedded development, including familiarity with systems such as flight controls, engine controls or mission systems, with at least 3 years of leading high performing distributed teams.
- Experience with Multi-core and ARM processing hardware.
- Experience with safety critical development guidelines including DO-178B/C, DO-254, ISO-26262 or equivalent safety process requirements.
- Demonstrated experience providing technical leadership.
- Team player with a proactive attitude and the ability to be productive in a dynamic/collaborative environment.
- Strong oral and written communications skills.
- Motivated self-starter with good problem solving skills, judgment, and analytical capability, with good planning and organizational skills.
Benefits
- Full-Time Salary Range: $107359 - $182510
- Regular employees scheduled to work 20+ hours per week are offered: health, dental, and vision insurance; health savings accounts; a 401(k) savings plan; disability coverage; and life and accident insurance.
- We also have an employee assistance program, a legal plan, and other perks including discounts on things like home, auto, and pet insurance.
- Our leave programs include paid time off, paid holidays, as well as other types of leave, including paid parental, military, bereavement, and any applicable federal and state sick leave.
- Employees may participate in the company recognition program to receive monetary or non-monetary recognition awards.
- Other incentives may be available based on position level and/or job specifics.