Kernel Driver Software Engineer
EtchedJob Title
Kernel Driver Software Engineer
Role Summary
Develop and maintain kernel-mode device drivers for ML accelerators, focusing on low latency, high throughput, reliability, and security. Work closely with hardware and software teams across hardware-software co-design, verification, and production deployment.
This is an in-person role based in San Jose (Santana Row) contributing to driver architecture, performance optimization, debugging, and production validation.
Experience Level
Mid-level (Level - Mid-Career). Typical experience: approximately 3β7 years working on kernel or systems software and device drivers.
Responsibilities
Primary responsibilities include development, optimization, debugging, and validation of kernel drivers for accelerator devices.
- Design, implement, and maintain kernel-mode drivers with emphasis on reliability and clear debugging information.
- Optimize driver performance for ML workloads to minimize latency and maximize throughput.
- Implement and support device virtualization (SR-IOV, VFIO, para-virtualization) and secure device access.
- Implement efficient kernel memory management, page table configuration, NUMA-aware caching, and IOMMU setup.
- Design synchronization mechanisms for concurrent access to multiple accelerators.
- Diagnose and resolve complex driver and system-level issues using kernel debugging tools (ftrace, dmesg, kgdb, etc.).
- Develop and execute test plans, benchmarking, and profiling to validate functionality and performance in manufacturing and production.
- Collaborate with hardware engineers during ASIC design reviews to optimize performance and power.
Requirements
Must-have technical skills and experience are listed first; followed by desirable qualifications.
- Proficiency in C/C++ and kernel-mode driver development.
- Strong understanding of OS internals (Linux preferred) and kernel debugging tools.
- Experience with hardware/software interfacing and device drivers, including PCIe.
- Experience with memory management in kernel contexts: kernel mappings, page tables, NUMA, IOMMU.
- Experience with device virtualization technologies such as SR-IOV and VFIO.
- Experience designing synchronization for concurrent device access and multi-accelerator systems.
- Familiarity with version control (Git) and common debugging tools (gdb, kgdb, ftrace, dmesg).
- Strong analytical skills and ability to diagnose complex hardware/software interactions; effective communication and collaboration skills.
Nice-to-have:
- Experience developing GPU or other accelerator drivers and with GPU programming models (CUDA, OpenCL).
- Experience optimizing drivers for ML workloads and using profiling tools (perf, VTune).
- Experience with containerized and virtualized deployments (Kubernetes, Docker) and CI/CD pipelines.
- Experience with Rust for systems programming.
- Experience implementing advanced virtualization or para-virtualization techniques and security/attestation for devices.
Education Requirements
Not specified.
About the Company
Company: Etched
Headquarters: San Jose, CA, United States
Etched develops purpose-built AI inference ASICs and systems optimized for transformer models, aiming to deliver significantly higher performance, lower cost, and lower latency than GPUs. The company focuses on enabling applications like real-time video generation and advanced reasoning agents, and is backed by leading investors and engineers.
