Senior Software Engineer (Linux Kernel & Device Drivers)

Senior Software Engineer (Linux Kernel & Device Drivers)

Posted 4 days ago by Anagha Techno Soft

Negotiable
Undetermined
Remote
Remote

Summary: The Senior Software Engineer role focuses on driving software-hardware co-design for Client AI and data center solutions, with an emphasis on Linux Kernel Memory Management. The position requires expertise in heterogeneous memory, virtualization, and high-bandwidth interconnects for advanced SoC and SSD platforms. Candidates should possess a strong background in memory management, kernel and driver design, and system-level debugging. This role is remote and requires significant experience in the field.

Key Responsibilities:

  • Architect and optimize Linux kernel memory management for heterogeneous systems, including UVM, memory tiering, and CXL-based memory expansion.
  • Lead the design of Linux device drivers for high-performance interfaces such as PCIe Gen5/6, NVMe, and proprietary AI accelerators.
  • Develop and tune KVM and QEMU support for IOMMU, interrupt virtualization, and hardware-assisted memory management.
  • Partner with hardware architects to define registers and memory maps for upcoming ARMv9 and RISC-V silicon.
  • Resolve critical system bottlenecks and memory corruption issues using advanced tools like Lauterbach TRACE32, hardware emulators, and kernel profilers.

Key Skills:

  • MS in Computer Science, Computer Engineering, or a related field.
  • Expert knowledge of the Linux MM subsystem (paging, swapping, HugePages, page cache, and LRU eviction policies).
  • Deep understanding of PCIe/CXL protocol stacks, cache coherency, and DMA engines.
  • Expert proficiency in C and Assembly (ARM/x86); experience with Python for automation and performance modeling.
  • Familiarity with hardware security features like TrustZone, ARM CCA, and memory protection units.

Salary (Rate): undetermined

City: undetermined

Country: undetermined

Working Arrangements: remote

IR35 Status: undetermined

Seniority Level: undetermined

Industry: IT

Detailed Description From Employer:

Job Title: Senior Software Engineer Linux Kernel & Device Drivers

Location: Remote
Experience: 5 to 15 years (depending on grade)

job Overview:

As a Senior Engineer in the Systems Software team, you will drive the software-hardware co-design for Client AI and data center solutions. This role requires a visionary approach to Linux Kernel Memory Management, specifically focused on heterogeneous memory, virtualization, and high-bandwidth interconnects for our next-generation SoC and SSD platforms.

Key Responsibilities:

  • Memory Management R&D: Architect and optimize Linux kernel memory management for heterogeneous systems, including UVM (Unified Virtual Memory), memory tiering, and CXL-based memory expansion.
  • Kernel & Driver Design: Lead the design of Linux device drivers for high-performance interfaces such as PCIe Gen5/6, NVMe, and proprietary AI accelerators.
  • Virtualization & Hypervisors: Develop and tune KVM and QEMU support for IOMMU, interrupt virtualization, and hardware-assisted memory management.
  • SoC Bring-up & Architecture: Partner with hardware architects to define registers and memory maps for upcoming ARMv9 and RISC-V silicon.
  • System-Level Debugging: Resolve critical system bottlenecks and memory corruption issues using advanced tools like Lauterbach TRACE32, hardware emulators (Palladium/Zebu), and kernel profilers.

Technical Skills & Qualifications

  • Education: MS in Computer Science, Computer Engineering, or a related field.
  • Kernel Deep-Dive: Expert knowledge of the Linux MM subsystem (paging, swapping, HugePages, page cache, and LRU eviction policies).
  • Hardware Interface Mastery: Deep understanding of PCIe/CXL protocol stacks, cache coherency (AMBA CHI/ACE), and DMA engines.
  • Low-Level Programming: Expert proficiency in C and Assembly (ARM/x86); experience with Python for automation and performance modeling.
  • Security & Reliability: Familiarity with hardware security features like TrustZone, ARM CCA, and memory protection units

Preferred Experience:

  • Significant contributions to the mainline Linux Kernel (specifically in the mm/ or drivers/pci/ directories).
  • Experience with Cloud and Data Center workloads and understanding their impact on kernel scheduling and memory latency.
  • Exposure to Python , gRPC and REST API would preferred
  • Knowledge of Machine Learning frameworks and how they interact with kernel-level memory allocators.