Software Engineer III, Embedded, Pixel Graphics
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.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.
Responsibilities
- Develop Graphics Processing Unit (GPU) graphics and compute technologies spanning the full GPU software stack.
- Seek general solutions to problems, minimizing application or device-specific workarounds to serve users of all Pixel devices, including in-market devices.
- Evaluate and bring-up devices and work with product and engineering teams to define the role and requirements of the GPU in future product designs.
- Advise Android and Pixel leadership on performance and feature opportunities in graphics software and scope solutions with partner teams inside and outside Google.
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 2 years of experience in low level systems programming languages (e.g., C++ or C), or 1 year of experience with an advanced degree.
- 2 years of experience working with embedded operating systems.
- Experience writing low-level graphics Application Programming Interface (API) code.
Preferred qualifications:
- 2 years of experience with data structures or algorithms.
- Experience writing low-level graphics API code.
- Experience with C or C++.
- Experience analyzing GPU-accelerated applications like games, image processing, or GPGPU applications
- Experience in writing or contributing to graphics drivers and knowledge of the OpenGL ES, Vulkan, or OpenCL APIs.