General Summary:
As part of Qualcomms Audio Software team, you will work with an international group of engineers to develop cutting-edge voice and audio technology on Snapdragon processors. This role is a Senior Engineer position focused on : hands-on in design, coding, debugging, and optimizing embedded audio software features (e.g. voice activation, speech recognition, translation, and text-to-speech) for next-generation devices.
Key Responsibilities:
- Design, implement, and integrate embedded voice/audio software features on Qualcomm Snapdragon SoCs for use-cases such as voice wake-up, ASR, translation, and TTS, while meeting strict performance, latency, power, and stability requirements.
- Write high-quality, efficient C/C++ code for real-time audio signal processing and voice features. Follow best practices in multi-threaded programming and memory management for embedded systems.
- Debug and resolve complex issues in audio signal paths, firmware, and drivers. Utilize a range of debugging tools (e.g. JTAG debuggers, logic analyzers, tracing) and techniques to identify root causes in an embedded environment.
- Profile and optimize software to meet memory footprint and CPU utilization targets. Fine-tune algorithms and system configuration to achieve low-latency audio processing and low power consumption on target hardware.
- Manage and prioritize your development tasks to meet project milestones. Communicate development status, risks, and mitigation plans to project leads, ensuring on-time delivery of high-quality audio software releases.
- Proactively suggest improvements to audio frameworks or development processes. Apply creative problem-solving and critical thinking to overcome technical challenges and refine existing implementations.
Required Qualifications:- Bachelors degree in Electronics and Communication Engineering, Computer Engineering, Electrical Engineering, Computer Science, or related field.
- 4+ years of hands-on software development experience in embedded systems or firmware (C/C++), with a track record of delivering complex features for real-time or resource-constrained environments.
- Strong proficiency in C/C++ programming for embedded platforms. Experience writing efficient, low-level code and optimizing code for memory and CPU usage. Familiarity with scripting (e.g. Python) is a plus.
- Solid understanding of computer architecture (ARM processors or similar), real-time operating systems (RTOS), concurrency/multi-threading, and fundamental data structures & algorithms.
- Prior experience in audio signal processing or voice technology development. Exposure to voice user interface concepts e.g. keyword spotting, speech recognition, or text-to-speech.
- Demonstrated ability to debug complex embedded systems. Proficiency with debugging tools and techniques for low-level software/hardware integration.
- Experience developing and debugging software on ARM Cortex processors or DSPs.
- Understanding of performance tuning on embedded platforms, including optimizing for low power, memory constraints, and real-time deadlines.
- Strong communication skills and experience working in a collaborative development environment.
Preferred Qualifications:- Masters degree in Electronics and Communication Engineering, Computer Science, Electrical Engineering, or a related field.
- Hands-on experience with voice UI technologies or speech/audio processing frameworks.
- Experience in designing or integrating audio/multimedia frameworks on embedded or mobile platforms.
- Previous experience working with Qualcomm Snapdragon audio DSP frameworks or similar SoC audio architecture.
- Experience developing low-level device drivers or firmware for audio peripherals.
- Proficiency in Python or other scripting languages for test automation or data analysis.
- Participation in innovation activities such as patents, research publications, or hackathons in audio DSP or speech recognition.
Minimum Qualifications:
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience. ORMaster's degree in Engineering, Information Systems, Computer Science, or related field and 1+ year of Software Engineering or related work experience. ORPhD in Engineering, Information Systems, Computer Science, or related field. 2+ years of academic or work experience with Programming Language such as C, C++, Java, Python, etc.