SUMMARY
Summary:
Lead the development of real-time flight software for a launch vehicle, driving the design and implementation of low-level systems that ensure reliable, deterministic performance across bare-metal, RTOS, and embedded Linux environments. This role is critical to the success of avionics systems, requiring deep integration between hardware and software to support mission-critical functions. The ideal candidate will own the full software lifecycle from board bring-up and firmware development to integration with GNC, hardware, and systems teams ensuring robustness, safety, and high performance under stringent real-time constraints.
Responsibilities:
- Develop, integrate, and test real-time flight software for launch vehicle avionics systems
- Design and implement low-level drivers and interface layers for digital communication protocols (SPI, I2C, UART, RS232/422/485, CAN, Ethernet)
- Implement and debug firmware across bare-metal, RTOS (e.g., FreeRTOS), and embedded Linux platforms
- Architect deterministic task scheduling, state machines, and fault-tolerant logic for safety-critical avionics applications
- Interface with sensors (IMUs, pressure, temperature), actuators, and flight computers
- Lead board bring-up and debugging using oscilloscopes, logic analyzers, JTAG/SWD, and in-system debuggers
- Collaborate closely with GNC, hardware, and systems engineering teams to implement real-time control loops and communication protocols
- Write modular, portable, and testable embedded C/C++ code adhering to software quality and safety standards
- Support simulation integration (SIL/HIL) and validation activities with hardware and test teams
Requirements - 6-8 years of experience in embedded software development for real-time and safety-critical systems
- Expertise in Embedded C/C++, memory management, and peripheral-level programming
- Proven experience with bare-metal, RTOS (e.g., FreeRTOS), and embedded Linux environments
- Deep knowledge of communication protocols including SPI, I2C, UART, RS232/422/485, CAN, and Ethernet
- Familiarity with PTP, TSN (Time Sensitive Networking), and deterministic Ethernet stacks
- Proficiency in using oscilloscopes, logic analyzers, JTAG/SWD, and in-system debuggers
- Experience with build systems (Make, CMake), version control (Git), and CI/CD workflows
- Demonstrated ability to write robust, deterministic, and efficient code under strict real-time constraints