Senior Software Engineer, Performance, Machine Learning Accelerators - Google
Raleigh, NC
About the Job
Minimum qualifications:
- Bachelor's Degree in Computer Science or equivalent practical experience.
- 5 years of professional software development experience.
- Experience coding in any one of the following languages: C++ or Python.
- Experience in performance engineering or performance analysis.
Preferred qualifications:
- Master's Degree or Ph.D. with an emphasis on performance evaluation or performance analysis of Machine Learning (ML) Systems.
- Experience with simulators, especially hardware simulators.
- Experience with computer architecture, especially System on a Chip (SoC) architecture.
- Experience with ML algorithms.
- Experience with Hardware/Software Co-design.
About the job
Google Cloud's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. 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 Cloud's needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. You will anticipate our customer needs and be empowered to act like an owner, take action and innovate. 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 Cloud accelerates every organization’s ability to digitally transform its business and industry. We deliver enterprise-grade solutions that leverage Google’s cutting-edge technology, and tools that help developers build more sustainably. Customers in more than 200 countries and territories turn to Google Cloud as their trusted partner to enable growth and solve their most critical business problems.
Responsibilities
- Collaborate with teams across the Machine Learning (ML) hardware/software stack.
- Develop Tensor Processing Unit (TPU)/Graphics Processing Unit (GPU) performance methodology.
- Co-design Hardware/Software to discover what Google needs to build today to meet tomorrow's Artificial Intelligence (AI) goals.
- Develop and contribute using C++ or Python to ML models, compilers, ML systems, TPU accelerators, etc.
- Evaluate performance/cost trade-offs of hardware features and software optimization techniques.