Senior Flight Software Engineer (Rust)

UmbraReston, VA
6h$160,000 - $200,000

About The Position

We are seeking a Senior Flight Software Engineer who possesses expertise 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. Our aim is to hire this position to work in either our Santa Barbara/Goleta, CA office, Arlington, VA office, or Reston, VA office (coming soon).

Requirements

  • Bachelor's degree in Computer Science, Computer Engineering, or a related field.
  • 5+ years of proven experience in high-reliability software development with Rust or C/C++.
  • 2+ 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.

Nice To Haves

  • Advanced degree in Computer Science, Computer Engineering, or related field, with 8+ years of experience.
  • Comfortable working in a fast-paced, dynamic development environment.
  • Familiarity with Python programming.
  • Experience working within an agile development framework.
  • Knowledge of hardware interfaces such as Ethernet, SPI, I2C, UART, and PCIe.
  • Experience with software used in autonomous, fault-critical systems.
  • Background in developing, deploying, and maintaining software product lines.
  • Knowledge of dynamics and control systems.
  • Able to travel up to 10-20%.

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.

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
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service