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 performance, large scale systems data analysis, visualization tools, or debugging.
Preferred qualifications:
- Master's degree or PhD in Computer Science or related technical fields.
- 2 years of experience with performance, large scale systems data analysis, visualization tools, or debugging.
- 2 years of experience with data structures or algorithms in either an academic or industry setting.
- Knowledge of approximation methods and randomized algorithms.
- Knowledge of database indexing design, ML algorithms, and/or computational geometry.
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.
Approximate Aggregations SWEs are highly specialized algorithm engineers who research, build, optimize, and maintain sketching libraries and AI-related approximate algorithms in multiple programming languages to support critical use cases throughout Google. You will work closely with the GoogleSQL team and other product teams throughout Core Data to extend the language and coordinate complex integration chains to enable end-to-end support for approximation and AI-related features across the Core Data 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
- Build new sketching libraries and approximation methods to support new, critical use cases, including ML workloads
- Work on 'AI components' for query processing, such as k-means clustering in GoogleSQL and vector/semantic search quantization improvements
- Optimize and maintain existing sketching libraries (HLL++, KLL, D4M, etc.) in C++, Java and/or Go
- Integrate new approximation features into the GoogleSQL language and libraries
- Investigate state-of-the-art algorithms or augmentations to existing solutions based on research papers and prototyping