Key Responsibilities:
- Design, implement and deploy embedded software for new products that include technologies like Bluetooth, Active Noise Reduction, and mobile app interfaces.
- Design modular software that is maintainable, scalable, and reusable across Company’s product line.
- Analyze complex technical problems and propose design of comprehensive solutions.
- Contribute to all phases of the product software lifecycle, including requirements analysis, design, implementation, automated test, release, support, and documentation. Drive end to end software delivery successfully on-time.
- Enhance processes and DevOps to improve quality and increase efficiency by focusing on continuous improvement.
Requirements:
- 3-8 years of or more demonstrated experience in embedded software development through the full lifecycle (requirements, design, development, test, deployment, operation).
- Demonstrated success leading high performing teams.
- Experience driving a test-driven development process on engineering teams.
- Strong troubleshooting and root cause analysis skills.
- Has delivered firmware for at least one product successfully launched into mass production.
- Experience with C or C++ in an embedded system, including Linux and Android natives.
- Experience with complex embedded software in a resource limited RTOS based system, such as Qualcomm Hexagon, STMicro, AMLogic, Airoha, BES SoC systems.
- Experience with common protocols such as I2C, I2S or SPI.
- Experience with Bluetooth or other wireless communication protocols is a plus.
- Experience with Audio processing a plus.
- Experience with embedded security a plus.
- Strong systems level thinker across hardware, software, user experience, etc.