Staff Engineer – NSP/NPU System Software

4 - 9 years

6 - 10 Lacs

Posted:4 hours ago| Platform: Naukri logo

Apply

Work Mode

Work from Office

Job Type

Full Time

Job Description

Responsibilities May Include, but are not limited to

  • You will be part of NSP system software team working on design, development, integrate, commercialize and maintenance of system software for CPU, NSP processors and Hardware engines/accelerators (Camera, Video, Audio etc.) comprising in Qualcomm SoCs that meets specified performance, latency, power, robustness, and stability metrics.
  • Develop software Frameworks, high performance system drivers for compute resources, and application in Android/Linux/QNX and RTOS environments. Develop application specific software demos and examples which enables to benchmark Qualcomm SoC capabilities and help customer to get started on their product development process.
  • You will work closely with other internal teams within Qualcomm for collection of metrics at various subsystem like CPU, DSP, NSP, GPU etc. to provide a unified execution view in IDE and visualization tools for conventional Multimedia use cases/DL Model execution to enable easy adoption, profiling and debugging of Multimedia/AI software products by internal and external customers.
  • Ability to look at software deliverables from end user point of view and ease of use, well documented code, design documents. Participate in customer discussions and understand their requirements and implement their requirements in our software solutions.
  • You will collaborate with cross functional teams, product management, SoC architecture and design teams to implement optimal power, performance, memory, and new architecture specific system software solutions.
  • You will work closely with our global teams to integrate, test, and commercially support our embedded software solutions across Mobile, Auto, IoT and XR business groups.
  • Ability to make decisions and construct plans with minimal, conflicting, and sometimes missing information.
  • Offsite and occasional onsite work with OEMs and Independent Software Vendors may be required.
Required Skills/Experience
  • Strong programming skills in C/C++, and Python
  • Excellent programming skills in C++ (11/14/17). Solid foundation and understanding of data structures, algorithms and AI/CV/Multimedia framework architectures and implementation. Good foundation of object-oriented design patterns or other software design paradigms and usage in your area of work.
  • 4+ years of experience writing scalable C++ multi-threaded, multi-process software applications for Android/Embedded Linux/QNX operating systems.
  • Experience in system software programming, threading, mutex, synchronization, communication, and parallel computing to build highly scalable and efficient applications.
  • Deep understanding of CPU, DSP, Deep Learning Accelerators (NSP/NPU) architectures, system programming and optimization of Multimedia/CV/ML algorithms on hardware acceleration cores using C/C++, assembly language, TVM, OpenMP, OpenCL/CUDA programming frameworks.
  • Experience with ARM and NSP/Hardware Engines Inter-processor communications using RPCs. Expertise in methods for partitioning a solution across hardware and software within an overall systems solution.
  • Experience with at least one DL frameworks like TensorFlow, Caffe, PyTorch, ONNX etc.
  • Familiarity and hands-on experience with various system analysis tools used for memory, performance analysis and hardware resource management for optimization and stability.
  • Experience with build systems such as CMake, Make, ninja and Yocto for large scale software.
  • Experience with source control tools (Git, GitHub, GitLab, Perforce, etc.)
  • Experience in writing documents on software design, algorithms, and interfaces using mkdocs/sphinx docs generators.
  • Mentor and guide team members to successfully execute multiple tasks on time.
  • Prepare clear and concise reports and recommendations for product teams up to senior executives to help drive business decisions and next generation architecture choices.
  • Defining and developing automation for the team to operate more efficiently.
Preferred Skills/Experience
  • A go getter attitude to dive deeper and understand technical requirements.
  • Ability to contribute to all phases of embedded software development including bring-up activities, design, development, and commercialization of software cycles.
  • Experience with Linux open-source software development projects (either as a committer, contributor, or community manager) is a plus.
  • Experience in using NVIDIA NSight systems/NSight compute for application performance analysis.
  • Knowledge of frameworks and SDKs for Imaging/Computer Vision/Deep Learning (e.g., OpenCV, OpenVX, TensorFlow, PyTorch, NVIDIA CuDNN, Tensor RT etc.).
  • Engaging with OpenOCD as a user or as a contributor, JTAG interfacing, and GDB/LLDB to debug targets.
  • Experience with autonomous vehicles domain, standards, and processes (e.g., ISO26262, ASPICE)
  • Solid working experience in kernel development, Android/Linux/QNX, and all too familiar with OS scheduling, debugging, event handling, real-time requirements.
  • Knowledge of compiler optimization techniques for kernel compilers, LLVM is a plus.
Excellent Written and Verbal Communication Skills are Required.
  • Strong verbal and written communication and presentation skills with collaborative work experience, always discussing and learning from each other and driving things forward and making solid progress as one team across geographical regions.
  • Proven ability to work in a dynamic, multi-tasked environment.
  • Self-starter who likes to be challenged and solve tough complex issues.
Education Requirements
  • Required: Bachelor's, Computer Engineering and/or Computer Science, software engineering or closely related discipline with 6-9yrs of relevant work experience
  • Preferred: Master's, Computer Engineering and/or Computer Science, software engineering or closely related discipline with minimum 8yrs of relevant work experience

Minimum Qualifications:

  • Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience
  • ORMaster's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience
  • ORPhD 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

Mock Interview

Practice Video Interview with JobPe AI

Start Python Interview
cta

Start Your Job Search Today

Browse through a variety of job opportunities tailored to your skills and preferences. Filter by location, experience, salary, and more to find your perfect fit.

Job Application AI Bot

Job Application AI Bot

Apply to 20+ Portals in one click

Download Now

Download the Mobile App

Instantly access job listings, apply easily, and track applications.

coding practice

Enhance Your Python Skills

Practice Python coding challenges to boost your skills

Start Practicing Python Now
Qualcomm logo
Qualcomm

Technology

San Diego

RecommendedJobs for You