3+ years of professional embedded C/C++ development experience with firmware that has shipped in a product.
Strong proficiency in C and C++ for embedded systems and firmware development.
Experience developing on STM32 or similar ARM Cortex-M microcontrollers.
Bare-metal and RTOS development experience with NuttX, FreeRTOS, Zephyr, or similar real-time operating systems.
Experience implementing and troubleshooting SPI, I2C, UART, and CAN communications.
Hands-on hardware debugging experience using oscilloscopes, logic analyzers, and JTAG/SWD tools.
Strong understanding of microcontroller architecture, including interrupts, DMA, and timing.
Ability to troubleshoot issues across embedded software, electronics, communications, and system-level integration.
Understanding of the interaction between firmware and custom PCB hardware.
Ability to work collaboratively during board bring-up and system testing.
Strong ownership mentality and willingness to work across traditional engineering boundaries.
Comfort working in a hands-on, product-focused startup environment.
Bachelor's degree in Electrical Engineering, Computer Engineering, Software Engineering, or equivalent demonstrated experience.
Direct PX4 development experience or experience with ArduPilot.
Experience with STM32 HAL/LL and NuttX.
Experience with MAVLink and DroneCAN/UAVCAN communication protocols.
Experience implementing secure boot, cryptographic signing, signed firmware updates, or anti-tamper mechanisms.
Ability to read electrical schematics and participate effectively in PCB design reviews.
Experience with board bring-up and hardware verification.
Experience developing production flashing, testing, and provisioning tools.
Flight testing and post-flight log analysis experience.
Interest in working closely with engineers who design and build the physical product, from electronics through assembly and flight testing.