Software Engineer, OpenXLA - Google
Sunnyvale, CA
About the Job
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 5 years of experience with software development in one or more programming languages, and with data structures/algorithms.
- 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.
- Experience in C++ or Python.
Preferred qualifications:
- Experience with ML developer infrastructure.
- Experience developing tools and infrastructure.
- Experience with SQL to develop impact tracking dashboards.
- Ability to collaborate across teams and organizational boundaries.
- Interest in problems ML developers are facing.
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.With your technical expertise you will manage project priorities, deadlines, and deliverables. You will design, develop, test, deploy, maintain, and enhance software solutions.
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.
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.
The US base salary range for this full-time position is $161,000-$239,000 + bonus + equity + benefits. Our salary ranges are determined by role, level, and location. The range displayed on each job posting reflects the minimum and maximum target for new hire salaries for the position across all US locations. Within the range, individual pay is determined by work location and additional factors, including job-related skills, experience, and relevant education or training. Your recruiter can share more about the specific salary range for your preferred location during the hiring process. Please note that the compensation details listed in US role postings reflect the base salary only, and do not include bonus, equity, or benefits. Learn more about benefits at Google.
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.