×
Register Here to Apply for Jobs or Post Jobs. X

Senior Software Engineer, Linux Kernel

Job in San Jose, Santa Clara County, California, 95199, USA
Listing for: Efficient Computer
Full Time position
Listed on 2026-10-12
Job specializations:
  • Software Development
    Embedded Software Engineer, Software Engineer, Unix/Linux
Salary/Wage Range or Industry Benchmark: 220000 - 270000 USD Yearly USD 220000.00 270000.00 YEAR
Job Description & How to Apply Below
Position: Senior Staff Software Engineer, Linux Kernel

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, up streamable 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 file system, 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…
Position Requirements
10+ Years work experience
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
 
 
 
Search for further Jobs Here:
(Try combinations for better Results! Or enter less keywords for broader Results)
Location
Increase/decrease your Search Radius (miles)
0
200
Filters
Education Level
Experience Level (years)
Posted in last:
Salary