Staff Engineer, Linux Device Drivers
Qualcomm
About the Role
The Qualcomm Cloud AI team is seeking a Linux device driver engineer for QCR-100 and related accelerators, which are designed to accelerate image reprocessing and AI workloads.
Key Responsibilities
- Develop and extend Linux kernel driver code for:
- PCIe device setup
- Firmware loading
- MHI bus
- DMABUF importation
- DMA transfers
Requirements & Tech Stack
- Experience with Linux kernel driver development, kernel modules, sysfs, and debugging techniques.
- Experience with development in C.
- Experience with git.
- Willingness to work in a structured software development environment.
- Ability to work on low-level implementation (code & test).
Familiarity (Beneficial)
- SoC systems including bus subsystems, DMA, PCIe and peripherals, synchronization mechanisms, and low-speed peripherals.
Desirable Skills And Aptitudes
- 6+ years of relevant experience.
- Experience with Linux kernel PCIe stack.
- DKMS-based management of kernel modules.
- DEB or RPM packaging.
- TCP/IP understanding (MTU, IP addressing, DHCP, kernel networking/netdev).
- Strong understanding of DMA, IOMMU.
- Experience with 'SoC-as-a-Device' architectures or embedded Linux systems connected via PCIe.
Minimum Qualifications
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.
- OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.
- OR PhD in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
- 2+ years of work experience with Programming Language such as C, C++, Java, Python, etc.

