Senior Linux Peripheral Software Engineer; Onsite at our Santa Clara Office
Listed on 2026-05-31
-
Software Development
Software Engineer, C++ Developer, Embedded Software Engineer
Company
Qualcomm Technologies, Inc.
Job AreaEngineering Group, Engineering Group >
Software Applications Engineering
As a Linux Peripheral Software Engineer, you will be responsible for the design, development, integration, and customer support of peripheral subsystems on Qualcomm platforms. This role focuses on USB and low‑speed peripheral interfaces such as I2C, I3C, SPI, as well as MIPI‑based protocols, enabling robust connectivity and functionality across customer products.
You will work closely with customers to review peripheral bus requirements, analyze system‑level use cases, and translate those requirements into software design and implementation. The role involves hands‑on kernel and driver development, debugging, and optimization in Linux and Android environments, as well as on‑site customer support to bring‑up, validate, and resolve peripheral‑related issues on development platforms.
You will be involved in customizing, enabling, and optimizing Qualcomm software for customer programs, supporting new hardware bring‑up, and troubleshooting complex protocol‑level issues across USB, QUP‑based peripherals, and MIPI interfaces. Strong collaboration with hardware, architecture, validation, and customer engineering teams is expected.
The ideal candidate has strong C/C++ programming skills, solid experience with Linux kernel and device driver development, and deep familiarity with peripheral protocols and buses. The candidate should be self‑driven, capable of owning customer issues end‑to‑end, and comfortable working across global teams while delivering documentation, training, and technical guidance to customers.
Minimum Qualifications- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Applications Engineering, Software Development experience, or related work experience.
- Master's degree in Engineering, Information Systems, Computer Science, or related field and 1+ year of Software Applications Engineering, Software Development experience, or related work experience.
- PhD in Engineering, Information Systems, Computer Science, or related field.
- 1+ year of any combination of academic and/or work experience with programming language such as C, C++, Java, Python, etc.
- 1+ year of any combination of academic and/or work experience with debugging techniques.
- 3+ years of any combination of academic and/or work experience with programming language such as C, C++, Java, Python, etc.
- 3+ years of any combination of academic and/or work experience with debugging techniques.
- Proven experience as a Linux Kernel Engineer or similar role.
- Strong knowledge of Linux kernel architecture and build tools.
- Strong understanding of Computer Architecture - Caches, Bus, Memory is required.
- Familiarity with version control systems (e.g., Git).
- Strong communication and collaboration skills.
- The preferred candidate should have knowledge in the following areas:
- Camera, Display, AR/VR, Video, Graphics, BSP software
- Strong understanding of system performance tuning and optimization.
- Extensive experience with Linux kernel development, debugging, and profiling tools.
- Proficiency in programming with real‑time operating systems or microkernels, particularly on ARM architectures or Qualcomm's Hexagon microprocessor.
- Advanced C/C++ programming skills with a minimum of 3 years of experience in embedded software systems. Experience in creating or managing software build environments using tools such as Make, CMake, and Git.
- Proficiency in scripting languages (e.g., Bash, Python).
- Familiarity with containerization technologies (e.g., Docker, Kubernetes).
- Familiarity with specific Linux distributions and their kernel customization processes (e.g., Ubuntu, Fedora, Rocky Linux).
- Frequently transports between offices, buildings, and campuses up to ½ mile.
- Frequently transports and installs equipment up to 5 lbs.
- Performs required tasks at various heights (e.g., standing or sitting).
- Monitors and utilizes computers and test equipment for more than 6 hours a day.
- Continuous communication which includes the comprehension of information with…
(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).