Sonos

Software Development Engineer

Shanghai, CN Full time

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 software development engineer for the Diags-Systems team, you will be responsible for supporting testing of low level drivers and firmware in a fast paced, dynamic environment. Prospective candidates will be hands-on engineers who will design and develop test processes and tools to run on and off target. This will require collaboration with your partners in Development and Quality to help define and execute the test strategies in order to deliver high quality products. In addition, you will work with teams of industry-leading innovators across acoustics, mechanical engineering, software engineering, hardware engineering, and user experience. If you love music, solving challenging problems and delivering high-quality products, we want to talk with you! 

What You’ll Do 

  • Design and execute test cases to support low level driver development, this may require creative approaches for automating physical interactions with units under test. 

  • Develop new tools and scripting to aid in test execution.

  • Support new board bring up and manufacturing line testing

  • Triage and maintain existing automation and testbeds

  • Work with manual test engineers to develop automation around repetitive, manual test cases

  • Work with team members to develop strategies for reliability testing of the HW/SW interaction layer

  • Work with team members to develop strategies for API testing of the abstraction layer used by user space applications

What You’ll Need

Basic Qualifications

  • Bachelor's Degree in Computer Science, Computer Engineering, Electrical Engineering or equivalent experience

  • Basic proficiency in C/C++

  • Basic understanding digital electronics and embedded systems

  • Basic familiarity with low level communication protocols like I2C, PCIe, and USB

  • Understanding of GIT as a source code management system

  • Experience using logic analyzers and other digital electronics test tools

  • Experience developing for Linux

  • Can work in English. 

Preferred Qualifications

  • Strong C/C++ development skills

  • Experience in Linux kernel development

  • Basic understanding of 802.11 networking and/or experience using tools like WireShark for network traffic analysis

  • Experience in testing IoT/Embedded systems (Preferably in a Linux environment)

  • Experience with Jenkins

  • Familiarity with Python and Pytest

  • Interest in DIY IoT and robotics projects

Your 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.