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
Stand Out From the Crowd
Upload your resume and get instant feedback on how well it matches this job.
Job Type
Full-time
Career Level
Senior
Education Level
No Education Listed