About the Role
The Role
We're looking for a Senior Flight Software Engineer to own the software that flies on our spacecraft. You'll be responsible for the payload flight software—written in Rust—spanning attitude and pointing state machines, on-board command handling, and telemetry and data storage. Today this work is distributed across several engineers; we need a senior technical owner to unify the architecture, set the patterns and conventions the team builds on, and drive the software toward a near-term on-orbit demonstration.
Responsibilities
- Serve as the technical lead and owner for payload flight software, from architecture through on-orbit operations
- Design, develop, and test flight software in Rust for attitude and pointing state machines, command handling, and telemetry/data storage
- Define the software architecture, coding patterns, and conventions adopted across the flight software team
- Establish and uphold the bar for flight-quality software: determinism, fault tolerance, testability, and safe behavior under failure
- Design and implement fault detection, isolation, and recovery (FDIR) behaviors at the software level
- Build and maintain automated test infrastructure, including simulation and hardware-in-the-loop (HIL) testing
- Collaborate closely with GNC, avionics, electrical, and systems engineers to define interfaces and system behavior
- Support spacecraft integration, environmental test campaigns, and launch and early-orbit operations
- Investigate anomalies across hardware/software boundaries, perform root cause analysis, and drive fixes to closure
- Mentor engineers on the team and review designs and code to raise overall software quality
- Help drive the team toward a near-term on-orbit demonstration, making pragmatic scope and risk tradeoffs along the way
Basic Qualifications
- 5+ years of experience (or equivalent practical experience) developing flight software or software for other high-reliability, safety-critical systems
- Experience with software that has flown on orbit, or equivalent deployment experience demonstrating judgment about what flight-quality software requires
- Strong systems programming skills in Rust, C, or C++, with willingness to work primarily in Rust
- Experience with real-time and embedded systems, including resource-constrained and fault-tolerant designs
- Experience designing and implementing state machines, command/telemetry handling, or similar spacecraft software functions
- Experience with hardware/software integration and testing on real hardware
- Demonstrated ability to lead technically: setting architecture, establishing conventions, and mentoring other engineers
Preferred Qualifications
- Bachelor's or advanced degree in Computer Science, Computer Engineering, Aerospace Engineering, or a related field
- Prior experience as a technical lead or architect for a spacecraft flight software effort
- Production Rust experience, particularly in embedded or systems contexts
- Experience with attitude determination and control or pointing systems from the software side
- Experience with FDIR design, redundancy management, and autonomous fault response
Requirements
Flight Software Development
5+ years of experience developing flight software or high-reliability systems.
Rust Programming
Strong systems programming skills in Rust, with a willingness to work primarily in Rust.
Real-time Systems
Experience with real-time and embedded systems, including fault-tolerant designs.
State Machines
Experience designing and implementing state machines and command handling.
Hardware Integration
Experience with hardware/software integration and testing on real hardware.
Nice to Have
Prior experience as a technical lead or architect for spacecraft flight software.
Bachelor's or advanced degree in a relevant engineering field.
Experience with Rust in embedded or systems contexts.
Benefits
Equity
Employees may receive equity as part of their compensation.
Health Insurance
Comprehensive health insurance plans are provided.
Remote Work
Flexible work arrangements may be available.