Staff Engineer, Device Drivers (San Diego or Boulder, CO)

Qualcomm

San Diego, CA

JOB DETAILS
SKILLS
Artificial Intelligence (AI), C Programming Language, C++ Programming Language, Cloud Computing, Computer Science, Debugging Skills, Device Drivers, Financial Control, Git, High Reliability, Information Technology & Information Systems, Java, K Virtual Machine (KVM), Kernel Programming, Linux Drivers, Linux Kernel, Linux Kernel Drivers, Machine Learning, Memory Hardware, PCI, PCI Express (PCI-E), Peripheral Hardware, Programming Languages, Python Programming/Scripting Language, Realtime Operating System, Simulation, Software Development, Software Engineering, Source Code/Configuration Management (SCM), System-on-a-Chip (SoC), Systems Reliability, Use Cases, Virtualization
LOCATION
San Diego, CA
POSTED
2 days ago

Company: Qualcomm Technologies, Inc.Job Area: Engineering Group, Engineering Group > Software EngineeringGeneral Summary: The Qualcomm Cloud AI team 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 upstreaming the code.Familiarity with development of functional simulation of SoC systems including 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 techniquesExperience with development in C.Knowledge of RTOS, SoC architecture (core, cache, memory, bus architecture, IOs, etc.) and common hardware blocksExperience with Source Code and Configuration management tools, git knowledge is requiredWillingness 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 experiencePCIe virtualization, SRIOVExperience with Linux kernel PCIe stackFamiliar with high speed interfaces such as PCIe and LPDDRFamiliar with implementing systems with high reliability expectations such as use of ECC, PCI AER fieldsExperience working with and familiarity with important SOC building blocks like interrupt controller & timersExperience with kernel subsystems relevant to isolation and securityStrong understanding of DMA, IOMMU, and device assignment in virtualized/isolated contextsProficiency with virtualization: KVM and guest/host split driversMinimum Qualifications: Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.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.EEO Statement: Qualcomm is an equal opportunity employer; all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or any other protected classification. Qualcomm is committed to providing an accessible process for individuals with disabilities and may be contacted at disability-accomodations@qualcomm.com for accommodation requests.Pay range and Other Compensation & Benefits: $134,800.00 - $202,200.00Additional compensation includes a competitive annual discretionary bonus program and opportunity for annual RSU grants.#J-18808-Ljbffr

About the Company

Q

Qualcomm