Software Engineer III, OpenXLA - Google
Sunnyvale, CA
About the Job
Minimum qualifications:
- Bachelor’s degree 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 in an industry setting.
- 2 years of experience with data structures or algorithms in either an academic or industry setting.
- 2 years of experience with Machine Learning (ML) algorithms and tools (e.g., TensorFlow), Artificial Intelligence (AI), deep learning or natural language processing.
Preferred qualifications:
- Master's degree or PhD in Computer Science, or a related technical field.
- 2 years of experience with performance, large scale systems data analysis, visualization tools, or debugging.
- Experience developing accessible technologies.
- Experience with compiler development and open source.
- Understanding of code and system health, diagnosis and resolution, and software test engineering.
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.
In this role, you will aim to make OpenXLA the best place for Machine Learning (ML) acceleration innovation. OpenXLA is an open-source ML compiler that powers Tensorflow, JAX and PyTorch/XLA. It accelerates ML models on Central Processing Units (CPU) and Graphics Processing Units (GPU). You will work on the stack (the hardware-independent bits), which includes StableHLO, HLO, XLA components and Application programming interface (API), and compiler tooling for faster model debugging. You will make OpenXLA the best place for ML accelerator and for vendors and compiler research, ensuring they can plug their hardware specific optimizations, code generation, and contributions into the OpenXLA stack.
The Core team builds the technical foundation behind Google’s flagship products. We are owners and advocates for the underlying design elements, developer platforms, product components, and infrastructure at Google. These are the essential building blocks for excellent, safe, and coherent experiences for our users and drive the pace of innovation for every developer. We look across Google’s products to build central solutions, break down technical barriers and strengthen existing systems. As the Core team, we have a mandate and a unique opportunity to impact important technical decisions across the company.
Responsibilities
- Write product or system development code. Participate in, or lead design reviews with peers and stakeholders to decide among available technologies.
- Review code developed by other developers and provide feedback to ensure best practices (e.g., style guidelines, checking code in, accuracy, testability, and efficiency).
- Contribute to existing documentation or educational content and adapt content based on product/program updates and user feedback.
- Triage product or system issues and debug/track/resolve by analyzing the sources of issues and the impact on hardware, network, or service operations and quality.
- Contribute to the teams mission by learning and contributing to StableHLO, XLA and help in engaging with stakeholders who integrate with OpenXLA.