Job Description
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.
Our team's mission is protecting billions of Android users from abusive apps, including malware, content abuse, impersonation, and behavioral abuse. We develop products and services to ensure a safe and high quality experience for users of Android apps across the Android ecosystem. We also protect Google's brand and business. Our work spans our production infrastructure and novel research (publishing in security conferences). Our efforts sit in the areas such as supervised/unsupervised ML and generative AI for detecting content, privacy, and security violations, static program analysis of multiple languages used by Android apps, dynamic program analysis on secure environments in both real devices and Virtual Machines (VMs), enhancing and automating reverse-engineering and threat mitigation, and agentic AI threat models and defense.Android is Google’s mobile operating system powering more than 3 billion devices worldwide. Android is about bringing computing to everyone in the world. We believe computing is a super power for good, enabling access to information, economic opportunity, productivity, connectivity between friends and family and more. We think everyone in the world should have access to the best computing has to offer. We provide the platform for original equipment manufacturers (OEMs) and developers to build compelling computing devices (smartphones, tablets, TVs, wearables, etc) that run the best apps/services for everyone in the world. Responsibilities
- Architect, design, and implement hardware for novel systolic array accelerators.
- Own subsystems up to the entire accelerator, carry the implementation of those subsystems from requirements through design sketches, implementation, timing closure, through tapeout, and into bringup and application mapping.
- Collaborate with application, algorithm, and performance-tuning experts to codesign solutions for the best efficiency, performance, and programmability.
- Write code for accelerators to meet up with production requirements at the system, library, and application levels.
- Bring a generalist approach to computer systems beyond specific hardware-related skills, interfacing with colleagues in a wide span of disciplines.
Qualifications Minimum qualifications:
- Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, a related field, or equivalent practical experience.
- 10 years of experience with leading multiple design domains (Design For Test, Design Verification and Physical Design).
- 5 years of experience with logic design, computer architecture, and circuit theory.
- 5 years of experience in power or performance modeling or system performance analysis.
Preferred qualifications:
- Master's degree or PhD in Electrical Engineering, Computer Engineering or Computer Science, with an emphasis on computer architecture.
- 2 year of experience in linux kernel programming.
- Experience with processor core architectures (such as ARM, x86, RISC-V, etc.) and IPs commonly used in SoC designs.