Embedded Software Engineer
Job in
San Diego, San Diego County, California, 92189, USA
Listed on 2026-07-15
Listing for:
Nutanix
Full Time
position Listed on 2026-07-15
Job specializations:
-
Software Development
Software Engineer, C++ Developer, Embedded Software Engineer
Job Description & How to Apply Below
Company:
Qualcomm Technologies, Inc.
Job Area:
Engineering Group, Engineering Group Software Engineering General
Summary:
** This position is not eligible for Qualcomm immigration sponsorship.
** Qualcomm is seeking an embedded software engineer for the Core Platform Kernel Services Software team.
The Core Platform Kernel Services software team develops and deploys drivers and Kernel Services responsible for achieving IPC and System level Debug to multiple subsystems on Qualcomm SOCs. These SOCs serve customers across the Mobile Handset, Compute, Automotive, XR/AR, Cloud AI, IoT and IIOT market segments. The Kernel Services team develops protocols and algorithms that are central to critical operations performed by all functions of the SOC such as Sensing, Image Capture, Audio functions among hundreds of others.
The team owns, maintains and develops drivers across multiple operating systems including, QuRT OS, Windows, Linux, QNX, FreeRTOS, Zephyr among others. The team actively develops open-source solutions to achieve highly performance efficient and feature rich yet configurable IPC across subsystems. The team actively engages with the open-Source community to upstream and augment associated solutions as well.
The multiple number of drivers and Services constantly evolve and find utility in various applications across multiple tiers of application across chipsets. The team works actively with OEMs, ODMs, Carriers, OS providers, etc. to perform requirements analysis towards catering to new and complex use cases on a regular basis. The successful candidate will not only have the opportunity to contribute significantly to all stages of software development, documentation, design, implementation and testing but also will have the opportunity to own and define roadmaps for significant areas of the IPC stack.
The opportunity to significantly contribute to a team that is central to every chipset that Qualcomm produces puts a great deal of responsibility to deliver high quality and highly performing solutions on a regular basis. The successful candidate should have a growth mindset willing to constantly learn new technologies and adapt to new requirements from evolving use cases. It is an expectation from all successful candidates to innovate and efficiently productize these innovations to achieve market differentiation across our product families.
Minimum Qualifications:
Bachelor's degree in Engineering, Information Systems, Computer Science, or related field.
Preferred Qualifications:
Ideal candidates will demonstrate the following:
Masters in Computer Science, Engineering, or related field.
Experience in C and Data knowledge of Windows development environment and functionality and architecture especially driver module.
Excellent debugging and problem-solving skills in Linux Kernel. Familiar with ARM Core Sight architecture will be a plus.
Good understanding of CPU Architecture, Memory and Bus architecture and how that impacts software performance.
Able to debug complex problems across multiple layers of hardware, OS, compiler, and drivers
Knowledge of interprocessor communications, reset controller hardware and crash debug sequence
Experience with Windows OS, Visual Studio/LLVM compiler and Windows Performance Analyzer (WPA) tools is preferred
Experience in Compiler and JIT technologies is a plus
Experience with optimizing for popular CPU software benchmarks is a plus Familiarity with ETM will be a plus.
Experience on Python/Perl will be a plus.
Assembly and C++ language experience is a plus Familiarity with Security Architecture in embedded systems is a plus.
Principal Duties and Responsibilities:
Develops, creates, and modifies general computer applications software or specialized utility programs. Analyzes user needs and develops software solutions. Designs software or customizes software for client use with the aim of optimizing operational efficiency. May analyze and design databases within an application area, working individually or coordinating database development as part of a team. Modifies existing software to correct errors, allow it to adapt to new hardware, or to improve its performance.
Analyzes user needs and software requirements to determine feasibility of design within time and cost constraints. Confers with systems analysts, engineers, programmers, and others to design system and to obtain information on project limitations and capabilities, performance requirements and interfaces. Stores, retrieves, and manipulates data for analysis of system capabilities and requirements. Designs, develops, and modifies software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design.
The responsibilities of this role include:
Working under close supervision.
Taking responsibility for own work and making decisions with limited impact;
Impact of decisions is readily apparent; errors made typically only impact timeline (i.e., require additional time to correct).Using…
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(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).
(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).
Search for further Jobs Here:
×