Senior Lead/ Senior Engineer/Engineer
Qualcomm
About the Role
Qualcomm Software Engineers design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs. They collaborate with systems, hardware, architecture, test engineers, and other teams to design system-level software solutions and obtain information on performance requirements and interfaces.
Key Responsibilities
- Work with cross teams to develop and support various features in Linux kernel to support Android on Qualcomm Snapdragon Chipsets.
- Work on latest bleeding edge ARMv9 CPUs and features.
- Closely work with power and performance teams to analyze and identify performance bottlenecks and implement optimizations.
- Enable and support other teams that use supported Linux kernel features.
- Identify and support core set of tools for assisting Linux Kernel development, debug, and support.
Requirements & Tech Stack
- Programming Languages: C, C++, Java, Python.
- Operating Systems: Linux Kernel, Android.
- Kernel Subsystems: core kernel, device drivers, memory, SMMU, ARM subsystems.
- Debugging Tools: T32, gdb, crash analysis (using T32, crash utility).
- Other Tools: tracing tools, tool chain, version control.
Qualifications
- Minimum Qualifications:
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.
- OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
- OR PhD in Engineering, Information Systems, Computer Science, or related field and 1+ year of Software Engineering or related work experience.
- 2+ years of academic or work experience with programming languages such as C, C++, Java, Python, etc.
- Preferred Qualifications:
- Master's degree in engineering, Information Systems, Computer Science or related field.
- 5+ years of Software Engineering or related work experience.
- Excellent knowledge of OS fundamentals, data structures, Linux kernel, and the device driver model.
- Excellent programming skills and expert level knowledge of C.
- Specific experience and expertise in any of kernel subsystems – core kernel, device drivers, memory, SMMU, ARM subsystems.
- Highly skilled in debug using any debugger like T32, gdb and crash analysis using T32, crash utility.
- Expert in using tracing and other related tools to identify performance bottlenecks and solve them.
- Well versed with other development tools like tool chain, version control.
- Background experience in Android is a plus.
Education
- Bachelors or Masters in CS or ECE.

