Umbra is hiring a Flight Software Engineer to play a key role in delivering embedded flight software for our missions. You will develop requirements, design software architecture, write code, and oversee system integration and testing.
What You'll Do
- Collaborate with a cross-disciplinary engineering team to design, develop, and maintain reliable, fault-tolerant flight and payload software.
- Architect and implement software solutions to meet high-level system requirements while managing interfaces with multiple spacecraft subsystems and ground systems.
- Create and maintain detailed documentation for software operation and interfaces with other system components.
- Develop and test command and control software for spacecraft flight payloads and peripheral electronics.
- Contribute to and lead test campaigns, including unit testing and automated tests at both subsystem and system levels.
- Present high level technical concepts simply and clearly to non-technical audiences.
- Take on additional professional duties as assigned.
What We're Looking For
- Associate's degree in Computer Science, Computer Engineering, or a related field.
- 3+ years of proven experience in architecting and developing high-reliability software with Rust or Modern C/C++.
- 3+ years of embedded software development with Rust or Modern C/C++.
- 2+ years developing concurrent code with asynchronous Rust.
- Proficient working within Linux, RTOS, or bare-metal environments.
- Experience leading software development processes, including version control, bug tracking, and design documentation.
- Experience building and maintaining Continuous Integration (CI) pipelines, automated testing and build/release processes, and static/dynamic analysis tools.
- Comfortable working in a fast-paced, highly communicative and dynamic development environment.
- Comfortable with travel up to 10%.
Nice to Have
- Advanced degree in Computer Science, Computer Engineering, or related field, with 10+ years of experience.
- 7+ years of proven experience in architecting and developing high-reliability software with Rust or Modern C/C++.
- 3+ years with space system development, including space and ground segments.
- 3+ years with software used in autonomous, fault-critical systems.
- Hands-on experience with kernel development using Yocto.
- Strong understanding of processor architecture, with the ability to optimize code for performance and memory efficiency.
- Experience programming on embedded ARM cores supporting SoC architectures in Linux or bare-metal environments.
- Familiarity with Python programming.
- Knowledge of dynamics and control systems.
- Knowledge of hardware interfaces such as Ethernet, SPI, I2C, UART, and PCIe.
- Background in developing, deploying, and maintaining software product lines.
Technical Stack
- Rust, Modern C/C++, Linux, RTOS, Yocto, ARM, Python, Ethernet, SPI, I2C, UART, PCIe
Team & Environment
You will be part of the Space Systems business unit, which is vertically integrated across the satellite architecture.
Benefits & Compensation
- Compensation: $140,000 - $170,000 DOE + Stock Options
- Flexible Time Off, Sick, Family & Medical Leave
- Medical, Dental, Vision, Life, LTD, STD (employer funded)
- Vol Life, Critical Illness, Accidental, Hospital Indemnity, Pet Insurance (employee funded)
- 401k with 3% non-elective company contribution
- Stock Options
- Free Parking
- Free lunch daily in office
Work Mode
This is an onsite position in Santa Barbara/Goleta, CA, Arlington, VA, or Reston, VA.
Umbra is an Equal Opportunity Employer. We do not discriminate in hiring on the basis of sex, gender identity, sexual orientation, race, color, religious creed, national origin, physical or mental disability, protected veteran status, or any other characteristic protected by federal, state, or local law.


