Software Engineer, Embedded Software Engineer
Listed on 2026-01-03
-
Software Development
Embedded Software Engineer, Software Engineer
Company:
Qualcomm Technologies, Inc.
Job Area:Engineering Group, Engineering Group >
Software Engineering
Summary:
Qualcomm is looking for talented and enthusiastic engineers with strong interests and experience in OS, Hypervisor, 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 plays a key role in platform security and performance.
Qualcomm is industry leading in its adoption of virtualization technology in its Snapdragon mobile products. The team has built hypervisor and SMMU expertise and continues to develop innovative features, enhancements, and use‑cases.
As a software engineer at Qualcomm, you will help develop SMMU, hypervisor/Virtualization and related software for the latest cutting‑edge Application processors, which is 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 – which provides the opportunity to interact with teams around the world.
We are looking for a highly motivated engineer and team player who is passionate to learn new technologies and write low level firmware that drives hardware and SoC.
Responsibilities:- Design, development and integration of SoC firmware features, diagnostics and test capabilities for QCT platforms.
- Strong coordination and collaboration across wide range of technical areas to include software, hardware, ASIC, integration, architecture, and emulation teams.
- Paying attention to the details during all phases of firmware design, development, integration, testing and release – work with emulation, HW design teams, as necessary, in verifying and debugging firmware, driver and resolving platform issues.
- Efficient and secure (i.e., cognizant of not exposing security exploits) coding plus 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 – we are looking for engineers from a range of backgrounds and experience, including graduates and experienced kernel and systems developers.
Skills and Experience:
- 8+ years of experience in operating systems internals, Linux kernel, embedded firmware, device drivers, virtualization/hypervisor (KVM/pKVM/XEN/Gunyah etc.).
- Strong understanding or experience with C language and data structures/algorithms.
- Understanding of computer architecture, operating systems, and kernels. Linux, boot loader, PCIe or OS development experience.
- ARM CPU architecture knowledge. IOMMU and ARM SMMU knowledge; hypervisors and virtualization.
- Experience with multiprocessing or multithreading, 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 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 languages such as C, C++, Java, Python, etc.
(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).