Linux Kernel Engineer (Memory Management & Device Drivers)

Anagha Techno Soft
San Jose, CA, United States
3 months ago
Apply on dice.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Working hours
Regular working hours
Job source

Tech stack

Artificial Intelligence C++ (Programming Language) Computer Engineering Data Centers Software Debugging Device Drivers Memory Management Emulators Python (Programming Language) Kernel-Based Virtual Machine Linux Kernel Linux-Powered Devices
+13 more
Open Source Technology PCI Express Performance Tuning Quick EMUlator (QEMU) Reduced Instruction Set Computing System Programming Virtualization Technology JavaScript Pagination Plugin Information Technology Trace32 Restful APIs Grpc Nvme

Job description

  • 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.

Requirements

  • 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., * 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., * MS/BS in Computer Science, Computer Engineering, or related field.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on dice.com
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

4:56 min

Establishing internal service communication with gRPC

Florian Bader Florian Bader · World Congress 2026 Europe

10:40 min

Evaluating automotive software architectures and backend technologies

Georg Kühberger +1 · LIVE

1:11 min

Evaluating architectural trade-offs between REST and gRPC

Sakshi Nasha Sakshi Nasha · Europe 2026 Virtual

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

2:00 min

Overview of gRPC and language-agnostic environments

Max Hausner Max Hausner +1 · World Congress 2025

Videos

See all

Related articles

See all