Principal Flight Software Engineer Verified today
The Role
You will be responsible for development and verification of software to fly some of the largest spacecraft ever built. You will write mission-critical code controlling propulsion systems, attitude control systems, and power systems to ensure safe and reliable operation.
In your first 6 months, you will develop core pieces of software architecture including fault tolerance strategies, real-time control, and telemetry downlink. In your first year, you will implement larger software systems and verify code using software and hardware-in-the-loop simulators. In your first two years, you will operate your code on multiple spacecraft in demanding missions.
The software team works across a full stack: GNC algorithms (Rust, C++), flight computer applications (Rust, C++), embedded microcontroller software (Rust, C++), operating systems (Rust, C++, C), HDL programming (VHDL, SystemVerilog), and test systems (Python).
Responsibilities
- Create software architecture for real-time, fault tolerant control of a 20kW+ spacecraft
- Develop software applications for control of spacecraft subsystems, including propulsion, guidance/attitude control, thermal, power, and communications systems
- Design and implement state machines for robust operation of the spacecraft
- Create and utilize robust tools to allow for rapid deployment of quality code
- Perform data analysis and anomaly investigation to identify and resolve software bugs
- Support integration and testing of the spacecraft subsystems
- Build and maintain infrastructure to increase reliability when developing and testing software
Required Qualifications
- Bachelor's degree in computer science, computer engineering, electrical engineering, math, or a STEM discipline, or 10+ years of professional experience in software engineering
- Development experience in Rust, C/C++, Python, VHDL, or SystemVerilog
Nice to Have
- Experience with spacecraft flight software development
- Fluency with Linux systems programming and driver development
- Experience with continuous integration and continuous delivery systems
- Experience building or working with hard real-time embedded systems (bare-metal or RTOS)
- Basic knowledge of electronics, computer architecture, and control systems
- Experience developing or working with state machines
- Experience with software verification and testing methods
- Experience with software and network performance analysis and debugging
- Experience with implementing Extended Kalman Filters for inertial sensors
- Experience with fault tolerant software design and implementation
- Experience defining and creating test systems for hardware-in-the-loop and hardware-out-of-the-loop
Compensation and Benefits
- Base salary: $200,000 - $240,000 plus equity
- Salary based on knowledge, skills, education, and experience level
- Comprehensive benefits including paid time off, medical/dental/vision coverage, life insurance, and paid parental leave
Export Compliance
This role requires access to information controlled by U.S. export control regulations (ITAR). You must be a U.S. Person as defined by 22 C.F.R. § 120.15 (U.S. citizen, lawful permanent resident, or protected individual such as refugee or asylee) or eligible for a federally issued export control license.