Qualcomm logo

senior engineer

Qualcomm
NewPosted today

LOCATION

Hyderabad · Onsite

EXPERIENCE

2+ Years

SKILLS REQUIRED

Embedded CDevice Driver DevelopmentOperating SystemsMulti-Core Programming

Job description

Overview

Develop embedded software and hardware drivers for next-generation low-power accelerator and multi-DSP platforms on Qualcomm Snapdragon products, as part of Qualcomm's AI Software organisation.

What you'll do

  • Design, implement, integrate and test embedded software, firmware and runtime components for low-power accelerator and DSP subsystems.
  • Develop and maintain hardware drivers for machine-learning accelerators, including device initialisation, resource management, interrupt handling, power-state transitions and error recovery.
  • Design software for multi-DSP and heterogeneous compute architectures, including workload partitioning, synchronisation and coordination across processors.
  • Implement and optimise inter-processor communication mechanisms such as shared-memory transport, message queues, signalling, interrupts and remote procedure calls.
  • Develop robust memory-management solutions covering static and dynamic allocation, memory pools, shared memory, virtual-to-physical address translation, cache coherency and DMA handling.
  • Analyse and optimise embedded software for latency, throughput, memory footprint and power consumption on target platforms.
  • Debug complex system-level issues involving operating systems, drivers, firmware, concurrency, memory corruption and processor interactions using target debugging and profiling tools.
  • Build unit, integration and system-level test frameworks for embedded software and hardware-driver validation.
  • Collaborate with hardware, systems, firmware and platform software teams on architecture, bring-up, integration, validation and commercialisation.

What you'll need

  • Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Systems Engineering or related work experience, OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 1+ year of Systems Engineering or related work experience, OR PhD in Engineering, Information Systems, Computer Science, or related field.
  • Strong embedded C programming skills, with hands-on experience in low-level software development.
  • Strong understanding of operating-system concepts, including processes and threads, scheduling, synchronisation, interrupts, timers, virtual memory and device-driver models.
  • Hands-on experience with RTOS and/or embedded Linux environments, including board bring-up, kernel-facing interfaces and system debugging.
  • Deep understanding of memory handling in embedded systems, including stack and heap usage, memory pools, alignment, fragmentation, memory protection, cache behaviour and coherency.
  • Experience with multi-core, multi-DSP or heterogeneous processor architectures and associated concurrency challenges.
  • Experience implementing inter-processor communication using shared memory, mailboxes, message queues, interrupts, RPC or equivalent mechanisms.
  • Experience developing hardware drivers, preferably for accelerator, DSP, NPU or other high-performance compute blocks.
  • Good understanding of computer architecture, including CPU/DSP pipelines, caches, MMU/IOMMU, DMA, bus interfaces and memory-mapped I/O.
  • Experience with multi-threaded programming, POSIX/Pthreads, synchronisation primitives and race-condition analysis.
  • Proficiency with embedded debugging and profiling tools such as JTAG, trace tools, crash dumps, logic analysers and performance profilers.
  • Strong fundamentals in data structures, algorithms, software design and fixed-point programming.
  • Strong communication skills and the ability to work effectively with cross-functional, geographically distributed teams.
  • Educational qualification: Bachelor's, Master's or PhD degree in Electrical Engineering, Electronics and Communication, Computer Science or a related field.

Nice to have

  • Working knowledge of C++ is desirable.
  • Strong system-level understanding of SoC architecture, including CPU, DSP, NPU/AI accelerators, memory hierarchy, cache coherency, DMA engines, buses, and interconnects, with the ability to analyze hardware-software interactions effectively.
  • Proven experience interpreting hardware architecture specifications, programming guides, register descriptions, and functional specifications to design, develop, and optimize low-level software and hardware drivers.
  • Hands-on experience developing and debugging hardware drivers based on hardware documentation, including device initialization, interrupt handling, power management, resource management, error recovery, and performance optimization.
  • Strong understanding of system bring-up, boot flows, clock and reset frameworks, power domains, memory subsystems, and platform resource management.
  • Familiarity with secure execution environments, memory protection mechanisms, fault-tolerant embedded software design, and system reliability considerations.
  • Experience with performance analysis and optimization using hardware performance counters, processor-specific instruction sets, compiler optimizations, and low-level profiling techniques.

Details

  • Location: Hyderabad, Telangana, India.
  • Work within Qualcomm's AI Software organisation, Engineering Group, Systems Engineering.

Read the full description and apply on the company’s own careers page.

Stay safe

Hiring on Abekus is free for applicants

We never charge a fee, and employers are prohibited from doing so. If a recruiter asks for payment, please report them right away.

senior engineer