Senior Software Engineer, Embedded Systems and Firmware
In this role, you will be responsible for all layers of software, from the platform up through the sensor stack and Wear OS, for first-party wearable devices. You will focus on the interaction between co-processors and the main AP complex, as well as the co-processor itself, and algorithms and related sensors. You will also work to influence future hardware architectures to push the boundary of highly efficient ambient computing.
The Platforms and Devices team encompasses Google's various computing software platforms across environments (desktop, mobile, applications), as well as our first party devices and services that combine the best of Google AI, software, and hardware. Teams across this area research, design, and develop new technologies to make our user's interaction with computing faster and more seamless, building innovative experiences for our users around the world.Individual pay is determined by factors including job-related skills, experience, and relevant education or training.US: $174000 - $253000 (USD) + 15% bonus target + equity + benefits
Learn more about benefits at Google.
- Develop and optimize the software platform for wearable co-processors, including board bring-up, AP/co-processor communication, and on-chip peripherals.
- Work with partner teams to improve sensors and CHRE frameworks.
- Build and maintain a developer-friendly environment and abstraction layers to support other teams working on the co-processor.
- Evaluate and prove out power, performance, and platform capabilities on new and unreleased hardware to inform next-generation wearable experiences.
- Integrate and enhance frameworks for algorithm development, data collection, telemetry, and testing (e.g., unit, integration, hardware-in-the-loop).
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 5 years of experience with software development in one or more programming languages (C++).
- 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.
- 3 years of experience working with embedded operating systems.
Preferred qualifications:
- Experience with RTOS (Real-Time Operating Systems) and Android build/development environments.
- Experience with multi-processor architectures and inter-processor communication.
- Experience with low-level debugging. Experience working with protobuf and RPCs.
- Experience with on-chip peripherals (e.g., I2C, SPI, UART).
- Knowledge of Unix/Linux environments and kernel development.