We're a global team looking for the best talent - no matter where they are. This job has the option of working from either our Cambridge, MA or Santa Barbara, CA office. Apply to the posting that is best suited for you. For the right individual, Sonos will offer relocation reimbursement to either office.
Job Title: Principal System Software Engineer, Linux Kernels
Location: Cambridge, MA or Santa Barbara, CA
At Sonos we are passionate about creating and delivering the finest HiFi audio systems in the world 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 is hard work. The problems are complex and the solutions must be elegant. As a Principal Systems Software Engineer you are a highly skilled specialist who will be responsible for all aspects of design and implementation of our operating systems, device drivers, and bootloader code 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 consumers 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, mechanical, software, hardware, RF, and user experience. If you love music, solving challenging problems and doing things the right way every time, we’d like to talk to you!
Contribute to the new board bring-up process.
Provide industry leading device driver design and implementation.
Lead on operating system and bootloader porting and maintenance as an individual contributor on multiple projects with cross-functional teams.
Debugging systems software and helping the team debug hardware.
Passionately doing all of the above!
10+ years of experience.
Expert understanding of the C programming language.
Strong familiarity with Linux, including kernel internals (kernel 2.6 and 2.4).
Demonstrable experience in designing and implementing device drivers for high-speed peripherals.
Familiarity with internals of open source bootloaders such as U-Boot.
Experience with PowerPC and ARM processor architectures, including privileged-mode operations.
Familiarity with building and using open source toolchain components such as gcc, GNU binutils, and gdb.
Experience using various debugging techniques including JTAG debuggers.
Ability to comprehend schematics is strongly preferred.
Experience, from the system software perspective, with modern subsystems and peripherals including but not limited to DDR SDRAM, NAND Flash, PCI Express, 10Mbps/100Mbps/Gigabit Ethernet, I2C and I2S.
Familiarity with filesystems for use on NAND flash (e.g. JFFS2).
Understanding of IEEE 802.11 (g and n) networking.
Thorough understanding of Linux TCP/IP implementation.
Expert understanding of Linux kernel internal primitives for locking and mutual exclusion and the various contexts under which kernel and user code execute.
Experience performing system profiling.
More about Sonos:
In 2002, we set out with a goal – to reinvent home audio for the digital age. Our vision was simple - fill every home with music and make listening a valued experience again. We’re making it easy for everybody to listen to the music they love in every room of their home. To hear the songs they love, to discover new music they never knew existed, and to appreciate it all with the highest sound quality.
We’re doing it all over the world – In more than 60 countries, in seven languages through thousands of retailers. We’re constantly looking for ways to improve the experience – with new products, new software and continually investing in ways to provide our customers the best experience possible. We’re doing what we set out to do. Changing the way people listen to music – one home at a time.
Sonos is the developer of wireless multi-room music systems for the digital home. The award-winning Sonos(TM) Digital Music System is...