● 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