Embedded Software Engineer
Listed on 2026-07-13
-
Software Development
Software Engineer, C++ Developer, Embedded Software Engineer
Company:
Qualcomm Technologies, Inc.
Job Area:Engineering Group, Engineering Group >
Software Engineering
Summary:
Qualcomm is seeking an embedded software engineer for the Core Platform Kernel Services Software team. The team develops and deploys drivers and kernel services responsible for inter‑process communication (IPC) and system‑level debugging across multiple subsystems on Qualcomm System on Chips (SoCs) used in mobile handset, compute, automotive, XR/AR, cloud AI, IoT and IIOT market segments.
The Core Platform Kernel Services team designs protocols and algorithms that are central to critical operations performed by all SOC functions such as sensing, image capture and audio. The team owns, maintains and develops drivers for multiple operating systems including QuRT OS, Windows, Linux, QNX, FreeRTOS and Zephyr. It also actively develops open‑source solutions to achieve highly efficient and configurable IPC across subsystems and collaborates with the open‑source community to upstream and augment associated solutions.
Drivers and services constantly evolve to support new applications; the team works closely with OEMs, ODMs, carriers and OS providers to perform requirements analysis and create roadmaps for significant areas of the IPC stack. The role offers significant impact on the entire chipset ecosystem and requires a growth mindset to learn new technologies and adapt to evolving use cases.
Minimum Qualifications:- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field.
- Master’s degree in Computer Science, Engineering, or related field.
- Experience in C programming and data structures.
- In‑depth knowledge of Windows development environment and driver architecture.
- Excellent debugging and problem‑solving skills in Linux Kernel; familiarity with ARM Core Sight architecture is a plus.
- Good understanding of CPU architecture, memory and bus architecture and their impact on software performance.
- Ability to debug complex problems across hardware, OS, compiler and driver layers.
- Knowledge of inter‑processor communication, reset controller hardware and crash debug sequence.
- Experience with Windows OS, Visual Studio/LLVM compiler and Windows Performance Analyzer tools.
- Experience in compiler and JIT technologies.
- Experience with optimizing for popular CPU software benchmarks.
- Familiarity with Embedded Trace Macrocell (ETM) and Python/Perl scripting.
- Assembly and C++ language experience.
- Familiarity with security architecture in embedded systems.
- Develop, create, and modify general computer applications software or specialized utility programs.
- Analyze user needs and develop software solutions optimized for operational efficiency.
- Design and customize software for client use, including database design and development as part of a team.
- Modify existing software to correct errors, adapt to new hardware or improve performance.
- Determine feasibility of design within time and cost constraints and collaborate with systems analysts, engineers and programmers.
- Store, retrieve and manipulate data to analyze system capabilities and requirements.
- Use scientific analysis and mathematical models to predict outcomes and measure consequences of design.
- Work under close supervision and take responsibility for own work with limited impact decisions.
- Communicate basic, routine information verbally and in writing to knowledgeable peers.
- Plan, prioritize and execute tasks with multiple steps, ensuring timely completion and minimal rework.
- Exercise creativity to troubleshoot technical problems or novel circumstances.
- Apply deductive problem solving to moderate complexity problems; conduct limited data analysis when required.
- Do not take financial accountability, influence key organizational decisions or participate in strategic planning.
- Communicate issues with team lead and peers.
- Adapt to changes and setbacks to meet deadlines.
- Provide status updates to project lead and highlight impending obstacles.
- Collaborate with others in the project team to accomplish objectives.
- Gather, integrate and interpret information from a…
(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).