> Markdown version of [/jobs/ext/4357217-senior-staff-software-engineer-linux-kernel](https://www.wearedevelopers.com/jobs/ext/4357217-senior-staff-software-engineer-linux-kernel). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Senior Staff Software Engineer, Linux Kernel - **Company:** Efficient Computer - **Location:** San Francisco, CA, United States - **Experience:** Expert - **Salary:** $220,000.0 - $270,000.0 - **Contract:** Permanent contract - **Skills:** Artificial Intelligence, ARM Architecture, Unit Testing, Code Coverage, Nvidia CUDA, Computer Programming, Computer Engineering, Microarchitecture, Software Debugging, Linux, Device Drivers, Memory Management, Emulators, Firmware, Data Flow Control, Field-Programmable Gate Array (FPGA), Joint Test Action (IEEE Standards), Kernel Debuggers, Linux Kernel, Quick EMUlator (QEMU), Queue Management Systems, Software Engineering, System Software, Virtual Memory, Data Logging, Scripting, Graphics Processing Unit (GPU), Computer Network Operations, Bug Reporting, Information Technology, Hardware Acceleration, ROCm, Wearables, Programming Languages - **Published:** October 31, 2026 - **Apply:** https://www.careerbuilder.com/job-details/senior-staff-software-engineer-linux-kernel-san-francisco-ca--50359b99-7ff9-42a5-bcfe-50b92762eb36 ## About the Role Software Engineering, Linux Kernel, Programming Languages, Energy Efficiency, Network Operations Center, Wearables, Artificial Intelligence (AI), Software Engineering, Architectural Design, Kernel Programming, * B.S. in Electrical/Computer Engineering, Computer Science, or equivalent; M.S. a plus. * 7+ years of systems software experience, including significant hands-on Linux kernel-mode driver development for complex devices (accelerators, GPUs, NPUs, networking, or storage). * Deep understanding of Linux kernel memory management, including cache coherence, IOMMU/SMMU configuration, and unified or shared virtual memory between CPU and accelerators. * Hands-on experience with QEMU, emulation, or simulation environments, including writing or extending device models and board definitions. * Experience with pre-silicon hardware bring up and first-silicon enablement, working from hardware specifications and register maps before the platform is stable. * Experience designing runtime interfaces between kernel and user space: ABI and HAL design, synchronization, memory sharing, and error handling. * Strong kernel debugging skills across crash analysis, tracing, hardware debuggers, and race and memory-corruption diagnosis. * Fluency with memory-mapped I/O: register-level programming, ordering and barrier semantics, and interrupt handling. * Experience interfacing custom hardware accelerators to Linux. * Strong experience with ARM cores and the ARM architecture (AArch64, exception levels, GIC, SMMU, cache and memory attributes). * Solid understanding of the Linux boot flow: boot firmware, device tree, kernel initialization, and early platform enablement. * Expert C and strong scripting skills; comfortable working with AI-assisted development tools for code, analysis, and debugging., * Experience with FPGA prototyping and hardware emulation platforms (Palladium, Zebu, Veloce, or similar). * Knowledge of dataflow, spatial, or other novel compute architectures, and of how compilers and runtimes target them. * Experience on a first-generation silicon product, where the software stack and the hardware matured together. * Experience working on a CUDA, ROCm, or other language runtime software stack. ## Description This is a key role for the System Software team: you will work closely with architecture, micro-architecture, verification and compiler teams during pre-silicon development and bring-up., * Design, implement, and maintain the Linux kernel-mode driver for the Fabric accelerator. This includes device discovery and probe, MMIO register interfaces, interrupt handling, command and completion queue management, power management, firmware, chip diagnostics, logging and device health, as well as abstracting the user-space ABI with a HAL that the runtime depends on. * Define how custom hardware accelerators are exposed to Linux: ioctl and sysfs interfaces, and the submission and synchronization model between application cores and the Fabric. * Keep the driver clean, upstreamable in style, and portable across kernel and device versions., * Build and maintain QEMU device models and board definitions for the Fabric and its SoC so that the kernel, driver, and runtime can be developed and tested before silicon. * Own the Linux boot path on new platforms: boot firmware handoff, device tree, kernel configuration, early console, and root filesystem, from the first boot in emulation through FPGA prototypes to production silicon. * Lead kernel-side bring up on first silicon: validating MMIO map, interrupts, clocks, resets, and memory against the hardware specification, and turning what you find into bug reports and design feedback for the hardware team. * Be the go-to engineer for kernel debugging across the stack: crash dumps, KGDB and JTAG, ftrace and perf, lockdep and KASAN, and the hard-to-reproduce hangs and memory corruptions that only show up on real hardware. * Establish kernel-level test coverage, including driver unit tests, emulation-based regression suites, and hardware-in-the-loop validation.