As a leading technology innovator, Qualcomm pushes the boundaries of whats 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:
Bachelors degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.
OR
Masters 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.
Responsibilities:
- In this position, you will be responsible for the development and commercialization of ML solutions like Snapdragon Neural Processing Engine (SNPE) SDK on Qualcomm SoCs
- You would be porting AI/ML solutions to various platforms and optimize the performance on multiple hardware accelerators (like CPU/GPU/NPU)
- You will have expert knowledge in deployment aspects of large software C/C++ dependency stacks using best practices
- You will also have to keep up with the fast-paced development happening in the industry and academia to continuously enhance our solution from software engineering as well as machine learning standpoint
Work Experience:
- 10-15 years of relevant work experience in software development.
- Live and breathe quality software development with excellent analytical and debugging skills.
Strong understanding about Processor architecture, system design fundamentals. - Experience with embedded systems development or equivalent.
Strong development skills in C and C++. - Excellent communication skills (verbal, presentation, written).
- Ability to collaborate across a globally diverse team and multiple interests.
Preferred Qualifications
- Experience with optimizing algorithms for AI hardware accelerators (like CPU/GPU/NPU).
- Experience in object-oriented software development and applying design patterns.
- Background in mathematical operations: linear algebra, fast-math libraries.
- Familiarity with neural network operators.
- Floating-point, Fixed-point representations and Quantization concepts.
- Experience with VLIW instruction set architecture.
- Experience working with heterogeneous or parallel computing systems and knowledge of associated languages like OpenCL, CUDA, etc. is a plus.