Role Overview
Qualcomm is seeking an embedded software engineer for the Core Platform Kernel & Services Software team. This team develops and deploys drivers and Kernel Services responsible for System level Debug, Diagnostic, and IPC to multiple subsystems on Qualcomm SOCs. The role involves owning, maintaining, and developing drivers across multiple operating systems including QuRT OS, Windows, Linux, QNX, FreeRTOS, and Zephyr.
Responsibilities
- Develop and deploy drivers and Kernel Services for System level Debug, Diagnostic, and IPC.
- Perform requirements analysis to cater to new and complex use cases.
- Contribute to all stages of software development, including documentation, design, implementation, and testing.
- Innovate and productize solutions to achieve market differentiation across product families.
- Work actively with OEMs, ODMs, Carriers, and OS providers.
Requirements
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field with 2+ years of experience, OR a Master's degree with 1+ year of experience, OR a PhD.
- Experience in C programming and data structures, especially in embedded systems.
- Working experience in RTOS or Linux kernel, or in device drivers and hardware interfacing.
- Hardware and architectural knowledge including Processor Architecture, Cache, interrupts, and Memory barriers.
- Knowledge of RTOS concepts such as Mutex, Spinlocks, Queues, and Concurrency Scenarios.
- Understanding of CPU architecture, preferably ARM.
- Ability to debug complex problems across hardware, OS, compiler, and driver layers.
Nice to Have
- Familiarity with ARM CoreSight architecture.
- Experience with Python.
- Experience with Assembly and C++.
Skills
- C
- C++
- Linux Kernel
- RTOS
- Python