Staff Firmware Engineer
Summary
Staff-level firmware engineer leading next-gen server SoC platform support within the OpenBMC framework, including QEMU emulation, Linux kernel upstreaming, and low-level device driver work.
Job Description
We are seeking a highly skilled, seasoned Staff Engineer to lead the development, and upstream support for our next-generation server SoC (System-on-Chip) hardware. This high-impact role involves hands-on implementation of foundational platform support within the OpenBMC framework and ensuring its accurate emulation meets upstream QEMU requirements.
You will serve as a lead individual contributor, executing the open-source strategy and supporting upstreaming efforts for the Linux Kernel, OpenBMC, and QEMU communities. This position requires deep expertise in modern SoC architecture, low-level platform firmware, and detailed system emulation.
Key Responsibilities
• Implement and upstream QEMU machine/model support for the SoC platform.
• Integrate QEMU-based emulation into the OpenBMC build and CI flows.
• Add and maintain the SoC machine configuration in the OpenBMC tree (device trees, machine configs, board-specific recipes, etc.).
• Work with upstream maintainers to get changes reviewed, accepted, and maintained over time.
• Integrate QEMU-based test scenarios to validate platform functionality (boot, basic services, drivers) for OpenBMC CI and collaborate with QA/DevOps.
• Rebase Linux code base to align with LF OpenBMC, apply kernel fixes from the mainline code base, and community patches as required.
• Debug issues observed in QEMU and Hardware environments, work with the stakeholders to resolve the issues, and apply the patches.
• Handle the technical submission and review cycle for patches, working directly with subsystem maintainers to successfully land foundational code for the new SoCs.
Qualifications
• Education: Bachelor’s degree in computer science, Computer Engineering, or a related technical field, or equivalent practical experience.
• 10+ years of experience in Linux kernel and device driver development.
• Experience using emulation/virtualization tools (preferably QEMU, Docker) for system bring-up or testing.
• Good understanding of hardware interfaces relevant to BMCs: I²C, SPI, GPIO, UART, eMMC, eSPI, PCIe ,watchdogs, sensors, etc.
• Prior contributions to OpenBMC, QEMU, or Linux kernel.