Staff Engineer, Embedded Firmware
Develop embedded firmware and software architectures for UAV avionics, integrating RTOS platforms, sensors, autonomy systems, and hardware-in-the-loop testing. The role requires staff-level embedded development expertise in C/C++, bare-metal systems, Linux or RTOS bring-up, and a STEM degree.
About the job
Responsibilities
- Develop high-quality C/C++ code for UAV aircraft, emphasizing performance, reliability, and safety.
- Maintain and refine firmware to support new hardware, features, and capabilities.
- Integrate real-time operating systems with custom systems-on-module hardware.
- Develop flight-control firmware for robotic vehicles and convert legacy bare-metal software to RTOS-based systems.
- Create CI/CD pipelines with automated testing for embedded systems.
- Participate in architecture, design, and code reviews.
- Integrate firmware, software verification, autonomy AI, and ground control station software.
- Develop interfaces for avionics sensors, subsystems, and payloads.
- Define and extend software architectures and systems engineering processes.
- Design testing systems for virtualized hardware and hardware-in-the-loop simulations.
- Build tools that improve software deployment, test execution, and data analysis in continuous integration and release workflows.
- Create prototypes to validate design concepts and technical feasibility.
- Coordinate software development through testing, verification, release, and deployment.
- Report project status, risks, accomplishments, and expectations to senior leadership.
- Collaborate with production teams manufacturing UAVs in-house.
Requirements
- Extensive software development experience in C/C++.
- Experience developing bare-metal firmware for embedded systems.
- Linux kernel or RTOS development experience, including device trees and bring-up on new hardware.
- Familiarity with thread-safe, multithreaded programming.
- Demonstrated ownership of development processes and software features.
- Proven ability to ship products and deliver high-quality solutions in fast-paced environments.
- Bachelor’s, master’s, or doctoral degree in systems engineering, software engineering, computer science, or another STEM discipline such as aerospace, mechanical, or electrical engineering.
Nice-to-haves
- Experience with autonomous robotic systems, including motor control.
- Experience in startup or research and development environments.
- Adaptability and ability to innovate under changing project demands.
Skills
C++, C, Embedded Systems, Bare-Metal Firmware, Linux Kernel, Rtos, Device Trees, Multithreading, CI/CD, Automated Testing, Hardware-In-The-Loop, Avionics Sensors, Motor Control, Uavs
Similar jobs
Embedded Engineering jobsLeads requirements, architecture, integration, performance characterization, and validation for autonomous-vehicle platform systems. Requires systems engineering experience, expertise in robotics and HIL or on-road testing, plus C++, Python, and MATLAB proficiency.
Research and develop guidance, navigation, and control algorithms for high-performance aircraft, including vehicle dynamics modeling and control-system optimization. The role requires a relevant engineering degree, 7+ years of related experience, production C++, MATLAB, Simulink, and eligibility for a SECRET clearance.
Leads firmware architecture and a technical team developing real-time embedded control systems for smart hardware. The role requires 7+ years of firmware experience, strong C/C++ and Python skills, circuit-level debugging expertise, and technical leadership.
Develop and integrate embedded Linux software for cellular and wireless connectivity in autonomous vehicles, including modem vendor integration, protocol-stack debugging, telemetry, and performance optimization. Requires 10+ years of embedded wireless experience and strong C/C++ and Linux skills.
Leads the Linux kernel team’s technical direction while designing virtualization and low-level systems for GPU-accelerated AI and HPC workloads. Requires 10+ years of systems software experience, deep kernel expertise, strong C skills, and technical leadership experience.