Company:Qualcomm Innovation Center, Inc.
Job Area:Engineering Group, Engineering Group > Software Engineering
General Summary:Job DescriptionAs a Staff Software Engineer, you will contribute to the design, development, optimization, and commercialization of Linux kernel software for Qualcomm's next-generation platforms. You will collaborate closely with cross-functional hardware and software teams and lead technical efforts in Dynamic Clock and Voltage Scaling (DCVS), Linux scheduling, and system-level power and performance optimization.
Key Responsibilities:- Develop and enhance Linux kernel features in areas such as CPU scheduling, scheduler-driven performance management, and Dynamic Clock and Voltage Scaling (DCVS).
- Design and optimize Scheduler and DCVS technologies for next-generation ARM-based systems, with a focus on achieving optimal performance, power efficiency, and responsiveness.
- Collaborate with cross-disciplinary teams to ensure the successful delivery of high-performance, scalable software solutions.
- Debug and resolve complex software issues using tools like JTAG debuggers.
- Contribute to upstream open-source projects, including the Linux Kernel, as part of Qualcomm's commitment to the open-source community.
- Drive improvements in system software for ARM and RISC-V based platforms.
- Analyze system requirements, understand and propose corresponding system architecture. Create and maintain technical documentation for system architecture, requirements, and development processes.
- Pre-Silicon Development on the FPGA based platform and QEMU.
Minimum Qualifications:• Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.
OR
Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.
OR
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 Language such as C, C++, Java, Python, etc.
Preferred Qualifications: - Master's degree in Computer Science, Engineering, or a related field, with 5+ years of software development experience, or equivalent.
- Strong experience in Linux Kernel development, especially in areas such as DCVS, schedulers, and memory management and device trees.
- Solid knowledge of ARM and RISC-V architecture and its extensions is plus.
- Solid understanding of computer system architecture (core, cache, memory models, bus architecture, etc.). Experience in Board and SOC bringup, Device drivers, peripheral buses (SPI, I2C, USB), Memory controllers for DDR
- Familiarity with tools like SCM tools (e.g., GIT) and debugging technologies like JTAG debuggers.
- Prior contributions to open-source projects (e.g., Linux Kernel).
- Strong debugging skills and practical experience with ARM based platforms.
- Proficiency in using tools and frameworks for system and software performance management.
- Hands-on experience with software development methodologies for Embedded Systems.
Principal Duties and Responsibilities:- Leverages expert knowledge of Linux kernel, operating systems, and low-level system software to achieve highly critical engineering and product objectives.
- Designs, develops, and delivers highly critical Linux kernel features and platform software for Qualcomm-based systems; leads technical efforts to integrate, optimize, and maintain these features throughout the product lifecycle.
- Serves as a technical expert in Linux kernel architecture and development, with a focus on CPU scheduling, Dynamic Clock and Voltage Scaling (DCVS), CPU frequency and performance management, power management, and ARM64 architecture.
- Develops highly critical kernel and system software architectures and designs for new platforms and products, and leads cross-functional teams to implement scalable, power- and performance-efficient, maintainable, and upstream-aligned solutions.
- Identifies and drives resolution of complex Linux kernel and system-level issues, including performance and power bottlenecks, scheduling behavior, concurrency issues, and hardware/software/firmware integration challenges; collaborates with hardware, firmware, platform, and product teams to deliver robust solutions.
- Contributes to and influences upstream Linux kernel development by designing high-quality solutions, reviewing kernel changes, driving patches upstream, and collaborating effectively with Linux kernel maintainers and the open-source community.
Pay range and Other Compensation & Benefits: $141,300.00 - $211,900.00
The above pay scale reflects the broad, minimum to maximum, pay scale for this job code for the location for which it has been posted. Even more importantly, please note that salary is only one component of total compensation at Qualcomm. We also offer a competitive annual discretionary bonus program and opportunity for annual RSU grants (employees on sales-incentive plans are not eligible for our annual bonus). In addition, our highly competitive benefits package is designed to support your success at work, at home, and at play. Your recruiter will be happy to discuss all that Qualcomm has to offer - and you can review more details about our US benefits at this link.
If you would like more information about this role, please contact Qualcomm Careers.