Senior Linux Kernel Developer | PCIe Driver Specialist | Remote

Remotely
Full-time
Part-time
We are seeking an experienced Senior Linux Kernel Developer with specialized expertise in PCIe driver structures to join our innovative engineering team. In this role, you will be responsible for developing sophisticated custom drivers that support and enhance ATS/ATC capabilities for devices on the PCIe bus. This position requires deep technical knowledge of Linux kernel architecture and exceptional C programming skills to create efficient, reliable kernel modules for mission-critical applications. Key Responsibilities: - Design and develop custom Linux kernel modules focusing on PCIe driver functionality for modern Linux kernels (6.x+), ensuring compatibility across distributions. - Implement and optimize drivers to support checking and enabling Address Translation Services (ATS) and Address Translation Cache (ATC) capabilities of devices on the PCIe bus. - Debug and troubleshoot complex kernel-level issues in a systematic and efficient manner, utilizing advanced debugging techniques and tools. - Collaborate with cross-functional teams to integrate driver solutions with broader system architecture and hardware platforms. - Perform code reviews and mentor junior developers on kernel development best practices, emphasizing code quality and performance. - Create comprehensive documentation for all kernel module implementations, including API specifications and usage guidelines. - Continuously research and stay updated on the latest Linux kernel developments, PCIe specifications, and industry standards. - Optimize drivers for performance, reliability, and compatibility across various hardware configurations and workloads. - Implement robust error handling and recovery mechanisms to ensure system stability in production environments. - Participate in technical discussions regarding architecture decisions and future development roadmaps. Required Skills and Experience: - 7+ years of professional experience with C programming in systems-level contexts with demonstrable efficiency and optimization skills. - Extensive experience developing Linux kernel modules with proven contributions to complex driver implementations. - Deep understanding of PCIe driver structure, transaction layers, and implementation techniques for modern hardware. - Thorough knowledge of Linux kernel architecture, subsystems, memory management, and development workflow. - Familiarity with kernel debugging tools and methodologies, including ftrace, kprobes, and dynamic debugging. - Experience with version control systems, particularly Git, and understanding of collaborative development workflows. - Awareness of NVME driver stack architecture, command queuing, and working principles in high-performance storage systems. - Good command of English (B1-B2 level) for effective communication with the global team and documentation purposes. - Self-motivated with the ability to work independently in a remote environment while maintaining high productivity. - Strong problem-solving skills and analytical thinking to tackle complex kernel and hardware interaction issues. Nice to Have: - Experience with DMA and memory mapping in kernel space, including scatter-gather operations and zero-copy techniques. - Knowledge of virtualization technologies (KVM, Xen) and their interaction with kernel modules for optimized performance. - Contributions to open-source Linux kernel projects or other system-level open-source initiatives. - Familiarity with PCIe 5.0/6.0 specifications and implementation considerations for next-generation hardware. - Experience with SR-IOV and other PCIe virtualization techniques for efficient resource allocation. - Understanding of hardware security modules, secure boot processes, and kernel security best practices. - Knowledge of real-time operating system constraints and development approaches for deterministic behavior. - Experience with performance profiling and optimization of kernel-level code in high-throughput systems. - Familiarity with embedded systems and resource-constrained environments for specialized applications. Why Join Our Team: Working with us, you'll have the opportunity to tackle challenging low-level system programming projects that push the boundaries of hardware capabilities. You'll collaborate with talented engineers while enjoying the flexibility of remote work and a healthy work-life balance. We offer competitive compensation commensurate with your experience, opportunities for professional growth through continued learning, and the chance to contribute to cutting-edge technology solutions that power next-generation computing systems. Our inclusive culture values technical excellence, innovation, and the diverse perspectives that lead to breakthrough solutions.