Software Engineer II, Embedded Systems/Firmware
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 1 year of experience with software development in one or more programming languages (e.g., Python, C, C++, Java, JavaScript).
- 1 year of experience with data structures and algorithms.
- 1 year of experience working with embedded operating systems.
Preferred qualifications:
- Master's degree or PhD in Computer Science or related technical field.
- Experience developing accessible technologies.
- Experience in back-end coding languages such as GOLang, Rust, or Java.
- Experience in ML model coding languages (e.g., Python).
About the job
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 to make the best use of the GPU in Pixel phones. We ensure these examples make the best use of the Pixel phones' distinctive GPU hardware, for which we integrate, customize, maintain and improve third-party GPU driver stacks.
Our team works in Pixel devices from SoC conception all the way to field deployment and beyond. We work closely with multiple teams at Google, including Android, Pixel Camera, Display, Video and Power. We regularly engage with partners and vendors to come up with innovative and more performant ways to use the GPU as part of a tightly-integrated device package.
Responsibilities
- Develop 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.
- Help evaluate and bring-up of devices, and work with product and engineering teams to define the role and requirements of the GPU in future product designs.
- Debug sophisticated user mode and kernel mode problems.
- Advise Android and Pixel leadership on performance and feature opportunities in graphics software, and scope solutions with partner teams inside and outside Google.