Role overview
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.
What you'll work on
- Work on artificial intelligence components for query processing, such as k-means clustering and Chamfer distance in GoogleSQL and vector/semantic search quantization improvements.
- Build new sketching libraries and approximation methods to support new, critical use cases, including Machine Learning workloads.
- Optimize and maintain existing sketching libraries (e.g., HyperLogLog++, K-Least-Limit, Distributed Discrete Dot-product Method, etc.) in C++, Java or Go.
- Advise user teams on appropriate algorithm choices, and participate in team rotation for user questions and troubleshooting.
- Work with partner teams (e.g., F1, Napa, BigQuery, Spanner) on toolstack integrations and library adoptions; drive and coordinate integration chains.
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.
What we're looking for
- Master’s degree or PhD in Engineering, Computer Science, or a related technical field.
- 5 years of experience with data structures and algorithms.
- Experience or interest in project and integration chain coordination, as well as experience with cross-team or cross-organization collaborations and integrations.
- Knowledge of approximation methods and randomized algorithms.
- Knowledge of database indexing design, ML algorithms, or computational geometry.
- Excellent communication skills with stakeholders and partner teams.