Senior Embedded DSP Software Engineer – Hardware Engineering
Boston, Santa Barbara, Seattle
At Sonos we are passionate about building and delivering the finest HiFi audio experiences to our customers. Our products stream all the music on earth, in every room, wirelessly, and you control it all from the palm of your hand. It’s easy to use, but keeping things simple and bug free is hard work.
As an embedded DSP Software Engineer working as part of the hardware organization, you are a highly skilled embedded software engineer that thrives in new product development environment and being up close and personal with hardware. You will be working closely with our signal processing algorithm researchers to help refine, tune and optimize our audio and voice algorithms to execute efficiently and flawlessly on our embedded processor platforms. You will be responsible for helping to turn new ideas and technical innovations into products that continue to delight our customers and set the satisfaction bar higher. You will be a member of a team that is setting new standards for the audio industry and reshaping the way consumers engage with music. You will work independently as well as with a team of industry leading innovators in other engineering fields such as acoustics, mechanical, application software, hardware, and user experience. If you love music, solving challenging problems and doing things the right way every time, we would like to talk to you!
The ideal candidate will be an embedded processor software expert with a solid background in real time signal processing algorithms for audio and speech processing.
Our band is large. And while there’s plenty of room for all kinds of personalities and skill sets to succeed, there are certain qualities that will help you thrive here.
Like a never-accept-less work ethic. An exceptionally low ego-to-talent ratio (none of the first, tons of the latter). A relentless craving to push past your limits and try new things. The smarts and the humble confidence to take on big challenges, make mistakes fast and early, embrace tough feedback, then recover quickly with fresh, startlingly perfect solutions. A fearless willingness to defend great work. And a tendency to totally geek out on music.
If this sounds like you, read on and let’s connect soon.
In this role you will:
• Understand the end-to-end signal processing pipeline and how the algorithms best map to single and multicore processor architectures. A solid understanding of time domain and frequency domain processing fundamentals will be expected.
• Interface with other software teams to define the proper DSP APIs and how best to partition and schedule the processing across cores in a multi-core SOC device.
• Understanding where each and every processor cycle is being used so that the maximum amount of processor headroom is always available.
• Contribute to the ongoing development of data capture and analysis tools used to determine optimal algorithm performance.
• Debug and isolate complex low level problems where the lines between software and hardware may not always be clear.
• Passionately doing all of the above!
The ideal candidate will have:
• 7-10 years of real-time embedded processor software engineering experience
• Fluent in C and C++ programming languages.
• Thorough understanding of CPU architectures (ARM, MIPS) and complex SOC device and how to partition processing across multi-core architectures.
• Demonstrated ability to design and develop portable and maintainable code that is processor architecture agnostic.
• Code optimization for speed and memory usage using efficient C, processor intrinsic functions and low level assembly code.
• Proficiency with embedded pre-emptive operating systems (Linux/VxWorks) to the level of writing and debugging basic multi-process and multi-threaded applications. (Task prioritization, IPC, kernel vs. user mode tradeoffs)
• Experience with benchmarking algorithm performance on embedded systems using software and hardware techniques.
• Highly proficient in the use of common source code control and defect tracking systems. (Jira, Perforce, Git, ClearQuest, ClearCase)
• Successful use of various hardware and software debugging techniques including JTAG debuggers and emulators.
• Also very helpful if you’re an active musician, have possibly developed DAW plugins and may have some recording experience.
Apply now and if there is a strong match, we'll reach out!
In 2002, we set out to reinvent home audio for the digital age. Our mission–to fill every home with amazing sounding music. Yes, it was an ambitious goal. Challenging, too. And that hasn’t changed.
Since those early days, we’ve remained tirelessly focused on finding innovative ways to make listening out loud, with friends and loved ones, the truly transformative experience it should be. We’ve seen our vision capture the imaginations of music lovers in more than 60 countries, as we’ve continued to introduce products, software, and technologies that help people share the songs they love, discover new music they never knew existed, and experience richer, more musical lives.
At Sonos, we are building a team with extraordinary talent to help us fill every home with music. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status.