Company:Qualcomm Technologies, Inc.
Job Area:Engineering Group, Engineering Group > Software Engineering
General Summary:General SummaryAs a Qualcomm Software Engineer, you will design, develop, create, modify, and validate embedded and cloud edge software applications across subsystems-Multimedia, AI/Gen AI, and Computer Vision-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, and test engineers, as well as other teams, to design system-level software solutions and obtain information on performance requirements and interfaces.
- Design and develop Multimedia, AI, and Gen AI SDKs/framework components to facilitate end-application development across various categories of IoT products, such as drones, IP/security cameras, AI boxes, and media devices.
Minimum Qualifications:• Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 6+ years of Software Engineering or related work experience.
OR
Master's degree in Engineering, Information Systems, Computer Science, or related field and 5+ years of Software Engineering or related work experience.
OR
PhD in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.
• 3+ years of work experience with Programming Language such as C, C++, Java, Python, etc.
Preferred Qualifications:- 8+ years of experience with programming languages such as C and C++.
- 8+ years of experience designing and leading real-time embedded and industrial solutions with hands-on experience.
- 4+ years of experience with GStreamer, an open-source framework used to build AI and multimedia product applications.
- Experience with AI and Gen AI inference frameworks, including PyTorch, TensorFlow, ONNXRT, and Llama CPP; understanding of AI concepts and fundamentals, different AI model architectures, tensor layout, tensor conversion, and the mathematics required for tensor processing.
- Experience with Gen AI orchestrators such as LangChain and LangFlow, including building agentic and RAG applications.
- Experience with multimedia frameworks (Android, Tizen, or other operating systems), including understanding and knowledge of underlying HALs (camera, audio, video, graphics/display, CV, and USB/UVC).
- Experience with Android frameworks, including understanding of AIDL/HIDL, Binder, development of system and vendor services, and writing Java/JNI bindings.
- Experience building AI applications (vision- and audio-based), including traditional AI model architectures (classification, detection, segmentation, pose-net) and newer classes of AI models (Gen AI); understanding of pre- and post-processing of tensors required to integrate AI models into end-to-end pipelines with different media sources (camera, audio, text, etc.).
- Experience with Linux system-level programming, multi-threading, concurrent execution, DMAs/IONs, and different IPCs, including Binder and gRPC, as well as zero-copy mechanisms.
- Experience writing GLES/GLSL shader programs and working with programmable graphics pipelines.
- Experience writing Vulkan shaders and working with programmable graphics pipelines.
- Experience with Docker and containers, including understanding of general OCI container standards and specifications.
- Hands-on development experience with Linux Embedded, Ubuntu, and Android platform software stacks.
- Hands-on experience with the full software development life cycle, including design, implementation, deployment, and support.
Principal Duties and Responsibilities:- Apply software knowledge to assist and support the design, development, creation, modification, and validation of embedded edge software, applications, and/or specialized utility programs.
- Design and develop multimedia, AI, and Gen AI SDKs and lead development team efforts.
- Design and develop GStreamer-based plugins for QC hardware.
- Design and develop software features for various categories of IoT products and systems.
- Participate in feature design and coding, unit testing, software bug debugging, and integration efforts to ensure projects are completed on schedule.
- Assist with code reviews, regression testing, and issue triaging to ensure code quality.
- Collaborate with other project team members to accomplish project objectives.
- Write technical documentation for software components and features.
Pay range and Other Compensation & Benefits: $162,600.00 - $244,000.00
The above pay scale reflects the broad, minimum to maximum, pay scale for this job code for the location for which it has been posted. Even more importantly, please note that salary is only one component of total compensation at Qualcomm. We also offer a competitive annual discretionary bonus program and opportunity for annual RSU grants (employees on sales-incentive plans are not eligible for our annual bonus). In addition, our highly competitive benefits package is designed to support your success at work, at home, and at play. Your recruiter will be happy to discuss all that Qualcomm has to offer - and you can review more details about our US benefits at this link.
If you would like more information about this role, please contact Qualcomm Careers.