At Sonos we want to create the ultimate listening experience for our customers and know that it starts by listening to each other. As part of the Sonos team, you'll collaborate with people of all styles, skill sets, and backgrounds to realize our vision while fostering a community where everyone feels included and empowered to do the best work of their lives.
As a Senior Software Engineer working as a member of the Home Audio Embedded Team, you will be part of the team responsible for designing, building and maintaining the foundational components of our embedded software stack which controls, plays and distributes audio throughout the multi-room Sonos system. You will work closely with a variety of teams across the embedded domain to ensure our embedded software provides best in class listening experience for our customers across the entire portfolio of Sonos speakers. You will work independently as well as with teams across software disciplines to design and develop software that provides new platform capabilities and interoperability between the core Sonos system and other product categories. You will do all of this as part of a team that is front and center in solving some of the most challenging engineering problems that Sonos engineers are faced with.
This is an exciting opportunity to work with an accomplished team who will play a fundamental role in building the software that powers our next generation of Sonos products! If you are passionate about music, creating breakthrough new products and solving challenging problems, we would like to talk to you!
This role is office-based
This role is office-based in our Seattle or Boston office. Qualified candidates must be able to be in our office 3+ days a week.
What You'll Do
Write clear, reliable, maintainable code
Design, build, analyze, enhance, and refactor the embedded software system used to power Sonos products
Interface with other software teams to define the proper APIs and IPC mechanisms
Reproduce, isolate and debug complex low-level problems that may span interfaces between hardware and software
Contribute to the suite of developer unit tests using GTEST
Collaborate with software engineers, PM, QA and UX to design and deliver unique, innovative new features that delight our customers
Drive your work forward and exercise your strong technical aptitude to influence positive change and innovation
Participate in team process, using Agile methodologies to adapt and continuously improve
What You'll Need
Research shows that candidates from underrepresented backgrounds often don't apply for roles if they don't meet all the criteria. If you don't have 100% of the skills listed, we strongly encourage you to apply if interested.
Basic Qualifications
4+ years of software engineering experience in a multi-threaded Linux environment
Experience delivering reliable, extensible and maintainable software
Experience writing and implementing APIs
Proficient with common source control systems (e.g. Git, GitHub
Demonstrated ability to design, develop, document and test portable and maintainable code that is processor-, architecture- and OS-agnostic
Must be in our office 3+ days a week in either our Seattle or Boston office
Preferred Qualifications
Experience with benchmarking algorithm performance on embedded systems using software and hardware techniques
Experience with embedded Linux
Experience articulating technical concepts in cross-functional teams
Experience writing developer tests using GTEST or another similar testing framework with understanding of unit testing and design-for-testability strategies
Experience with Cloud, RESTful API and HTTP technologies is a plus
Knowledge of L2/L3 networking and protocols is a plus
Experience in C/C++
#LI-Remote
At Sonos w