About the role
Develop a common driver framework, including Linux kernel drivers, that spans multiple layers to support the Platform Device of DPU products built on FPGAs and SoCs across x86 and Arm host servers. This role leads bring-up, designs hardware/software interfaces, and optimizes data and control paths for network and storage offload PCIe cards.
What you'll do
- Design, develop, and harden Linux kernel drivers for card management, PCIe/MMIO/DMA, and network interfaces (NIC).
- Build a common driver framework isolating hardware differences to support multiple FPGA/SoC vendors and revisions from a single codebase.
- Lead bring-up of new FPGA designs, boards, and SoCs, co-debugging HW/SW boundary issues with hardware and firmware teams.
- Profile data and control paths, interrupts, and DMA to identify and eliminate performance bottlenecks.
- Develop card management functions and CLI tools for monitoring, firmware updates, diagnostics, and host-to-card communication across resets and hot-plug events.
- Support multiple Linux distributions and kernel versions via driver packaging and CI integration.
What you'll need
- BS or higher in Computer Science, Electrical Engineering, or a related field, or equivalent practical experience.
- 3+ years of system software development experience across industry and research projects.
- Proficiency in C and Linux systems programming, with hands-on experience developing Linux kernel modules or device drivers.
- Technical understanding of kernel memory management, concurrency control, and PCIe device operations (BAR/MMIO, interrupts, DMA).
- Experience reproducing issues and isolating root causes across user space, kernel space, and hardware using logs and debugging tools.
- Ability to read, write, and discuss technical documentation and system designs in English.
Nice to have
- Experience developing drivers for PCIe devices such as NICs, DPUs, SmartNICs, or AI accelerators, or optimizing network data-path performance.
- Understanding of the Linux networking stack (netdev, ethtool, devlink) and kernel subsystems such as hwmon, auxiliary bus, and VFIO.
- Experience bringing up FPGA-based (AMD/Xilinx, Altera) or SoC-based products.
- Experience with embedded Linux environments (e.g., Yocto) and host-to-embedded-SoC communication.
- Experience developing server PCIe card management functions (sensor/power monitoring, firmware updates, fault recovery, BMC integration).
- Experience maintaining and packaging drivers across multiple kernel versions and distributions (DKMS, deb/rpm), or contributions to the mainline Linux kernel.
- Experience with, or interest in, Rust-based kernel modules (Rust for Linux).
More semiconductor jobs: Embedded software jobs
First seen in our index 3 days ago, well below the 67-day median for Systems Software Engineering roles.
Systems Software Engineering · Systems Software
|
Open roles in category
706
|
Median days since first seen
67 d
|
Category median salary (all employers)
$220k
|
See the full market breakdown ▾Category comparison, and who else is hiring
| Metric | MangoBoost | All employers we track in this specialty (706 roles · 75 employers) |
|---|---|---|
| Open roles in this specialty | 3 | 706 |
| Open roles in the wider Software, Firmware & Systems family | 10 | 6558 · 157 employers |
| Median days since first seen | 3 d | 67 d (+64 d vs this employer) |
| Median salary (USD postings) | n/a | $220k |
Who's hiring in this category
- NVIDIA · 169 open roles · median 56 d
- Qualcomm · 161 open roles · median 85 d
- AMD · 66 open roles · median 60 d
- Arm Holdings · 33 open roles · median 14 d
- Mobileye · 24 open roles · median 97 d
- Keysight Technologies · 15 open roles · median 39 d
How we counted: 706 open Systems Software Engineering (Systems Software) roles from 75 employers tracked in the SemiconductorJobs index, counted 11 Nov 2026. Specialty figures count only roles carrying this exact specialty label, so an employer's related work in neighbouring specialties is not included there, and is counted in the wider Software, Firmware & Systems family row. Days are counted from when our index first saw each posting, not from the employer's original posting date.