Machine Learning Staff Software Engineer, Search Personalization

Google
Mountain View, CA, USA

About the job

As a part of the Discover Personalization team, you will help people feel positively connected and informed about the world around them by delivering the pulse of the Internet that matters to you, within Google Search. You will contribute to the key product's appeal, which lies in having an understanding of users and will be laser focused on building foundational user models for users using all of their interactions across Google products, and leveraging them to power Discover’s retrieval and ranking. You will manage some of the toughest ML and Quality problems, including Neural Deep Retrieval, Activity Clustering, Reinforcement Learning and Multi-Objective Ranking.

Responsibilities

Design and implement personalized user models to optimize for user happiness, including Neural Deep Retrieval Models, Deep Neural Network Ranking/Scoring models, User/Content Clustering Models, Large Language Models (LLM)-based Retrieval Augmented Generation Models, and more.

Build user and content clustering models to enable core personalization and ranking use cases.

Enhance model performance and personalization precision/recall through advanced modeling techniques such as transformers, distillation, reward shaping, multi-task learning, neural bandits, etc. and capabilities through feature engineering, automatic parameter tuning, label quality engineering, etc.

Scale the model's applications to a multitude of modalities (content, queries, videos and notifications) and use cases (retrieval, ranking, content generation, diversification, etc.).

Create next-generation realtime ML models that can capture new user interests and world trends in seconds and scale model training and serving to billions of users.

Qualifications

Minimum

Bachelor’s degree or equivalent practical experience.

8 years of experience with one or more general purpose programming languages including but not limited to: Java, C/C++ or Python.

8 years of experience in software development.

5 years of experience building and deploying recommendation systems models (retrieval, prediction, ranking, embedding) in production and experience building architecture in different modeling domains.

5 years of experience with ML design and ML infrastructure (e.g., model deployment, model evaluation, data processing, debugging, fine tuning).

5 years of experience testing, and launching software products, and 3 years of experience with software design and architecture.

Preferred

8 years of experience with data structures and algorithms.

6 years of ML or Quality experience working on recommendation systems.

Experience in recommender systems, clustering algorithms, SQL, deep model.

Experience in C++, Dremel/F1 and TensorFlow.

Experience working with research.

Ability to drive quality projects end-to-end from design to implementation to eventual launch.