You will be part of a software development team that will provide highly optimized audio system solutions using Snapdragon based SOCs to create smart audio products (e.g. smart assistants, smart speakers, and soundbars). This position involves extensive design, development and unit testing of software features and enhancements specified by product requirements from internal teams, customers and/or 3rd parties. In this role, you will be expected to demonstrate in-depth technical design, implementation, debugging, and test planning capabilities. You will also need to have good troubleshooting skills to rapidly root cause and fix reported problems. Additionally, you will have to interface with various cross-functional teams including customer engineering, product test and product management. Lastly, contributing changes back to open source and interacting with the open source community may also be required.
Preferred Qualifications :
Proven ability to design, debug and document complex software applications Proven programming experience in C/C++ is required; Java experience is a plus Proven programming experience in Gstreamer and/or PulseAudio is a plus Strong operating system and software engineering skills required ideally in both Android / Android Things and Linux Experience with Linux specific infrastructure is highly desired (e.g. Yocto, systemd, DBUS, SELinux security, gcc, glibc, Wayland/Weston, KMS, Qt, etc) Experience Bluetooth stacks and profiles (e.g. A2DP sink/source, HFP, BLE audio, etc) and WiFi connectivity technologies (e.g. STA, AP, P2P, modes etc) is a plus Experience in Linux user-space development is a plus Experience in developing embedded Linux/Android/Android Things applications and/or test infrastructure is highly desired Experience with development and commercialization for audio products is a plus Experience with Voice UI related technologies (Amazon Alexa, Google Assistant, ASR, NLU, keyword detection engines, etc) is a plus Experience with premium audio codecs and post-processing (Dolby Atmos, DTS-X, Dolby Trumpet, etc) is a plus Ability to debug and fix complex problems involving multiple modules from user space, kernel space as well as low level hardware issues is a plus Strong debugging skills and familiar with debugging environments and tools such as eclipse, gdb, valgrind, adb, etc is a plus. Experience with machine learning based algorithms and frameworks (Caffe2, TensorFlow, etc) is a plus Ability to contribute in pre-silicon and post-silicon bring-up of future chipsets/SOCs is a plus Excellent written and verbal communication skills are required Mature interpersonal skills with an ability to collaboratively work with many varied teams and resolve problems spanning many disciplines Proven ability to work in a dynamic, multi-tasked environment Self-starter who likes to be challenged and solve tough complex issues
Required: Bachelor's, Computer Engineering and/or Computer Science
Preferred: Master's, Computer Engineering and/or Computer Science