Software Engineer, Embedded Systems, Pixel Touch
Summary
Write and optimize embedded C/C++ firmware for Pixel device touch controllers, working across custom silicon, Linux kernel drivers, and the Android framework to deliver low-latency touch and haptic experiences on next-generation Pixel phones.
The Pixel System Software organization crafts the core software foundation powering Google's flagship consumer hardware. Within this group, the Pixel Touch and Haptics Team is directly responsible for engineering the fluid, low-latency, and high-fidelity physical interaction layer across next-generation Pixel devices. We operate at the intersection of custom silicon, embedded firmware, Linux kernel drivers, and the Android framework to redefine how millions of users interact with their devices every day.
US: $174000 - $252000 (USD) + 15% bonus target + equity + benefits
Learn more about benefits at Google.
- Write, optimize, and test low-level embedded system and firmware development code in C/C++ for Pixel touch controllers and input subsystems.
- Participate in and lead technical design reviews with cross-functional hardware, research, and Android teams to evaluate and select touch architectures.
- Review code developed by peers, providing technical feedback to ensure adherence to style guidelines, testability, architectural integrity, and runtime efficiency.
- Contribute to and maintain technical documentation, bring-up guides, and diagnostic runbooks, adapting content based on hardware revisions and product feedback.
- Triage, debug, track, and resolve complex touch system issues by analyzing root causes across silicon firmware, kernel drivers, and hardware interactions.
Minimum qualifications:
- Bachelor’s degree in Computer Science, Electrical Engineering, Computer Engineering, a related technical field, or equivalent practical experience.
- 5 years of experience with software development in C or 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 and firmware environments.
- Experience developing, debugging, and maintaining low-level device drivers or hardware-software interfaces.
Preferred qualifications:
- Master's degree or PhD in Computer Science, Electrical Engineering, or a related technical field.
- 5 years of experience with data structures, algorithms, and performance optimization in resource-constrained systems.
- 1 year of experience in a technical leadership role mentoring engineers or guiding technical workstreams.
- Experience with Linux kernel development (input subsystem, I2C/SPI bus drivers) and the Android Framework (EventHub, InputReader, HIDL/AIDL).
- Experience developing accessible technologies, touch/haptic interfaces, or systems programming in Rust.