Senior Linux Kernel Engineer (Memory Management & Device Drivers) | Contract | Almost Remote (Hybrid - San Jose, CA - Onsite once in a Month)
Job Title: Senior Linux Kernel Engineer (Memory Management & Device Drivers)
Location: Almost Remote (Hybrid - San Jose, CA - Onsite once in a Month)
Local Candidates in California Only
Contract
Job Overview
We are seeking a highly skilled Senior Linux Kernel Engineer to join the Systems Software team, focusing on next-generation AI and data center platforms. This role involves deep kernel development, memory management innovation, and close collaboration with hardware teams to enable high-performance SoC and storage solutions.
Key Responsibilities
- Design and optimize Linux kernel memory management (paging, allocation, HugePages, page cache, LRU).
- Develop and maintain Linux device drivers for high-speed interfaces such as PCIe (Gen5/6), NVMe, and accelerator hardware.
- Work on heterogeneous memory systems, including UVM, memory tiering, and CXL-based memory expansion.
- Enable and optimize virtualization environments using KVM and QEMU (IOMMU, interrupt handling, memory virtualization).
- Collaborate with hardware teams on SoC bring-up, register definitions, and memory architecture (ARMv9 / RISC-V).
- Perform low-level debugging and performance tuning using kernel tracing tools, hardware debuggers (TRACE32), and emulation platforms.
- Contribute to system-level architecture and resolve complex performance and memory-related issues.
Required Skills & Qualifications
- Strong expertise in Linux Kernel Development, especially Memory Management (MM subsystem).
- Hands-on experience with device driver development (PCIe, NVMe, or similar high-speed interfaces).
- Deep understanding of low-level programming in C/C++ (Assembly is a strong plus).
- Solid knowledge of hardware-software interaction, including DMA, cache coherency, and memory subsystems.
- Experience with virtualization technologies (KVM, QEMU, IOMMU).
- Strong debugging skills in complex, low-level environments.
Preferred Skills
- Experience with CXL (Compute Express Link) or next-gen memory architectures.
- Exposure to Python, gRPC, or REST APIs for tooling, automation, or integration.
- Familiarity with ARM or RISC-V architectures.
- Contributions to mainline Linux kernel or open-source projects.
- Knowledge of AI/ML or data center workloads at the system level.
Education
- MS/BS in Computer Science, Computer Engineering, or related field.