Senior Staff Firmware Engineer
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.
About the job
Responsibilities
- Lead the firmware engineering team and represent firmware priorities in cross-functional design discussions.
- Partner with Electrical, Mechanical, Software, and Systems Engineering to design, validate, and ship products.
- Write drivers and state machines for custom PCBs in collaboration with electrical engineering.
- Build firmware within mechanical design constraints.
- Integrate firmware into the software update pipeline, help develop firmware build systems, and debug firmware-to-software communication.
- Debug test hardware and resolve customer issues.
- Write firmware to actuate smart hardware devices, including sensor integration, signal processing, motor control, and feedback control system design.
- Develop and maintain real-time C/C++ firmware on TI/ARM platforms using TI-RTOS.
- Build unit, board, and regression tests in C++ and Python using test-driven development.
- Define and implement firmware development best practices.
- Mentor junior engineers and support electrical and systems engineers working in firmware.
Requirements
- Bachelor's degree in Electrical Engineering, Computer Engineering, Software Engineering, or a related field.
- 7+ years of firmware engineering experience.
- Deep experience with C, C++, and Python.
- Strong understanding of analog and digital circuits, including the ability to read electrical schematics and relate them to firmware tasks.
- Experience with TI microcontrollers and communication interfaces such as USB, I2C, SPI, UART, and custom serial protocols.
- Proficiency with version control systems such as Git.
- Skill in circuit- and system-level debugging using multimeters, oscilloscopes, logic analyzers, and other bench equipment.
- Demonstrated technical leadership or mentorship experience within an engineering team.
Preferred Qualifications
- Experience with Altium Designer.
- Familiarity with Field-Oriented Control (FOC) of PMSM motors.
- Experience with in-circuit testing of PCBAs.
- Ability to troubleshoot board-level issues alongside electrical engineering.
- Experience with Protobuf and nanopb.
- Bootloader or similar OTA update tools development experience.
Compensation and Benefits
- Compensation range: $182,400–$314,400 per year.
- The targeted hiring midpoint range is $228,000–$262,000, based on experience, work location, certifications, and relevant skills.
- Eligible employees receive equity, benefits, and time-off programs.
Skills
C, C++, Python, Ti-Rtos, Arm, Ti Microcontrollers, Usb, I2C, Spi, Uart, Git, Altium Designer, Protobuf, Nanopb, Motor Control
Similar jobs
Embedded Engineering jobsResearch 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 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.
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.
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.