Job Summary:
Qualcomm is a leading technology innovator that drives digital transformation to create a smarter, connected future. As a Senior Software Engineer, you will design, develop, and optimize software solutions for Qualcomm’s next-generation data center platforms, collaborating closely with cross-functional teams and leading engineering efforts in critical technologies such as virtualization and Linux Kernel development.
Responsibilities:
• Develop and enhance features in the Linux Kernel, particularly in areas such as virtualization (KVM), scheduling, and memory management (IOMMU).
• Optimize power and performance management technologies like DVFS for next-generation ARM-based systems.
• 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 ARMv8 and ARMv9 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.
Qualifications:
Required:
• Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
• OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 1+ year of Software Engineering or related work experience.
• OR PhD in Engineering, Information Systems, Computer Science, or related field.
• 2+ years of academic or work experience with Programming Language such as C, C++, Java, Python, etc.
Preferred:
• Master’s degree in Computer Science, Engineering, or a related field, with 3+ years of software development experience, or equivalent.
• Strong experience in Linux Kernel development, especially in areas such as virtualization (KVM), schedulers, and memory management and device trees.
• Solid knowledge of ARMv8 and ARMv9 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.
Company:
Qualcomm designs wireless technologies and semiconductors that power connectivity, communication, and smart devices. Founded in 1985, the company is headquartered in San Diego, USA, with a team of 10001+ employees. The company is currently Late Stage.