Drone Embedded Systems Engineer
The job description
Tech stack. C/C++ embedded, RTOS (FreeRTOS, NuttX), ARM Cortex-M, device drivers (SPI/I2C/UART/CAN), PX4 firmware, bootloader development, debugging with JTAG/SWD, MISRA awareness
About the role
You will join a drone technology company writing the firmware that runs on the aircraft itself: flight controller code, sensor drivers, and real-time systems where timing is safety. You work close to the hardware, where every microsecond and every byte matters. When your code is right, the aircraft responds instantly and predictably; when it is wrong, nothing else in the system matters, which is why this role carries real responsibility. You will also contribute to the company's embedded coding standards and shared firmware libraries, raising code quality across every team that ships software to aircraft. You will also own the bootloader and failsafe logic that recovers the aircraft from corrupted firmware, since a bricked flight controller in the field is a lost aircraft.
What you will achieve
- Develop and maintain flight-critical embedded firmware, delivering features and fixes with the rigor and review discipline the domain demands.
- Reduce in-flight software faults by driving disciplined testing practices: unit tests, hardware-in-the-loop regression, and high standards for embedded code review.
- Improve system responsiveness by optimizing real-time performance: task scheduling, interrupt latency, and sensor pipeline timing end to end.
- Bring up new hardware quickly by writing clean board support packages and device drivers for sensors and peripherals.
- Shorten debug cycles by building better tooling: structured logging, telemetry hooks, and diagnostics that make field issues reproducible in the lab.
What you will bring
Must-haves
- 2-5 years of experience developing embedded firmware in C/C++ for real-time systems with real hardware consequences.
- Strong RTOS fundamentals: task scheduling, synchronization primitives, interrupt handling, and worst-case timing analysis.
- Experience with ARM Cortex-M microcontrollers, including peripheral configuration and low-level debugging with JTAG or SWD.
- Proficiency writing device drivers for SPI, I2C, UART, and CAN interfaces from datasheets and reference manuals.
- Familiarity with flight controller firmware ecosystems such as PX4 on NuttX, or equivalent safety-relevant embedded platforms.
- Disciplined approach to testing and code quality in memory- and compute-constrained environments.
- Bachelor's degree in electrical engineering, computer engineering, or computer science.
Nice-to-haves
- Experience with bootloader development and secure firmware update mechanisms for fielded devices.
- Knowledge of MISRA C guidelines or similar safety-critical coding standards.
- Background in sensor fusion or control algorithms running on embedded targets.
- Experience with dual-core or heterogeneous SoC architectures for flight computers.
Anduril
Skydio
Shield AI
Zipline
DJI
AeroVironment