Senior Firmware Engineer

Anduril Anduril · Defense · Atlanta, GA · Tactical Recon & Strike : Launched Effects Engineering : TRS Electrical Engineering - Firmware

Senior Firmware Engineer at Anduril Industries, a defense technology company, developing production firmware for aerial drones and related systems. The role involves integrating embedded Linux, designing low-level drivers, middleware, and application software for microcontrollers in an RTOS environment, and building firmware evaluation tools. Requires strong C/C++ skills, RTOS experience, and debugging proficiency. The company's products utilize an AI-powered operating system and focus on autonomy and computer vision.

What you'd actually do

  1. Develop and ship production firmware for avionics, launch and ground support solutions, integrating with embedded Linux-based software and electro-mechanical end-to-end systems
  2. Implement and share ownership of existing CICD pipelines (evaluation hooks, performance/quality guardrails, and integration surfaces)
  3. Design and implement fault-tolerant low-level firmware drivers, middleware, and application software for microcontrollers in an RTOS environment (e.g., Zephyr), effectively managing concurrency and resource sharing through mutexes, semaphores, message queues, and event flags
  4. Collaborate on architecture and design emphasizing balance between loosely coupled concepts while considering determinism, complexity, stability, latency, power and memory constraints.
  5. Build firmware evaluation tools that interrogate code at compile-time and runtime, for quality, ruggedness and performance, in both virtual and on-target environments

Skills

Required

  • BS or MS in CS/CE/EE or equivalent industry experience
  • 7+ years of experience in firmware/embedded software development, with a focus on embedded systems.
  • Strong C or C++ coding ability for embedded systems
  • Experience integrating microcontrollers with analog and digital sensors
  • Extensive experience with popular RTOS platforms and a strong understanding of real-time scheduling algorithms and task management
  • Experience developing firmware in bare-metal environments
  • Solid understanding and application of coding best practices, board bring up and debugging
  • Debugging skills with JTAG, SWD, Oscilloscopes, and Logic analyzers
  • Familiarity with common bus protocols such as USB, SPI, I2C, CAN, RS232, RS485, Ethernet, etc.
  • Experience running unit tests, nightly build hardware in the loop validations, static code analysis
  • Experience operating and deploying Continuous Integration Tools (ie. Jenkins, CircleCI, JFrog Artifactory) and automatic build environments (Ninja, Cmake, Makefiles, etc.)
  • U.S. Persons status is required as this position needs to access export controlled data

Nice to have

  • Experience with one or more microcontroller cores (ARM, AVR, MSP430, PIC, etc.)
  • Have a bias for action. If you see a problem, you want to solve and fix it
  • Experience developing custom boards within the Zephyr RTOS ecosystem
  • Be naturally curious about the technologies and tools you use

What the JD emphasized

  • U.S. Persons status is required as this position needs to access export controlled data