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.
- 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.
Want more jobs like this?
Get Software Engineering jobs in Bangalore, India delivered to your inbox every week.
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.