Flight Software Engineer – Spaceflight Systems
Location: Boulder, Colorado
Work Arrangement: Hybrid
Position Overview
We are seeking Flight Software Engineers to design, develop, integrate, and test embedded software for spacecraft and scientific instruments.
This role will support the full flight software lifecycle, including requirements development, software design, coding, unit testing, hardware/software integration, verification, and mission support. Ideal candidates will have spaceflight software experience using C/C++, real‑time operating systems, and NASA’s core Flight System and core Flight Executive (cFS/cFE). Experience with RTEMS is particularly valuable.
Responsibilities
- Design, develop, integrate, and test embedded flight software for spacecraft, payloads, or scientific instruments.
- Develop software using C and C++ within real‑time and resource‑constrained environments.
- Build or maintain flight applications using NASA cFS/cFE architecture.
- Develop and integrate software running on RTEMS or a comparable real‑time operating system.
- Implement command handling, telemetry processing, data management, fault detection, and spacecraft subsystem interfaces.
- Develop device drivers, board‑support software, middleware, and hardware/software interfaces as needed.
- Translate system and mission requirements into flight software requirements, designs, and test procedures.
- Perform unit, integration, regression, software‑in‑the‑loop, and hardware‑in‑the‑loop testing.
- Troubleshoot issues involving flight software, processors, communication buses, simulated hardware, and test equipment.
- Participate in peer reviews, code reviews, technical reviews, and software release activities.
- Collaborate with systems, electrical, test, simulation, mission operations, and other engineering teams.
- Create and maintain software documentation, interface definitions, test records, and configuration‑controlled releases.
Required Qualifications
- Professional experience developing embedded or real‑time software using C and/or C++.
- Experience supporting spacecraft, satellites, scientific instruments, aerospace systems, or another mission‑critical embedded environment.
- Understanding of real‑time operating systems, embedded processors, and hardware/software interfaces.
- Experience with software requirements, design, implementation, integration, debugging, and testing.
- Experience using Linux‑based development environments and software configuration‑management tools such as Git.
- Ability to troubleshoot complex software and system‑level problems.
- Strong written communication, documentation, and cross‑functional collaboration skills.
Preferred Qualifications
- Hands‑on experience with RTEMS.
- Experience developing flight applications using NASA cFS and cFE.
- Experience with spacecraft command‑and‑telemetry systems.
- Familiarity with flight software functions such as fault management, time services, data handling, communications, or subsystem control.
- Experience with communication protocols or interfaces such as SpaceWire, CAN, MIL‑STD‑1553, Ethernet, UART, SPI, or I2C.
- Experience with software‑in‑the‑loop, processor‑in‑the‑loop, or hardware‑in‑the‑loop testing.
- Familiarity with spacecraft software standards, coding standards, configuration management, and formal verification processes.
- Experience with Python or other scripting languages for test automation and development support.
- Bachelor’s degree in computer science, software engineering, computer engineering, electrical engineering, aerospace engineering, or a related technical discipline.
Work Arrangement
This position follows a hybrid schedule in Boulder, Colorado. Candidates must be available to work onsite as needed for engineering collaboration, software integration, and system testing.
Eligible employees may receive medical, dental, and vision insurance, retirement benefits, paid time off, and additional benefits based on employment classification.