Flight Software Engineer (Rust) Verified today
About Umbra
Umbra is an American space technology company delivering advanced systems from sensors to spacecraft. We operate three business units: Remote Sensing (data), Space Systems (components), and Mission Solutions (platforms). Our mission is to redefine space for people, systems, and missions in every domain.
About the Space Systems Team
Space Systems develops and delivers mission-ready core technology for our own SAR constellation. The team is vertically integrated across satellite architecture, designing, building, and testing power systems, communications, control systems, deployment hardware, avionics, payloads, and flight software. Every component is flight-proven on our constellation, ensuring reliability where failure is not an option.
The Role
You will develop and deliver embedded flight software in Rust for Umbra missions. Your responsibilities include:
- Formulate and specify software requirements
- Design robust software architecture
- Write and implement code for flight systems
- Lead system integration and testing
- Provide mentorship in software design and code reviews
- Oversee documentation and flight software integration with hardware
- Conduct unit testing to ensure reliability and performance
- Collaborate with cross-disciplinary teams to design fault-tolerant flight and payload software
- Implement software meeting requirements while managing interfaces with spacecraft subsystems and ground systems
- Develop command and control software for spacecraft operations, payloads, and peripheral electronics
- Participate in test campaigns from unit-level to automated system-level testing
Required Qualifications
- Bachelor's degree in Computer Science, Computer Engineering, or related field
- 3+ years proven experience in high-reliability software development with Rust or C/C++
- 1+ years developing concurrent code with asynchronous Rust
- 3+ years embedded software development with Rust or C/C++
- Programming on embedded ARM cores supporting SoC architectures in Linux, RTOS, or bare-metal environments
- Strong understanding of processor architecture with ability to optimize code for performance and memory usage
- Experience leading software development processes including version control, CI/CD, bug tracking, and design documentation
Desired Qualifications
- Advanced degree in Computer Science, Computer Engineering, or related field with 5+ years relevant experience
- Experience with autonomous, fault-critical systems
- Familiarity with Python programming
- Background in developing, deploying, and maintaining software product lines
- Knowledge of hardware interfaces such as Ethernet, SPI, I2C, UART, and PCIe
- Experience with kernel development using Yocto
- Knowledge of dynamics and control systems
- Ability to travel up to 10-15%
- Comfortable working in fast-paced, dynamic development environment
Compensation and Location
Base salary range: $135,000 - $165,000 depending on experience.
This position is based on-site in one of three locations: Santa Barbara/Goleta, CA; Arlington, VA; or Reston, VA.
Benefits
- Flexible time off, sick, family and medical leave
- Medical, dental, vision, life, LTD, STD (employer funded)
- 401k with 3% non-elective company contribution
- Stock options
- Free parking
- Free lunch daily in office
Employment Requirements
This position may include access to technology and data subject to U.S. export controls (ITAR/EAR). Applicants must be a U.S. citizen, U.S. national, U.S. lawful permanent resident, refugee, or asylee, or eligible to obtain required authorizations from the U.S. Department of State and/or Commerce.
