4 hours ago
Shanghai, ChinaMid Level
Responsibilities
- Write clear, reliable, and maintainable embedded software and firmware.
- Design new features, adapt software to new hardware, correct errors, upgrade interfaces, and improve performance.
- Debug complex low-level issues spanning hardware and software interfaces, including factory, vendor, and third-party laboratory issues.
- Contribute to developer unit tests using GTEST and perform hands-on embedded system testing and debugging.
- Collaborate with software engineers, product managers, QA, UX, hardware, radio, acoustics, WiFi, and Bluetooth teams to deliver new products.
- Participate in team processes and drive technical work and innovation across distributed teams.
Requirements
- Experience programming embedded systems in C/C++.
- Knowledge of embedded Linux system architecture and development environments.
- Knowledge of hardware-level communication interfaces including SPI, I2C, I2S, UART, USB, and Bluetooth.
- Demonstrable experience developing performance-critical software in resource-constrained environments.
- Strong written and verbal communication skills for articulating technical concepts in cross-functional teams.
- Preferred: BS or MS in electrical engineering, computer science, mathematics, or a related discipline and 4+ years of relevant experience.
- Preferred: experience with WiFi interfaces, embedded Linux, real-time operating systems, Linux Kernel programming and configuration, and U-Boot programming and configuration.
- Preferred: hands-on embedded systems testing and debugging in a laboratory environment and a track record of shipping reliable, extensible, and maintainable software.
- Preferred: experience managing software developers or contractors and working with people from different cultures, backgrounds, locations, and time zones.
About Sonos
Sonos is a sound experience company making it easier than ever for millions of listeners around the world to play more, hear more, and feel more. Explore opportunities at careers.sonos.com
