Engineer, Senior - Hypervisior
Qualcomm
Job Summary
As a leading technology innovator, Qualcomm pushes the boundaries of what's possible to enable next-generation experiences and drives digital transformation to help create a smarter, connected future for all. As a Qualcomm Software Engineer, you will design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs that launch cutting-edge, world class products that meet and exceed customer needs. Qualcomm Software Engineers collaborate with systems, hardware, architecture, test engineers, and other teams to design system-level software solutions and obtain information on performance requirements and interfaces.
Must Have
- Expertise in C programming language
- Experience with ARM-based embedded systems
- Proficiency in ARMv8 and ARMv9 architecture
- Understanding of virtual memory management, page tables, and TLB
- Strong understanding of basic OS concepts
- Hands-on experience writing C device drivers
- Experience with debuggers like gdb, T32
Good to Have
- Hands-on experience with ARM-based hypervisors and virtualization platforms
- Experience with ARM-based virtualization solutions like Xen, KVM
- Experience with ARM System Memory Management Unit (SMMU)
- Strong communication and collaboration skills
- Familiarity with CPU scheduling algorithms
- Experience with Linux Kernel development
- Familiarity of open source VM management tools such as QEMU, kvmtool
- Python, shell scripting and Linux based development environment
- Strong knowledge of ARM TrustZone technology
- Participation in open-source related activities
Perks & Benefits
- Qualcomm offers a world-class health benefit option providing world-class coverage to employees and their eligible dependents.
- Our programs are designed to help employees build and prepare for a financially secure future.
- Our self and family resources help you build emotional/mental strength and resilience, as well as define your purpose — in life and at work.
- Qualcomm’s wellbeing programs and resources offer support to help employees Live+Well and Work+Well, so they can unlock their full potential at home, at work, and everywhere between.
Job Description
Job Posting Date
2025-09-09
General Summary:
As a leading technology innovator, Qualcomm pushes the boundaries of what's possible to enable next-generation experiences and drives digital transformation to help create a smarter, connected future for all. As a Qualcomm Software Engineer, you will design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs that launch cutting-edge, world class products that meet and exceed customer needs. Qualcomm Software Engineers collaborate with systems, hardware, architecture, test engineers, and other teams to design system-level software solutions and obtain information on performance requirements and interfaces.
Minimum Qualifications:
- 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 Qualifications:
- Bachelor’s degree in computer science
- Master’s degree in computer science
Principal Duties and Responsibilities:
Mandatory:
- Strong expertise in the C programming language
- Experience with ARM-based embedded systems
- Proficiency in ARM architecture, including ARMv8 and ARMv9
- Understanding of virtual memory management, page tables, and TLB (Translation Lookaside Buffer) management
- Strong understanding of basic OS concepts such as scheduling, memory management and locking mechanisms
- Hands-on experience in writing device drivers in C
- Experience with debuggers such as gdb, T32 for issues debugging
Preferred skills:
- Hands-on experience with ARM-based hypervisors and virtualization platforms
- Experience with ARM-based virtualization solutions like Xen, KVM etc
- Experience with ARM System Memory Management Unit (SMMU), including its role in address translation and memory protection
- Strong communication and collaboration skills
- Familiarity with CPU scheduling algorithms, including how hypervisors manage virtual CPU scheduling across physical cores
- Experience with Linux Kernel development
- Familiarity of open source VM management tools such as QEMU, kvmtool etc
Good to have:
- Python, shell scripting and Linux based development environment
- Strong knowledge of ARM TrustZone technology
- Participation in open-source related activities
Level of Responsibility:
- Works under supervision.
- Decision-making may affect work beyond immediate work group.
- Requires verbal and written communication skills to convey information. May require basic negotiation, influence, tact, etc.
- Tasks do not have defined steps; planning, problem-solving, and prioritization must occur to complete the tasks effectively.