Software Engineer II, GPU
Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward.
Pixel Graphics System Software enables everything from simple low-power animations to rich UI, high-end games, and on-device image processing. We ensure these examples make the best use of the Pixel phones' distinctive GPU hardware, for which we integrate, customize and maintain third-party GPU driver stacks.
Our team also supports the GPU bring-up for new devices, works with partner and vendor teams to investigate graphics anomalies and slow performance, and comes up with new, innovative ways to use the GPU as part of a tightly-integrated device package
You will help to maintain and improve the GPU driver, help to support new Android releases and assist on bring-up activities of new platform designs, to provide the best user experience possible on current and future Pixel devices
The Core team builds the technical foundation behind Google’s flagship products. We are owners and advocates for the underlying design elements, developer platforms, product components, and infrastructure at Google. These are the essential building blocks for excellent, safe, and coherent experiences for our users and drive the pace of innovation for every developer. We look across Google’s products to build central solutions, break down technical barriers and strengthen existing systems. As the Core team, we have a mandate and a unique opportunity to impact important technical decisions across the company.
Responsibilities
- Learn about the Pixel GPUs and their supporting software.
- Work with senior engineers on the team to identify bugs and performance bottlenecks.
- Create and improve the tools Pixel's GPU team uses for testing new GPU silicon and analyzing the GPU's behavior.
- Work with teams across Pixel, Android, and Google to ensure that their software takes advantage of the Pixel GPU's capabilities.
- Collaborate with our partners around improvements and new features.
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 1 year of experience with data structures or algorithms.
- Experience coding in C++.
Preferred qualifications:
- Master's degree in Computer Science, Computer Engineering or a related technical field.
- Experience analyzing GPU-accelerated applications like games, image processing or GPGPU applications.
- Experience with embedded Linux or low-level Android programming.
- Experience with native Android debugging.
- Knowledge of the OpenGL ES, Vulkan, and/or OpenCL APIs.