Staff Software Engineer, Pixel Performance
Summary
Develops and optimizes performance-critical software for Google Pixel devices, focusing on system efficiency, power management, and cross-functional hardware-software integration.
With your technical expertise you will manage project priorities, deadlines, and deliverables. You will design, develop, test, deploy, maintain, and enhance software solutions.
As a part of the Pixel Device Performance Software Team, you will be responsible for all things performance for Pixel phones and tablets, from developing OS performance management software, tuning device policy, collecting performance metrics, analyzing and profiling workloads. You will work with cross-functional teams to create innovative and efficient solutions that utilize system resources such as CPU and fabric in the SoC and ensure the system runs smoothly to support key use cases.The Google Pixel team focuses on designing and delivering the world's most helpful mobile experience. The team works on shaping the future of Pixel devices and services through some of the most advanced designs, techniques, products, and experiences in consumer electronics. This includes bringing together the best of Google’s artificial intelligence, software, and hardware to build global smartphones and create transformative experiences for users across the world.
- Profile and analyze critical user journeys to identify and improve performance and power efficiency for Pixel devices.
- Develop new algorithms for improving Android workload efficiency (Dynamic Voltage and Frequency Scaling (DVFS), governors, scheduler, runtimes), evaluating software and hardware design choices on key workloads.
- Define, design, and implement novel approaches to make the software significantly more performant.
- Analyze the utilization of the key component of System on a Chip (SoC) like Central Processing Unit (CPU), Graphics Processing Unit (GPU), and Fabric.
- Improve the performance of various subsystems in Pixel phones, from kernel task scheduling to Android framework service, debugging difficult software optimization issues.
Minimum qualifications:
- Bachelor's degree or equivalent practical experience.
- 8 years of experience programming in C++ or Python.
- 5 years of experience testing, and launching software products.
- 5 years of experience working with Linux operating systems.
- 3 years of experience with software design and architecture.
Preferred qualifications:
- Master’s degree or PhD in Engineering, Computer Science, or a related technical field.
- 8 years of experience with data structures and algorithms.
- 3 years of experience in a technical leadership role leading project teams and setting technical direction.
- 3 years of experience working in a complex, matrixed organization involving cross-functional, or cross-business projects.