We’re Eargo and we’re on a mission to disrupt, innovate, and reimage the hearing industry. If you believe fun at work is non-negotiable and want to experience the joy of being a part of helping someone hear life to the fullest again— expect tears of joy— then this is the place for you! Our passionate, fast-paced, energetic team is driven by the belief that people shouldn’t feel like they need a hearing aid—they should want one. So, if working with some of the coolest, most talented folks around and making an impact every single day sounds like a dream gig, then we want to hear from you!
The Senior Staff Firmware Engineer is responsible for the development of high-quality embedded code running on the processors at the heart of Eargo hearing aids, chargers and accessory devices. As a systems thinker, the person in this role will have a clear voice in the design and maintenance of the firmware and software architectures enabling the connection between hearing aids, chargers, accessories, and mobile phones. In doing so, the Senior Staff Firmware Engineer will contribute to the creation of high fidelity ultra-low-power hearing targeted at improving the lives of people with hearing loss.
Essential Job Duties & Responsibilities
Specify, design, and deliver high-quality firmware in a low-power real-time embedded environment, consisting of ARM based microcontrollers, Bluetooth (BLE) modules, hearing instrument charge control and communication hardware, and relevant support circuitry.
New design and revision of existing designs of two-way communication architecture and implementation between a mobile phone application and embedded devices, exchanging status information, configuration settings, logging data and control commands.
New design and revision of existing designs of connection and authentication architecture between a mobile phone application and embedded devices.
New design and revision of existing designs of data communication protocols (on all layers from bytes to application) between a mobile phone application and embedded devices.
Closely work with the software (mobile application) teams to define, agree on and debug communication protocols. Preferably being able to understand the associated mobile application code as well.
Establish operating systems for charger devices and select and integrate middleware (USB stack, File I/O, security, etc) to provide desired functionality.
Write unit tests for every added function, maintain unit tests for existing and changed functions.
Engage in marketing and product requirements review to ensure specifications are both ambitious and achievable.
Contribute to comprehensive and correctly prioritized product backlog for programs and projects assigned.
Hands-on hardware bring-up, system debugging, and code optimization.
Make performance and optimization trade-offs to meet product requirements.
Verify in-device algorithms at the engineering level.
Create, update, and maintain firmware design documentation.
Contribute to the on-going improvement of product development processes through the proactive review of documented processes and procedures.
Integrate with HW/FW development cycles, from R&D to Release.
Generate novel patent disclosures and applications to contribute to IP portfolio.
Lead junior members of the team in design and critical debug and troubleshooting.
Deep understanding and experience with BLE standards ranging from 4.2 to 5.2, including knowing when and how to use which BLE characteristics for which data transfer tasks.
Deep understanding and experience with embedded Nordic BLE stacks: both nRF 5 and nRF Connect.
Experience in debugging communication protocols across devices (e.g. embedded system and mobile application) simultaneously.
Preferred: Understanding and experience in how to integrate BLE stacks in mobile phone applications (iOS and Android)
Preferred: Knowledge in BLE audio and how to design related audio streaming applications, both between embedded devices and between an embedded device and a mobile phone.
Preferred: Experience with test-driven development and developer-driven automated testing.
General Skills and Requirements
Proven ability to communicate clearly with other team members and management.
Willingness to document work and proposals, and to track experimental results.
Demonstrated excellence in written communication.
Work can be done remotely as employee commits to excellent communication with rest of team
BS, MS, or Ph.D. in relevant engineering discipline or equivalent experience.
10+ years of professional SW and/or FW development experience.
Proficiency in structured C/C++ programming.
Fluent in software design fundamentals.
Strong problem solver with a bias for action.
Not accepting third party agency submission for this role.
Eargo is an equal opportunity employer that is committed to hiring a diverse workforce. We welcome all applicants and employees without regard to race, color, religion, sex, pregnancy, sexual orientation, gender identity, national origin, age, protected veteran status, or disability status. We value unique contributions and openly welcome individuals of all perspectives, experience and backgrounds to apply!