Umbra

Embedded Flight Software Engineer (Rust)

Umbra$135K — $165K *
Aerospace & Defense
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • Bachelor's degree in Computer Science, Computer Engineering, or a related field.
  • 3+ years of high-reliability software development experience using Rust or C/C++.
  • 1+ years developing concurrent code with asynchronous Rust.
  • 3+ years of embedded software development experience with Rust or C/C++.
  • Experience programming on embedded ARM cores in Linux, RTOS, or bare-metal environments.
  • Strong understanding of processor architecture and code optimization.

Responsibilities

  • Collaborate with a cross-disciplinary engineering team to develop reliable, fault-tolerant flight and payload software.
  • Implement software to interface with spacecraft subsystems and ground systems hardware.
  • Develop command and control software for spacecraft operations and peripheral electronics.
  • Contribute to test campaigns ranging from unit testing to automated system-level testing.
  • Create and maintain comprehensive documentation for software operations and system component interfaces.
  • Take on additional duties as assigned.

Benefits

  • Flexible Time Off, Sick, Family & Medical Leave
  • Comprehensive medical, dental, vision, life, and disability insurance (employer funded)
  • Option for Voluntary Life, Critical Illness, Accidental, Hospital Indemnity, and Pet Insurance (employee funded)
  • 401k with a 3% non-elective company contribution
  • Stock options
  • Free daily lunch in the office
  • Free parking
Full Job Description
About the Job

We 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.

Requirements

Required 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 Transparency
This 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 Range

The Compensation Range for this role is $135,000 - $165,000 DOE.

About Umbra

Umbra is a computer hardware company that specializes in developing high-performance rendering software and hardware for the gaming and entertainment industries. The company was founded in 2006 and is headquartered in Ottawa, Canada. Umbra's technology is used by some of the world's leading game developers and studios to create immersive and realistic gaming experiences. The company's products include software tools for real-time rendering, as well as hardware solutions for high-performance graphics processing. Umbra's mission is to help game developers and studios create the most realistic and immersive gaming experiences possible.
Learn more about Umbra
Size
50 employees
Industry
Founded
2006

Similar Jobs

More Jobs at Umbra

More Aerospace & Defense Jobs

Find similar Embedded Flight Software Engineer (Rust) jobs: