Staff Engineer, Device Drivers; San Diego or Boulder
Listed on 2026-07-01
-
Software Development
Unix/Linux, C++ Developer
Software Engineer For Linux Device Driver
Qualcomm CR&D is looking for a software engineer for Linux device driver for Machine Learning use cases. The development target is Qualcomm high-performance inference accelerator AI 100 and related products.
The candidate will help work on developing code for Linux device drivers and help with up streaming the code.
Familiarity with development of functional simulation of SoC systems included bus subsystems, DMA, PCIe and peripherals, synchronization mechanisms such as semaphores as well as low speed peripherals will be beneficial.
Required Skills and Aptitudes:
- Experience with Linux kernel driver development, kernel modules, HWMon, sysfs and debugging techniques
- PCIe virtualization, SRIOV
- Experience with embedded development in
C. - Knowledge of RTOS, SoC architecture (core, cache, memory, bus architecture, IOs, etc.) and common hardware blocks
- Experience with Source Code and Configuration management tools, git knowledge is required
- Willingness to work in a structured software development environment with ability to work on low-level implementation (code & test)
Desirable Skills and Aptitudes:
- 4+ years of relevant experience
- Experience with Linux kernel PCIe stack.
- Familiar with high speed interfaces such as PCIe and LPDDR
- Familiar with implementing systems with high reliability expectations such as use of ECC, PCI AER fields.
- Experience working with and familiarity with important SOC building blocks like interrupt controller & timers
- Experience with kernel subsystems relevant to isolation and security.
- Strong understanding of DMA, IOMMU, and device assignment in virtualized/isolated contexts.
- Proficiency with virtualization: KVM and guest/host split drivers.
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.
Pay range and Other Compensation & Benefits: $ - $
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).