About the JobWe are seeking a
Flight Software Engineer who possesses experience in Rust programming language to take an active role in the development and delivery of embedded flight software specifically tailored for Umbra missions. In this pivotal role, you will be tasked with a range of critical responsibilities, including but not limited to the formulation and specification of software requirements, the comprehensive design of robust software architecture, and the actual writing and implementation of code. You will take lead responsibility for the essential processes of system integration and testing, ensuring that all components function seamlessly together.
In addition to your core development responsibilities, you will also be expected to provide expert guidance and mentorship in various aspects of software design, code development, and peer code reviews. Your role will include oversight of thorough documentation practices and the meticulous integration of the flight software with flight hardware, which encompasses conducting unit testing to ensure reliability and performance. Your contributions will be vital to the success of our missions, driving innovation and excellence in software engineering within our team.
This position is based on-site in either our Santa Barbara/Goleta, CA office, Arlington, VA office, or Reston, VA office.Key Responsibilities- Collaborate with a cross-disciplinary engineering team to design, develop, and maintain reliable, fault-tolerant flight and payload software.
- Implement software to meet requirements while managing interfaces with multiple spacecraft subsystems and ground systems hardware.
- Develop command and control software for spacecraft flight operations, payloads, and peripheral electronics.
- Participate in and contribute to test campaigns, from unit-level testing to automated system and subsystem-level testing.
- Create and maintain documentation for software operation and interfaces with other system components.
- Take on additional professional duties as assigned.
RequirementsRequired Qualifications- Bachelor's degree in Computer Science, Computer Engineering, or a related field.
- 3+ years of proven experience in high-reliability software development with Rust or C/C++.
- 1+ years developing concurrent code with asynchronous Rust.
- 3+ years of embedded software development with Rust or C/C++.
- Experience programming on embedded ARM cores supporting SoC architectures in Linux, RTOS, or bare-metal environments.
- Strong understanding of processor architecture, with the 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 of relevant experience.
- Comfortable working in a fast-paced, dynamic development environment.
- Experience with software used in 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.
- Able to travel up to 10-15%.
Benefits- 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
Pay TransparencyThis job posting may cover multiple career levels. To ensure greater transparency, we provide base salary ranges for all roles, regardless of location. Our standard pay ranges are based on the role's function and level, benchmarked against similar growth-stage companies. Compensation may vary based on geographical location, as certain regions may have different cost-of-living factors. The final offer will also be influenced by the candidate's skills, responsibilities, and relevant experience.
Compensation RangeThe Compensation Range for this role is $135,000 - $165,000 DOE.