About the job
At NewOrbit Space, we are on a mission to revolutionize satellite technology by engineering the world's lowest orbiting satellites. Our goal is to significantly enhance global connectivity and provide unprecedented insights.
We are currently developing satellites that will operate at an altitude of only 200 km, one-third the height of conventional satellites. Our innovative propulsion system, AURA, allows us to effectively counter atmospheric drag at these ultra-low altitudes.
Your Role
As a Flight Software Engineer, you will be responsible for the software that governs spacecraft operations, including real-time control flows, autonomy, mode management, and core flight applications that synchronize every subsystem. You will design and implement robust flight-software services on RTOS or Embedded Linux, transforming mission requirements into reliable, testable software. Your work will span from simulation to launch and on-orbit operations, ensuring the safety and efficiency of our VLEO satellites through strong fault tolerance and rapid iteration via over-the-air updates.
Key Responsibilities
Lead the on-board flight software stack – design, implement, and test real-time applications using Rust/C/C++ on RTOS or Embedded Linux.
Integrate subsystems end-to-end – define interfaces and develop drivers/middleware over I2C/SPI/UART/CAN(-FD)/SpaceWire (as necessary).
Develop spacecraft behaviors & autonomy – implement mode management, sequencing, and autonomous fault detection, isolation, and recovery (FDIR) for safe and effective operations.
Ensure reliable real-time performance – manage concurrency, timing, CPU/memory budgets, and observability under stringent constraints.
Create verification infrastructure – build prototypes, SIL/HIL test harnesses, simulations, and telemetry analysis tools for early design validation.
Deploy code from review to orbit – manage CI/CD processes, support integration and launch operations, and deliver secure over-the-air updates.
Collaborate across disciplines – work with avionics, AOCS, communications, and mission teams to balance compute, power, thermal, storage, and link budgets.
Fundamental Requirements
Demonstrated experience in developing production embedded or real-time systems in C/C++ and/or Rust on RTOS or Embedded Linux for aerospace applications.
Solid understanding of real-time software principles: scheduling, interrupts, concurrency primitives, determinism, and designing for limited CPU/memory resources.
