Senior Software Engineer - Hypervisor
Listed on 2026-03-01
-
Software Development
Embedded Software Engineer, Software Engineer, C++ Developer, Python
Company:
Qualcomm Technologies, Inc. Job Area:
Engineering Group >
Software Engineering
Qualcomm is looking for talented and enthusiastic engineers with strong interests in OS, kernel, and computer architecture. The Qualcomm Hypervisor team is world‑leading, enabling virtualization across multiple chipset products for mobile, automotive, compute, and IoT. The team is responsible for the hypervisor software layers that play a key role in platform security and performance. As a software engineer, you will help develop SMMU, hypervisor, and related software for the latest cutting‑edge application processors, which are embedded in a wide range of chipset products and used by many OEMs in millions of devices.
The role will include interfacing with large software stacks such as bootloaders, Linux, and Trust Zone, providing an opportunity to collaborate with teams worldwide.
- Design, development, and integration of SoC firmware features, diagnostics, and test capabilities for QCT boot platforms.
- Strong coordination and collaboration across a wide range of technical areas including software, hardware, ASIC, integration, architecture, and emulation teams.
- Paying attention to details during all phases of firmware design, development, integration, testing, and release; work with emulation, HW design teams as necessary to verify and debug firmware, drivers and resolve platform issues.
- Efficient and secure coding (cognizant of not exposing security exploits) and driving code review of firmware logic updates with all required stakeholders.
- On‑time execution of defined tasks and deliverables, driving dependencies with other teams to closure.
- Triage of software issues, defect investigation, and problem resolution.
- Technical documentation including APIs, manuals, and user guides.
- Skills and experience from a range of backgrounds including graduates and experienced kernel and systems developers.
- Strong understanding or experience with
C. - An understanding of computer architecture, operating systems, and kernels. Linux, kernel, boot loader or OS development experience.
- ARM CPU architecture knowledge, IOMMU and ARM SMMU knowledge, hypervisors and virtualization.
- Experience with multiprocessing or multi‑threading, concurrency, and synchronization; writing device drivers and interfacing hardware.
- Experience with secure coding.
- Use of debugging tools such as GDB, Lauterbach Trace
32 and understanding assembly; real‑time OS; tool chains and systems libraries (libc etc). - Python, shell scripting, and Linux‑based development environment.
- Good communication and presentation skills.
- Test development and test automation.
- Contributing to open‑source projects.
- Demonstrated independent software design, good analytic and problem‑solving skills. Any automotive and functional safety experience may also be relevant.
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
- OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 1+ year of Software Engineering or related work experience.
- OR PhD in Engineering, Information Systems, Computer Science, or related field.
- 2+ years of academic or work experience with programming languages such as C, C++, Java, Python, etc.
- Master's degree in Computer Science, Engineering, or related field.
- 4+ years of Software Engineering experience.
- 1+ year of work experience with Git, Perforce, or Source Code Management System.
- Strong understanding or experience with
C. - An understanding of computer architecture, operating systems, and kernels. Linux, kernel, boot loader or OS development experience.
- ARM CPU architecture knowledge, IOMMU and ARM SMMU knowledge, hypervisors and virtualization.
- Experience with multiprocessing or multi‑threading, concurrency, and synchronization; writing device drivers and interfacing hardware.
- Use of debugging tools such as GDB, Lauterbach Trace
32 and understanding assembly; real‑time OS; tool chains and systems libraries (libc etc). - Python, shell scripting, and Linux‑based…
(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).