Minimum qualifications:
Bachelor's degree in Computer Science, Electrical Engineering, or equivalent practical experience.
2 years of experience with software development in one or more programming languages, or 1 year of experience with an advanced degree.
2 years of experience with data structures or algorithms.
2 years of experience with full stack development, across back-end such as Java, Python, Golang, or C++ codebases, and front-end experience including JavaScript or TypeScript, HTML, CSS or equivalent.
Preferred qualifications:
Master's degree or PhD in Computer Science, or a related technical field.
Experience with low-level and low intrusiveness developer tooling concepts such as profiling, instrumentation, API tracing, hardware tracing.
Experience in power and performance optimizations.
Experience with Machine Learning Concepts.
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 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.
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 tools that compliments compiler to 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, applied ML and compiler teams to constantly improve the domain-specific toolings.
Optimize ML models for Google Tensor and make the process repeatable and automatable as much as possible.
Design and implement tools that can correlate performance data at a ML graph level and logical hardware level.
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.