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.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 is easy to use, but keeping things simple is hard work. The problems are complex and the solutions must be elegant. We are looking to add a firmware engineer to our Hardware Product Development team. You will be joining a team of highly skilled software engineers who develop the production systems for high volume consumer electronics. You will be responsible for developing low level device drivers, boot loaders and the hardware diagnostics necessary to bring new Sonos products to life. You will also have to be comfortable taking new ideas and implementing them as advanced prototypes…doing things with software and hardware that have never been done before. 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 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, electronics, and radio. If you love music, solving challenging problems and doing things the right way every time, we would like to talk to you! Responsibilities:Contribute to the development of evolving architectures for high performance hardware diagnostic critical for high volume manufacturing.Collaborating with the US software team on new feature development.Working directly with the hardware engineers to define new processing platforms and bring them to life. Develop reusable and portable drivers for audio and communications peripherals.Debug and isolate complex low level problems where the lines between software and hardware may not always be clear.Integrate the hardware under test with Labview based test stations. Support production line bring-up and optimizations of the testing strategies used on the manufacturing floor. Passionately doing all of the above!Qualifications:Fluent in C programming language.Understanding of complex CPU board diagnostics (RAM, ROM, power supplies, communication interfaces) Understanding of Linux device drivers for high-speed peripherals.Experience in building and using open source toolchain components such as gcc, GNU binutils, and gdb.Experience in building apps in Linux, managing the project by GNU Makefile/Meson. Understanding threads, sockets.Experience with Git.Experience in using various hardware and software debugging techniques including JTAG debuggers and emulators.Experience, from the CPU, board and device level, with modern subsystems and peripherals including but not limited to DDR SDRAM, NAND Flash, PCI Express, 10Mbps/100Mbps/Gigabit Ethernet, I2C and I2S.Understanding of peripherals’ protocols especially for I2C/I2S/SPI/PCI, hands on measuring these buses by oscilloscope/logic analyzer, debugging the possible failuresAbility to comprehend schematics and enjoy spending time in a hardware development labWillingness to travel in Asia domestically and abroad for troubleshooting in the field. Experience with Android APP development, familiarity with Android architecture, HAL, Framework would be a plusYour profile will be reviewed and you'll hear from us once we have an update. At Sonos we take the time to hire right and appreciate your patience.
View Original Job Posting