Principal / Technologist Firmware Engineer
Job Description
Role Overview
We are seeking a highly skilled Senior Embedded Software Engineer to join our engineering team. This role demands a seasoned professional with deep technical mastery across the full embedded stack — from low-level bare-metal firmware through RTOS-based systems to Linux kernel and application-layer development. The ideal candidate bridges hardware and software domains fluently, bringing hands-on FPGA development experience alongside proven capability in upper-computer (PC/host-side) software. This is a senior individual contributor role requiring independent technical judgment, architectural thinking, and the ability to drive complex projects from concept to production.
Key Responsibilities
● Architect, develop, debug, and optimize firmware and software for embedded platforms spanning bare-metal, RTOS, and embedded Linux environments
● Write and maintain board support packages (BSPs), bootloaders, peripheral drivers, and hardware abstraction layers for microcontrollers and SoCs
● Develop and maintain Linux kernel modules, device drivers, device-tree configurations, and root filesystem customization for embedded Linux targets
● Design, implement, and verify FPGA logic (Verilog/VHDL); collaborate with hardware teams on FPGA-based prototyping, signal processing pipelines, or custom peripheral integration; develop and debug firmware-FPGA interfaces
● Develop host-side applications (C/C++, Python, C#, or Qt-based) for device communication, data acquisition, test automation, calibration tools, and production diagnostics
● Lead board bring-up activities, integrate software/firmware/FPGA components, and drive system-level debugging using oscilloscopes, logic analyzers, JTAG/SWD debuggers, and protocol analyzers
● Profile and optimize system performance (latency, throughput, memory footprint, power consumption); implement robust error handling, watchdog strategies, and fault-tolerant designs
● Provide architectural guidance and code reviews; mentor junior engineers; establish coding standards, documentation practices, and development workflows for the embedded team
● Work closely with hardware, mechanical, test, and product teams to translate system requirements into embedded software specifications and deliver integrated solutions
Requirements
Function: Engineering
Experience Level: Mid-Senior Level