Embedded Software Engineer - Launcher
Role details
Job location
Tech stack
Job description
As an Embedded Software Engineer on the Launcher team, you will take full ownership of the firmware architecture for our next-generation hardware products, including field-deployable launchers, ruggedized drone controllers, and long-range RF systems. Operating in resource-constrained MCU environments, you will work hand-in-hand with hardware and mechanical engineers to take products from initial board bring-up all the way through to production-ready field deployment. This role offers a fast-paced environment with high autonomy, no heavy bureaucracy, and a direct, fast feedback loop between design and real-world deployment., Firmware Architecture & Design: Design robust firmware architecture for mixed real-time and control workloads on MCUs using both bare-metal and RTOS environments. Define toolchains and coding standards across multiple products.
- Driver & Protocol Development: Write and maintain low-level drivers for peripherals, sensors, RF modules, and power-management ICs. Implement and debug communication protocols including SPI, I2C, UART, USB, CAN, and RF link protocols.
- Real-Time Control: Implement deterministic real-time control loops and manage interrupts, timing, and scheduling.
- Hardware Bring-up & Debugging: Partner daily with the hardware engineer on board bring-up. Debug systems using oscilloscopes, logic analyzers, and JTAG/SWD debuggers, writing custom bring-up and test scripts when needed.
- Production Maturity & Testing: Own the prototype-to-production firmware maturity path. Build unit tests, hardware-in-the-loop (HITL) testing, and automated test benches to meet test coverage and reliability targets.
- Lifecycle & Security: Develop secure bootloaders and robust, reliable over-the-air (OTA) firmware update mechanisms for assets deployed in harsh environments.
- Cross-Functional Collaboration: Align with Mission Application Developers on telemetry, command, and control interface requirements , and collaborate with Mechanical Engineers on integration, thermal regulation, and shielding constraints.
Requirements
- Education: Master's degree in Electrical/Computer Engineering, Embedded Systems, Computer Science, or an equivalent technical field.
- Experience: 2 to 10+ years of experience (Junior to Senior levels) in embedded software development.
- Production Track Record: Proven experience taking at least one complete embedded product from initial prototype to mass production.
- Core Technical Skills: Proficient in Embedded C/C++ with strong foundations in bare-metal and RTOS development (e.g., FreeRTOS, Zephyr, or equivalent) on MCUs, typically ARM Cortex-M.
- Hardware & Protocols: Deep understanding of MCU peripherals, communication buses (SPI, I2C, UART, USB, CAN), and hands-on laboratory debugging equipment (oscilloscopes, logic analyzers, JTAG/SWD).
- Software Practices: Strong discipline in version control, CI/CD pipelines, and automated firmware test methodologies.
- Mindset: A rigorous, autonomous, and pragmatic professional who balances clean code and thorough validation with delivery speed.
Bonus Points
- Experience developing drone, UAV, remote control, or radio communication firmware.
- Experience designing RF link or wireless protocol firmware.
- Background working with ruggedized, military, or industrial-grade systems.
- Professional familiarity with Rust.