Flight Software Engineer

Matter IntelligenceEl Segundo, CA

About The Position

We are looking for a Flight Software Engineer with strong software fundamentals, real embedded or flight software experience, and the judgment to build robust systems under practical constraints. This role sits close to the hardware and close to the mission: you will help define how onboard systems collect data, manage resources, handle failures, and move information from sensor to storage to downlink. In this role, you will work across the full stack of flight software, from low-level interfaces and concurrency primitives to application-level services and end-to-end test infrastructure. You will be expected to reason clearly about trade-offs, debug across hardware and software boundaries, and build systems that are simple enough to trust when the environment gets messy. As an early member of the team, you will also help shape the engineering culture around flight software: how we write interfaces, test behavior, document assumptions, review designs, and balance first-principles rigor with pragmatic execution. What you’ll do You will build and maintain the software that enables Matter’s sensing systems to operate reliably in constrained, real-world environments. The work spans embedded Linux, onboard data handling, hardware interfaces, concurrency, fault handling, test infrastructure, and integration with broader mission systems. You will collaborate closely with hardware, avionics, science, and data teams to turn ambiguous requirements into clear designs and production-quality implementations. You will help create software that can be exercised in simulation, validated in hardware-in-the-loop environments, and trusted as the system matures toward flight. Design, implement, and maintain flight software services for sensing payload operations, onboard data handling, resource management, and system coordination Build robust interfaces to hardware and lower-level systems, including drivers, protocol integrations, and debugging tools when needed Develop software for embedded Linux environments, including Jetson-class devices and constrained compute targets Reason carefully about concurrency, bounded memory, performance, and failure modes in systems where correctness and operational safety matter Build and improve data paths for collection, compression, storage, and downlink, balancing throughput, latency, reliability, and power constraints Partner with hardware and avionics teams to debug hardware/software interactions and bring up new system capabilities Use simulation, software-in-the-loop, and hardware-in-the-loop testing appropriately to validate behavior at the right level of fidelity Improve build, test, and release workflows, including reproducible builds, automated testing, static and dynamic analysis, and artifact traceability Write clean interfaces, useful explanatory comments, and design documentation that make the system easier for future teammates to understand and extend

Requirements

  • Professional experience building flight software, embedded systems, or similarly constrained software where reliability, debuggability, and performance matter.
  • Comfortable working close to the hardware, but also care about higher-level architecture, maintainability, and the developer experience of the systems around you.
  • Can debug across the full stack: hardware interfaces, threads and processes, filesystems, compression, protocols, and test infrastructure.
  • Know when to reach for simulation, when to move to hardware, and how to use both without fooling yourself.
  • Communicate well across disciplines and can work with hardware, software, and science teammates to resolve integration challenges.
  • Proactive about unblocking issues, giving and receiving constructive feedback, and making thoughtful trade-offs under time pressure.
  • 2–6+ years of professional flight software, embedded software, or closely related systems experience
  • Strong programming skills in Python and either C++ or Rust
  • Experience with multi-threading, memory management, performance optimization, and constrained-system design
  • Hands-on experience with build systems such as CMake or Make, cross-compilation toolchains, and embedded Linux
  • Experience with low-level communication protocols, hardware/software debugging, and fault-tolerant system design
  • Strong instincts for testing, reproducibility, observability, and clean software interfaces
  • Comfort reasoning about concurrency trade-offs, including bounded memory, locking strategies, lock-free approaches, and static analysis
  • Judgment when using AI-assisted coding tools such as Claude Code or Cursor, with an emphasis on reducing technical debt rather than accelerating it
  • A first-principles approach to problem solving, with the pragmatism to ship robust solutions instead of waiting for perfect ones

Nice To Haves

  • Experience designing and maintaining CI/CD pipelines, automated test systems, static or dynamic analysis workflows, and artifact traceability, especially in GitLab
  • Experience with hardware-in-the-loop testing, simulation infrastructure, or fidelity-based test strategies for embedded or flight systems
  • Experience architecting onboard data paths under real-world constraints, including filesystems, compression, buffering, downlink, latency, throughput, and power budgets
  • Proven ownership of projects from requirements through design, implementation, test, deployment, and operational support
  • Experience working with sensors, payload systems, avionics, robotics, satellites, aerospace systems, or other hardware-rich environments
  • Genuine curiosity about geospatial systems, sensing, and building software with real-world physical impact

Responsibilities

  • Design, implement, and maintain flight software services for sensing payload operations, onboard data handling, resource management, and system coordination
  • Build robust interfaces to hardware and lower-level systems, including drivers, protocol integrations, and debugging tools when needed
  • Develop software for embedded Linux environments, including Jetson-class devices and constrained compute targets
  • Reason carefully about concurrency, bounded memory, performance, and failure modes in systems where correctness and operational safety matter
  • Build and improve data paths for collection, compression, storage, and downlink, balancing throughput, latency, reliability, and power constraints
  • Partner with hardware and avionics teams to debug hardware/software interactions and bring up new system capabilities
  • Use simulation, software-in-the-loop, and hardware-in-the-loop testing appropriately to validate behavior at the right level of fidelity
  • Improve build, test, and release workflows, including reproducible builds, automated testing, static and dynamic analysis, and artifact traceability
  • Write clean interfaces, useful explanatory comments, and design documentation that make the system easier for future teammates to understand and extend
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service