Embedded Flight Software Engineer (Mid-Level) [2022-090]


ITS, LLC is looking for a Flight Software Engineer to perform software engineering activities associated with the delivery of embedded flight software products for small scale projects developing CubeSats, small satellites and spacecraft payloads where the typical flight software team sizes are between one and five people. These activities include requirements development, software architecture & design, code development, along with extensive user and system level testing.

This position will provide software expertise in the form of software requirements definition, software design, code development, peer review, documentation, thorough unit testing, integration testing using simulations and avionics hardware, and defect resolution to flight mission customers.

Through the guidance of a Cognizant Engineer, the software engineer will develop a solid understanding of the required capabilities of the software system. The software engineer will then be responsible for advising to the software team on the determined software approach for the development, conduct peer reviews, oversee formal testing of peer developed capabilities, participate in the software system integration, and support the delivery and deployment of the software system.

Specific responsibilities include, but may not be limited to:

• Supporting the Flight Software Cognizant Engineer in ensuring that the flight software architecture and design of the software system and constituent components meet system level requirements.

• Designing, developing, and delivering software components in C++ that implement Avionics Subsystem functions including flight system hardware/software interfaces in both nominal and faulted test scenarios, boot process, command and data handling functions, System Fault Protection, etc. as specified by the Flight Software Cognizant engineer.

• Working closely with avionics and systems engineers in defining project specific flight software requirements for the various domains.

• Supporting the FSW team to define verification items, test procedures, test execution, and delivery of the integrated software products.

This position requires a U.S. Person who is eligible to obtain any required Export Authorization.

Required Skills:


• Extensive understanding and wide application of advanced principles, theories, concepts and hands-on programming techniques in:

• Developing, modifying, debugging, releasing and maintaining real-time embedded software systems for mission-critical, aerospace applications.

• Developing application programs for the various functional domains (e.g., CDH, GNC, etc.) for execution in an embedded flight processor.

• Device driver development and software/hardware interfaces for both custom and commercial hardware, with experience debugging software/hardware interactions and possible failure modes.

• Experience with distributed computing and inter-process communication (IPC) mechanisms.

• Communication buses and protocols: PCI/PCIe, 1553, ethernet.

• Proven leadership experience and/or ability for a software team in the development and delivery of reliable, embedded real-time software applications that employs formal and structured lifecycle development process.

• An extensive background in software development and testing with specific experience in the following languages and operating systems: C++, C, Python, Linux, WindRiver VxWorks.

• Ability to work with in-development hardware undergoing changing interface specifications.

• Strong verbal and written communication, presentation, and interpersonal skills with ability to work in a team environment.


• Complete knowledge of Laboratory policies and procedures, NASA policies and procedures, and government regulations across a range of applications.

• Extensive experience developing, deploying and maintaining software product lines.

• Hands on knowledge with software development processes, standards, and practices.

• System engineering experience in generating, tracking and proving successful implementation of requirements.

• Background in dynamics and control systems.

• Proposal writing skills.

Bachelors or higher required

This position typically requires a Bachelor’s degree in Computer Science, or related technical discipline with a minimum of 6 years of related experience; a Master’s degree in similar disciplines with a minimum of 4 years of related experience; or a PhD in similar disciplines with a minimum of 2 years related experience.

Pasadena, CA



In compliance with Colorado’s Equal Pay for Equal Work Act, the salary range for this role is $110,000 - $139,000. Please note, salary is based on education, experience, and responsibilities.

U.S. Citizenship is required. EOE including disability/vet
Equal Employment Opportunity Information