Sr. Staff Software Engineer

QualcommSan Diego, CA
2d

About The Position

General Summary As a leading technology innovator, Qualcomm pushes the boundaries of what is possible to enable next-generation experiences and drive 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 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.

Requirements

  • 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.

Nice To Haves

  • 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.

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.

Benefits

  • competitive annual discretionary bonus program
  • opportunity for annual RSU grants
  • highly competitive benefits package
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service