Posted in

Staff Engineer – DSP/NSP Firmware Lead – Software Engineering

Staff Engineer – DSP/NSP Firmware Lead – Software Engineering

CompanyQualcomm
LocationSan Diego, CA, USA
Salary$134800 – $202200
TypeFull-Time
DegreesBachelor’s, Master’s, PhD
Experience LevelSenior, Expert or higher

Requirements

  • Bachelor’s degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.
  • Master’s degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.
  • 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.
  • 10-15 years of relevant experience in one more of the domains below
  • Solid hands-on software design and development experience on complex embedded compute platforms.
  • Demonstrated experience working with heterogenous SoCs consisting of CPUs, GPUs, DSPs, and neural accelerators.
  • Extensive system software development experience – including co-processor firmware, device drivers and board-support packages etc.
  • Strong working knowledge of operating systems including QNX, Linux and other RTOSs, as well as hypervisors/virtualization technologies.
  • Deep understanding of OS internals – scheduler, cache/memory handling, interrupt processing, MMU/SMMU, IPCs etc.
  • Working knowledge of peripherals and interfaces – e.g., PCIe, AI Accelerators etc.
  • Good understanding of SoC level power and limits management, error/fault aggregation and management.
  • Strong programming experience in C/C++ , as well as hands-on experience debugging complex software.
  • Experience using industry standard development tools – e.g., requirements management, modeling, tool-chains, IDEs, configuration management etc.
  • Ability to lead and contribute to multiple phases of software development – from concept reviews, planning, architecture, bring-up, design and deployment.
  • Demonstrated ability to work with engineers, partners and customers, and across the different geographical sites and technology domains.
  • Excellent verbal and written communication skills.

Responsibilities

  • Architecture, design and development of software for DSP/NPU processors in Qualcomm SoCs that meets specified performance, latency, power, robustness, and stability metrics.
  • Collaborate across functional boundaries in defining architecture, design, SDK and profiling tools.
  • Actively engage with Automotive OEMs, Tier-1s and ISVs to implement systems based on of Qualcomm Automotive platforms.
  • Working with architecture team to define Qualcomm’s next generation NPUs.

Preferred Qualifications

  • SoC architectures including heterogeneous compute, NoC/interconnect, memory-systems, multicore, multi-die, cache hierarchies, shared memory, I/O, coherency, and security
  • Hands on SW development experience ranging from core kernel features like memory management, scheduler, and driver development
  • Experience in system performance (e.g., CPU load, bandwidth, latency, cache/memory performance etc.) analysis and optimizations.
  • Understanding of ARM architecture
  • Knowledge of frameworks and SDKs for Vision/Deep Learning (e.g. OpenCV, OpenCL, PyTorch, TensorFlow etc.).
  • Working knowledge of image sensor data flow pipelines – e.g. image capture, pre/post-processing routines, encode/decode and rendering blocks etc.
  • Prior experience in design of automotive-grade SW for ADAS/Autonomy systems
  • Analyze ML/AI workloads on HW accelerators and SW stacks through simulation and on-device characterization.
  • Define, model and tune algorithms for ML/AI compilers, kernels and HW features to improve mappings of ML/AI workloads on existing and future HW.