Job Description
Minimum qualifications:
Bachelor's degree in Electrical/Electronics Engineering, Computer Engineering, Computer Science, or equivalent practical experience
2 years of development experience in C++
Experience in data structures and algorithms
Preferred qualifications:
Master's degree or PhD in Electrical/Electronics Engineering, Computer Engineering, Computer Science, or a related field
Experience with compilers
Experience in power and performance optimizations
Understanding of hardware, especially hardware that provides a high degree of parallelism
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 Googles 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
We are the team that builds Google Tensor Googles custom System-on-Chip (SoC) that powers the latest Pixel phones
Tensor makes transformative user experiences possible with the help of cutting-edge Machine Learning (ML) running on Tensor TPU
Our teams work enables Gemini Nano, our efficient AI model for on-device tasks to run on Pixel phones
Our goal is to productize the latest ML innovations and research by delivering computing hardware and software
vAs a Software Engineer you will work on developing ML compilers for the Tensor TPU to accelerate Generative AI and other complex machine learning models running on custom hardware accelerators
Along with your technical expertise, you will manage project priorities, deadlines, and deliverables
Google's mission is to organize the world's information and make it universally accessible and useful
Our team combines the best of Google AI, Software, and Hardware to create radically helpful experiences
We research, design, and develop new technologies and hardware to make computing faster, seamless, and more powerful
We aim to make people's lives better through technology
Responsibilities
Build compilers and tools that efficiently map ML models (with a particular focus on always-on computing use cases) to the hardware ISA
Evaluate various trade-offs of different parallelization strategies such as performance, power, energy and memory consumption
Collaborate with machine learning researchers to constantly improve the domain-specific compiler
Collaborate with hardware engineers to evolve future accelerators
Google is proud to be an equal opportunity workplace and is an affirmative action employer
We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status
We also consider qualified applicants regardless of criminal histories, consistent with legal requirements
See also Google's EEO Policy and EEO is the Law
If you have a disability or special need that requires accommodation, please let us know by completing our Accommodations for Applicants form
Show more Show less
Job Classification
Industry: IT Services & Consulting
Functional Area / Department: Engineering - Software & QA
Role Category: Software Development
Role: Software Development - Other
Employement Type: Full time
Contact Details:
Company: Google
Location(s): Bengaluru
Keyskills:
algorithms
computer science
data structures
software engineering
performance optimization
computer engineering
distributed computing