landing_page-logo
Relativity Space logo

Senior Software Engineer, Flight Software

Relativity SpaceLong Beach, CA

Automate your job search with Sonara.

Submit 10x as many applications with less effort than one manual application.1

Reclaim your time by letting our AI handle the grunt work of job searching.

We continuously scan millions of openings to find your top matches.

pay-wall

Job Description

About the Team:

The Vehicle Software team develops the safety-critical software that runs on Terran R. The work spans a distributed, real-time control system operating under extreme conditions like Mach 5 atmospheric flight, with a deployment pace that allows you to see your code run on rocket engines daily. The team is building new system architecture from the ground up and just as importantly, testing, releasing, and deploying it. You don't need an aerospace background: what matters is experience with high-reliability software for complex systems. This is a rare opportunity to shape the foundation of Terran R's software stack while directly influencing performance, reliability, and flight success.

About the Role:

Aerospace experience isn't required. We value driven engineers with strong computer science fundamental who collaborate well to solve meaningful problems.

As a Senior Flight Software Engineer, you will have a major role in the full life cycle of Flight Software from gathering requirements, defining architecture, development, integration to the commissioning and support of test and launch operations. You'll work closely with GNC engineers to integrate complex algorithms for vehicle ascent and re-entry, descent and landing, and closely with Embedded Software Engineers and Avionics to integrate vehicle sensor data such as GPS, IMU, Radar, and to control vehicle equipment such as valves, thrust vector controls, and landing grid fins.

This role is expected to be on-site 3x a week in our Long Beach, CA headquarters.

  • Write concise documentation such as Concept of Operations, Interface Control Documents, and Software Design Documents.
  • Architect and deliver core flight software with a strong focus on meeting system and performance requirements such as latency, allowed jitter, and control frequency.
  • Develop telemetry system that prioritizes, filters, stores and forwards, and encodes/decodes telemetry to RF format, and routes that data through ground stations and to data centers.
  • Support the development and integration of testing infrastructure such as HITL (Hardware-In-The-Loop) and HOOTL (Hardware-Out-Of-The-Loop) and physics and fluid sims.
  • Build automated unit, integration and system level tests in CI/CD.
  • Focus on maximizing the team's velocity by defining processes, best practices, integrating modern tools and technologies, and mentoring junior engineers.

About You:

  • An undergraduate or graduate degree in a relevant engineering discipline (Electrical Engineering, Computer Engineering, Computer Science, Aerospace Engineering) with 5+ years experience of production development experience.
  • Deep professional experience and technical expertise delivering production-level and real time embedded software.
  • Expert in Rust, C++, and/or other system languages, as well as algorithms and data structures.
  • Expert in Linux Operating System concepts such as memory management, CPU shielding, scheduling, etc.
  • Expert in networking concepts such as TCP/IP, UDP.
  • Experience with software development processes including: source control, bug tracking, and CI/CD.

Nice to haves, but Not Required:

  • Experience with developing software to a safety standard and achieving formal certification with a governing body (e.g. NASA, FAA, FDA, etc.).
  • Familiarity with performing Hazard Analysis, FMEA (Failure Mode and Effect Analysis) and Root Cause Analysis, and familiarity with FDIR (Fault Detection Isolation, Recovery) concepts.
  • Experience with developing fault and failure tolerant system and knowledge of voting and internal state synchronization.
  • Experience with systems-level programming like synchronization primitives, memory management, etc.
  • Experience with different inter-process communication methods.
  • Experience with message passing protocol such as flatbuffer or protobuf.

Automate your job search with Sonara.

Submit 10x as many applications with less effort than one manual application.

pay-wall