Senior Staff Software Engineer, Linux Kernel

Efficient Computer

San Jose (CA)

On-site

USD 220,000 - 270,000

Full time

2 days ago
Be an early applicant
Application generator

Turn this role into an interview — a resume and cover letter built around what this employer wants.

Get past ATS filters

Benefits offered by this job

Competitive base salary
Annual bonus
Equity
401(k) match
Comprehensive benefits

Job summary

Efficient Computer is building energy-efficient, general-purpose processors based on the Fabric architecture. We seek a Senior Staff Linux Kernel Driver Engineer to own the kernel-mode driver, bring up silicon in QEMU and emulation, and collaborate with architecture, verification, and compiler teams to deliver a day-one runtime.

You will lead kernel bring-up, define device interfaces, and ensure an upstreamable, portable driver across kernel versions while enabling memory sharing and SMMU

Qualifications

  • BS in Electrical/Computer Engineering, Computer Science, or equivalent; MS a plus.
  • 7+ years of systems software experience with Linux kernel driver development.
  • Deep understanding of Linux kernel memory management and IOMMU/SMMU.
  • Hands-on with QEMU, emulation, or simulation environments.
  • Experience with pre-silicon bring-up and first-silicon enablement.
  • Experience designing kernel-to-user interfaces: ABI and HAL.
  • Strong kernel debugging skills across crash analysis and tracing.
  • Fluency with memory-mapped I/O and interrupt handling.
  • Experience interfacing custom accelerators to Linux.
  • Strong experience with ARM cores and the ARM architecture.

Responsibilities

  • Design, implement, and maintain the Linux kernel-mode driver for the Fabric accelerator including MMIO, interrupts, CQ management, and HAL interfaces.
  • Define Linux exposure of custom hardware accelerators via ioctl and sysfs; model synchronization with application cores.
  • Ensure driver is upstreamable and portable across kernel/device versions.
  • Implement unified memory model between ARM cores and Fabric accelerator; own SMMU integration.
  • Lead pre-silicon bring-up: QEMU models, boot path, and early platform enablement.
  • Be the go-to kernel debugging expert across the stack with crash dumps, KGDB, and memory analysis.
  • Establish kernel-level test coverage and regression suites.

Skills

Linux kernel
C programming
ARM AArch64
QEMU/emulation
Kernel debugging
Boot firmware
Device tree
IOMMU/SMMU
First-silicon bring-up

Education

B.S. in Electrical/Computer Engineering or CS

Tools

QEMU
Emulation/simulation
JTAG

Job description

Efficient Computer is rethinking computing from the ground up to solve one of AI's biggest challenges: energy. Our Fabric architecture delivers a 10-100x improvement in energy efficiency for general-purpose computation, including AI, while supporting familiar programming languages and software frameworks-unlocking new possibilities for autonomous machines, intelligent infrastructure, wearables, and space systems. With our first processor, Electron E1, now shipping in volume and more than $97 million in Series B financing recently announced, we’re accelerating customer deployments and scaling our architecture to data center performance. Join us to build the hardware and software that bring intelligence wherever it's needed and help shape the next generation of computing.
Efficient Computer is building the next generation of energy efficient, general-purpose processors designed around the Fabric architecture, a novel spatial dataflow design spun out from decades of fundamental SOC research at CMU.
We are looking for a Senior Staff Linux Kernel Driver Engineer to own the kernel-mode driver that brings our Fabric to life. You will bring up new silicon from the very first boot, often before the silicon exists, working in QEMU, functional simulation, emulation, and FPGA environments to make sure our runtime software layers work on day one.
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.

Key Responsibilities
  • 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.
  • Implement the unified memory model between ARM cores and the Fabric accelerator.
  • Own SMMU (IOMMU) integration: stream and context configuration, tensor pool allocation, page table management, stage-1 and stage-2 translation, shared virtual addressing, and fault handling.
Drive Pre-Silicon Bringup and Platform Enablement
  • 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.
Required Qualifications
  • 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.
Desired Qualifications
  • 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.

We offer a competitive base salary for this role, generally ranging from $220,000 to $270,000, plus a 10% annual bonus, meaningful equity, and comprehensive benefits. Final compensation will depend on experience, level, and location, with flexibility for the right candidate.

Why Join Efficient?

Build what's next. At Efficient, you'll tackle big challenges with room to take ownership and make an impact. We back you with competitive pay, equity, a 401(k) match, company-paid benefits, paid parental leave, and flexibility-plus opportunities to grow your skills and career as we scale.

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Senior Staff Software Engineer, Linux Kernel
Senior Staff Software Engineer, Linux Kernel

Efficient Computer • Pittsburgh, San Francisco (CA)

On-site
USD 220,000 - 270,000
Competitive base salary
Equity
401(k) match
+3
Senior Staff Software Engineer, Linux Runtime & Drivers
Senior Staff Software Engineer, Linux Runtime & Drivers

Linuxconfig • Northern (KY)

Hybrid
USD 220,000 - 270,000
Competitive salary
Equity
401(k) match
+2
Senior Staff Software Engineer, Linux Runtime & Drivers
Senior Staff Software Engineer, Linux Runtime & Drivers

Efficient Computer • San Jose (CA)

On-site
USD 220,000 - 270,000
Competitive base salary
Equity
401(k) match
+3
Senior Staff Software Engineer, Linux Runtime & Drivers
Senior Staff Software Engineer, Linux Runtime & Drivers

efficientcomputer • San Francisco (CA)

On-site
USD 180,000 - 240,000
Senior Software Optimization Engineer
Senior Software Optimization Engineer

Efficient Computer • San Jose (CA)

On-site
USD 160,000 - 210,000
401K match
Company-paid benefits
Equity program
+2
Lead Digital Design Engineer
Lead Digital Design Engineer

Efficient Computer • San Jose (CA)

On-site
USD 160,000 - 270,000
401K match
Equity program
Paid parental leave
+1
Field Application Engineer
Field Application Engineer

Efficient Computer • San Francisco (CA), Pittsburgh

On-site
USD 160,000 - 230,000
Computer Architect
Computer Architect

Efficient Computer • San Jose (CA)

On-site
USD 160,000 - 230,000
Competitive base salary
10% annual bonus
Equity program
+4
Lead RTL Design Engineer
Lead RTL Design Engineer

Efficient Computer • Austin (TX)

On-site
USD 200,000 - 275,000
Equity
401(k) match
Paid parental leave
+1
Software Technical Program Manager
Software Technical Program Manager

Efficient Computer • Austin (TX), Pittsburgh, San Francisco (CA)

On-site
USD 200,000 - 260,000
Competitive base salary
Equity
401(k) match
+3