Principal Development Engineer
Sorry, but it’s closed
At Sonos, we are passionate about creating and delivering the finest HiFi audio systems in the world. Our products stream all the music on earth, in every room or away from home, wirelessly, and you control it all from the palm of your hand. It is easy to use but keeping things simple is hard work. The problems are complex, and the solutions must be elegant.
As a Sr. Systems Software Engineer, you are a highly skilled specialist who will be responsible for all aspects of design and implementation of our system platform, device driver, and bootloader SW across our family of audio products. You will be a technical leader on a team that is setting new standards for the audio industry and reshaping the way customers engage with music. You will innovate every day in our fast paced, creative company and help take Sonos into an even more remarkable future. You will work independently as well as with a team of industry leading innovators in other engineering fields such as Acoustics, ME, EE, RF, SW, 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!
Design and implement real-time SW system architectures based on symmetric and asymmetric multiprocessing technologies for Sonos’ HiFi audio systems.
Provide SW support for new CPU SoC architecture/platform evaluation and selection.
Bring up and debug bootloader and embedded Linux operating system.
Bring up and debug new PCBs with ARM based SoC, WiSoC, BTSoC and various Microcontrollers.
Participate in operating system and boot-loader porting and maintenance as an individual contributor on multiple projects with cross-functional teams.
Integrate vendor SDKs and operating system components into our build system.
Identify gaps in our current system SW platform relative to HW capabilities and requirements.
Identify improvements that enhance our ability to explore, prototype and evaluate new HW platforms.
Lead SW system platform architecture design and implementation.
Lead new technology adoption.
Work with cross-functional teams in new product introductions.
Contribute to new board bring-up and validation as well as system SW and HW debugging.
Develop, execute, and document system software unit and integration test plans.
Interface with vendors to align and coordinate support for entire system architecture (CPU and radio SoCs, PIC, MCU, NPU, GPU, and other peripherals).
Passionately doing all of the above!
5+ years of relevant industry experience.
Expert understanding of the C programming language.
Expert knowledge of Linux kernel internals including primitives for locking, mutual exclusion and the various contexts under which kernel and user space code execute.
Expert knowledge of internals of open-source bootloaders such as U-Boot.
Demonstrable experience in designing and implementing performance critical SW in resource-limited environments such as device drivers for high-speed peripherals.
Experience with ARM processor architectures, including privileged-mode operations.
Experience with building and using open-source toolchain components such as gcc, GNU binutils, and gdb.
Experience in using various debugging techniques including JTAG debuggers, logic analyzers and oscilloscopes.
Experience in modern subsystems and peripherals including but not limited to DDR SDRAM, NAND/eMMC, PCI Express, SDIO, SPI, 10Mbps/100Mbps/Gigabit Ethernet, I2C and I2S.
Experience in performing system profiling.
Ability to comprehend schematics is required.
Understanding of WiFi, Bluetooth and UWB is strongly preferred.
Thorough understanding of Linux TCP/IP implementation.