Разработчик на C++ в ML-инфраструктуру рекомендаций Яндекс Еды (MLOps)

Яндекс · Россия · по договорённости

Компания
Яндекс
Город
Россия
Зарплата
по договорённости
Уровень
senior
Формат
удалённо
Удалённо
да

Мы ищем бэкенд-разработчика, который поможет развивать ML-инфраструктуру поиска и рекомендаций Яндекс Еды.

Наши сервисы работают под высокой нагрузкой: например, через ранжирование главной страницы проходят тысячи запросов в секунду. При этом новые возможности рекомендаций напрямую влияют на пользовательский опыт и результаты бизнеса. Поэтому для нас одинаково важны скорость разработки, надёжность системы и эффективное использование вычислительных ресурсов.

Основная часть сервисов написана на C++. Вам предстоит с первых задач развивать существующую кодовую базу.

Что предстоит делать:
Инфраструктура для моделей рекомендаций

Мы строим production-инфраструктуру для моделей, которые улучшают поиск и рекомендации: от подготовки эмбеддингов и управления версиями до быстрого и надёжного инференса под реальной нагрузкой. Вы будете безопасно раскатывать новые версии, следить за согласованностью моделей и эмбеддингов, развивать мониторинг качества и быстро обнаруживать ухудшения ранжирования. Глубоко заниматься устройством самих нейросетей не потребуется: команда получает готовые модели и отвечает за их интеграцию и работу в продакшене.

Платформа пользовательских профилей

Мы хотим быстрее учитывать свежие сигналы о действиях пользователя в поиске и рекомендациях. Здесь много интересных задач по распределённым системам: обработка событий exactly-once, шардирование и обновление больших профилей, объединение сигналов из разных источников, согласованность онлайн- и офлайн-фич, восстановление данных и мониторинг всего пути от события до ответа модели. Предстоит работать с потоковой обработкой данных, динамическими таблицами и распределёнными хранилищами. Вы сможете повлиять на архитектуру платформы для разных ML-команд.

Межсервисное взаимодействие

Вы будете участвовать в развитии взаимодействия сервисов на базе gRPC: проектировать Protobuf-контракты, улучшать общие инструменты и библиотеки, а также обеспечивать надёжность сервисных интеграций.

Больше о бэкенде в Яндексе — в канале Yandex for Backend

Требования:
• Занимались бэкенд-разработкой на C++ и готовы с первых задач работать с большой существующей кодовой базой
• Понимаете, как проектировать и эксплуатировать высоконагруженные сервисы и распределённые системы
• Умеете самостоятельно разбираться в сложной задаче, договариваться со смежными командами и доводить решение до продакшена
• Интересуетесь рекомендательными системами и инфраструктурой вокруг ML. Знакомство с RecSys и современными ML-моделями будет полезно, но глубоких знаний об устройстве нейросетей мы не требуем

Будет плюсом:
• Уверенно владеете Python
• Работали с рекомендательными или поисковыми системами либо с MLOps
• Знакомы с gRPC, Protobuf, userver, потоковой обработкой данных или распределёнными хранилищами

Узнайте про разработку Городских сервисов Яндекса на [dev.go.yandex]([контакты и ссылка отклика — после бесплатной регистрации]

Открыть и откликнуться →

Отклик ведёт на сайт работодателя. Бесплатная регистрация открывает отклик и разбор резюме.

Многих вакансий каталога нет на агрегаторах

10500+ вакансий от 1600+ компаний — в основном напрямую с карьерных сайтов и из Telegram-каналов. У 900+ из них есть контакт нанимающего: пишешь человеку, а не в общую очередь. Регистрация бесплатная — откроет контакты и подбор вакансий под твоё резюме.