01Overview
Job Description:
Job Summary
Lead development of real-time flight software for a launch vehicle. Responsible for low-level interfacing, protocol stacks, scheduling, and reliable execution on embedded processors under bare-metal, RTOS, and Linux. Requires 68 years experience in embedded systems, deep hardware-software integration skills, and strong command over C/C++.
Key Responsibilities
Develop, integrate, and test real-time flight software for launch vehicle avionicsWrite low-level drivers and interface layers for digital communication protocols
(SPI, I2C, UART, RS232/422/485, Ethernet)
Implement and debug firmware on bare-metal, RTOS (e.g., FreeRTOS), and embedded Linux platformsDesign deterministic task scheduling, state machines, and fault-tolerant logic for critical avionicsInterface with sensors (IMUs, pressure, temperature), actuators, and flight computersOwn board bring-up, debugging using oscilloscopes, logic analyzers, and JTAGWork closely with GNC, hardware, and systems engineers to implement real-time control loops and communication protocolsWrite modular, portable, and testable embedded C/C++ code with adherence to software quality standardsSupport simulation integration (SIL/HIL) and validation efforts with hardware teams
DESIRED SKILLS AND QUALIFICATIONS
68 years of experience in embedded software development for real-time and safety-critical systemsStrong proficiency in Embedded C/C++, memory management, and peripheral programmingHands-on experience with bare-metal, RTOS, and embedded Linux developmentExpertise in protocols like SPI, I2C, UART, RS232/422/485, CAN, EthernetFamiliarity with PTP, TSN (Time Sensitive Networking) and deterministic Ethernet stacksProficiency in working with oscilloscopes, logic analyzers, JTAG/SWD, and in-
system debuggers
Familiarity with build systems (Make/CMake), version control (Git), and CI/CD workflowsAbility to write robust and deterministic code under real-time constraints
Nice to Have
Experience in developing fault-tolerant architectures, watchdog recovery, voting logicExposure to safety-critical development processes (e.g., DO-178C, MISRA)Experience with unit testing frameworks, static/dynamic analysis toolsFamiliarity with containerized builds (Docker), cross-compilation, and DevOps in embedded projectsPrior experience in space / medical / automotive systemsExposure to Rust programming language for embedded or safety-critical systems is a plus .