Senior Linux Kernel Developer | Remote

Remotely
Full-time
Part-time

Are you an accomplished Linux kernel engineer with profound expertise in PCIe subsystems? We're seeking a Senior Linux Kernel Modules Developer to join our innovative team. You'll be responsible for developing sophisticated custom drivers that support and enable ATS/ATC capabilities for devices on the PCIe bus. This role demands exceptional understanding of kernel architecture, driver implementation, and low-level systems programming.


About the Role

In this intellectually stimulating position, you will collaborate directly with our core infrastructure team to design, implement, and maintain critical PCIe driver components that power our high-performance systems. As a Linux kernel specialist, you'll contribute to the development of cutting-edge solutions that enhance PCIe device functionality through advanced address translation services.


Key Responsibilities

- Design and develop custom Linux kernel PCIe drivers to support checking and enabling Address Translation Services (ATS) and Address Translation Cache (ATC) capabilities.

- Architect driver solutions that seamlessly integrate with the existing Linux kernel PCIe subsystem.

- Optimize driver performance for stability, speed, and resource efficiency.

- Debug complex kernel-level issues using advanced diagnostic tools and techniques.

- Implement and maintain proper error handling, logging, and recovery mechanisms.

- Collaborate with hardware engineers to ensure driver compatibility with various PCIe devices.

- Create comprehensive documentation for driver architecture, APIs, and usage patterns.

- Conduct thorough code reviews and participate in technical discussions with the engineering team.

- Stay current with Linux kernel development trends and contribute to open-source projects when appropriate.

- Mentor junior developers in advanced kernel programming concepts and best practices.


Required Skills & Qualifications

- Minimum 7 years of professional C programming experience, with specific focus on Linux kernel development.

- Extensive expertise developing and maintaining Linux kernel modules for version 5.15 and above.

- Comprehensive understanding of PCIe driver architecture, including endpoint drivers, root complex drivers, and bus enumeration.

- Demonstrable experience implementing PCIe device drivers with advanced features like MSI/MSI-X interrupts, DMA operations, and memory-mapped I/O.

- Proficiency with Linux kernel debugging tools (kgdb, ftrace, perf, etc.).

- Strong knowledge of memory management within kernel space.

- Familiarity with the NVMe driver stack and its underlying principles.

- Experience with kernel-level performance optimization techniques.

- Excellent problem-solving skills and attention to detail.

- Proficient English communication skills (B1-B2 level).

- Self-motivated and capable of working effectively in a remote environment.


Nice to Have

- Experience with ATS/ATC implementation in PCIe drivers.

- Understanding of IOMMU architecture and virtualization technologies.

- Knowledge of SR-IOV and PCIe virtualization mechanisms.

- Contributions to the Linux kernel or other open-source projects.

- Familiarity with real-time operating system constraints.

- Experience with PCIe 5.0/6.0 specifications.

- Understanding of CXL (Compute Express Link) technology.

- Knowledge of hardware security modules and trusted execution environments.

- Experience with embedded Linux systems.


Technical Environment

You'll be working with cutting-edge technologies including:

- Linux Kernel (version 6.8+).

- PCIe 6.0 specification and hardware.

- Advanced C programming (C17/C18 standards).

- NVMe 2.0 specification and driver stack.

- Various debugging and profiling tools for kernel development.

- Git for version control and collaborative development.

- CI/CD pipelines for automated testing of kernel modules.


Why Join Our Team

As a valued member of our engineering team, you'll tackle complex technical challenges that push the boundaries of PCIe technology. You'll have the freedom to innovate in a fully remote environment while working alongside talented engineers who share your passion for systems programming. This role offers competitive compensation, flexible working hours, and the opportunity to make significant contributions to critical infrastructure that powers next-generation computing platforms.