Flight Software Engineer
EraDrive
About the role
About EraDrive
EraDrive builds autonomy software and hardware that let spacecraft see, decide, and act with minimal human supervision. Our software is already flying on multiple satellites. Era-Node is our autonomous software+hardware payload for optical positioning, navigation and timing, and we are growing the team that will build its flight software.
The role
You will own the architecture, implementation, and verification of Era-Node’s flight software. You will work closely with GNC engineers and embedded software engineers and you will be the technical authority on how the flight software is structured, built, tested, and updated.
What you will do
Define the flight software architecture, including the framework or executive it is built on, and document the reasoning
Design the core services: command and telemetry, data management, event and message handling, timing, and health monitoring
Design and implement fault detection, isolation, and recovery procedures, including mode management and safe-mode behavior
Define and maintain interface control documents for Era-Node’s integration with the host spacecraft and onboard avionics
Maintain the continuous integration pipeline and software-in-the-loop and hardware-in-the-loop test environments
Set coding standards for deterministic, bounded-resource flight code and enforce them in CI
Package and integrate the software with the host platform, working alongside the GNC engineers who own the algorithm flight code and the embedded engineers who own hardware-to-software interfaces
What you bring
5+ years of professional experience in flight software for satellite buses or satellite payloads
Strong C++ and C skills on embedded Linux, including PREEMPT_RT or comparable real-time configurations, device drivers, and boot and update flows
Hands-on experience with a flight software framework (for example cFS or F´), or with designing command and data handling software from scratch
Experience with fault management, telemetry and command design, and interface control documents
Experience with software-in-the-loop and hardware-in-the-loop testing
Comfort reading and integrating research-grade code written by scientists and engineers
Clear technical writing and communication skills
Bonus
Experience with space environment effects on software, such as radiation-induced faults and mitigation
Familiarity with CCSDS standards
Experience integrating star trackers, cameras, or precision timing hardware
Background in orbital mechanics or spacecraft GNC
Responsibilities
- Define and document the architecture for Era-Node flight software.
- Design core services for command and telemetry, data management, event handling, timing, and health monitoring.
- Implement fault detection, isolation, recovery, mode management, and safe-mode behavior.
- Maintain interface control documents for integration with host spacecraft and onboard avionics.
- Maintain CI pipelines and software-in-the-loop and hardware-in-the-loop test environments.
- Set and enforce coding standards for deterministic, resource-bounded flight software.
- Integrate flight software with the host platform alongside GNC and embedded software engineers.
Qualifications
- 5+ years of professional flight software experience for satellite buses or payloads.
- Strong C and C++ skills on embedded Linux, including real-time configurations, device drivers, and boot and update flows.
- Experience with a flight software framework such as cFS or F´, or designing command and data handling software.
- Experience with fault management, telemetry and command design, and interface control documents.
- Experience with software-in-the-loop and hardware-in-the-loop testing.
- Ability to read and integrate research-grade code, with clear technical writing and communication skills.
- Bonus: experience with radiation effects, CCSDS standards, spacecraft sensors or precision timing hardware, or orbital mechanics and GNC.
Skills mentioned
About EraDrive
Autonomy for Every Spacecraft