Senior Firmware Engineer
Role details
Job location
Tech stack
Job description
We are looking for a Senior Firmware Engineer to join our team in Atlanta! WHAT YOU'LL DO
- 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
- Implement and share ownership of existing CICD pipelines (evaluation hooks, performance/quality guardrails, and integration surfaces)
- Design and implement fault-tolerant low-level firmware drivers, middleware, and application software for microcontrollers in an RTOS environment (eg, Zephyr), effectively managing concurrency and resource sharing through mutexes, semaphores, message queues, and event flags
- Collaborate on architecture and design emphasizing balance between loosely coupled concepts while considering determinism, complexity, stability, latency, power and memory constraints.
- Build firmware evaluation tools that interrogate code at compile-time and runtime, for quality, ruggedness and performance, in both virtual and on-target environments
- Help select microcontrollers and peripherals and review schematics with electrical engineering team
- Partner cross-functionally (software, hardware, mechanical, test and automation) to debug, profile and harden systems to persist in the face of real-world challenges
Requirements
- BS or MS in CS/CE/EE or equivalent industry experience
- 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 (eg, 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
PREFERRED QUALIFICATIONS
- 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
Benefits & conditions
The salary range for this role is an estimate based on a wide range of compensation factors, inclusive of base salary only. Actual salary offer may vary based on (but not limited to) work experience, education and/or training, critical skills, and/or business considerations. Highly competitive equity grants are included in the majority of Full time offers; and are considered part of Anduril's total compensation package. Additionally, Anduril offers top-tier benefits for Full time employees, including:
At Anduril, we invest in our people. Our comprehensive, competitive benefits package (available at little to no cost to employees) ensures you're supported in health, recovery, and whatever comes next.