4 hours ago
Shanghai, ChinaSenior
Responsibilities
- Write clear, reliable, and maintainable embedded software and firmware.
- Design new features and adapt existing software for new hardware, interfaces, error correction, and performance improvements.
- Debug complex low-level issues spanning hardware and software interfaces.
- Develop and contribute to unit tests using GTest.
- Debug embedded system issues in factory, vendor, and third-party laboratory environments.
- Collaborate with software engineers, product managers, QA, UX, hardware, radio, acoustics, WiFi, and Bluetooth teams.
- Participate in team processes and continuously improve development practices.
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.
- Preferred: 4+ years of relevant experience.
- Preferred: experience with embedded Linux, real-time operating systems, WiFi hardware integration, and laboratory testing and debugging of embedded systems.
- Preferred: Linux Kernel and U-Boot programming and configuration experience.
- Preferred: experience managing software developers or contractors and working across cultures, 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
