#Software Engineer
Qualcomm
Software Engineer
About the Role
Qualcomm provides the Core OS and Platform for OEMs and developers to build mobile computing devices. This role involves developing end-to-end solutions across the Android Stack and Linux kernel with optimal resource usage, adhering to Android framework, Linux system & kernel programming principles.
Key Responsibilities
- Develop end-to-end solutions involving both user space and kernel space with optimal resource usage.
- Adhere to Android framework, Linux system & kernel programming principles.
- Collaborate with systems, multimedia, architecture, and other teams to develop system-level software solutions.
Requirements & Tech Stack
- Expertise in operating systems, Android frameworks, and Linux kernel.
- Hands-on experience with Java, C++ Libraries/JNI, Python coding.
- Hands-on experience with Android Application Framework, Android native daemons/services, AIDL HALs.
- Hands-on experience with system programming on any Linux/Unix OS.
- Hands-on experience in debugging with T32, gdb and crash analysis using android tombstones, T32, crash utility.
- Experience in Git, Android Make, Android Tools, Android Studio, Adb.
- Experience in developing linux kernel drivers & modifying kernel code is a plus.
- Knowledge on usage of AI models, familiarity with python for AI/ML related software development is a plus.
Qualifications
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field.
- Excellent knowledge of OS fundamentals, data structure, Linux kernel and the device driver model.