- ГородМосква
- ФорматГибрид
- ЗанятостьПолная занятость
- ОпытНе указан
Яндекс Ритм — рекомендательный сервис для поиска товаров и услуг. Наш основной продукт — бесконечная контентная лента: она живет на главной Яндекса на [ya.ru]() и в поисковом приложении, а еще у нас есть отдельный веб-сервис и приложения для iOS и Android. Каждый день лента показывает пользователям десятки миллионов карточек и подстраивается под то, что человеку интересно именно сейчас.
Цель сервиса — показать пользователю самый интересный контент среди доступных предложений и вырастить длительность просмотра, клики и покупки. Для этого мы строим собственный рекомендательный контур, работаем с десятком внутренних сервисов — рекомендациями, поиском, статистикой, модерацией, — а также обеспечиваем загрузку и импорт контента и поддерживаем всю инфраструктуру сервиса.
Команда бэкенда пишет на C++ и отвечает за все, что происходит между запросом пользователя и готовой лентой: отбор кандидатов и ранжирование через сервис рекомендаций, обогащение карточек данными, логирование для обучения моделей и доставку всего этого на разные поверхности за сотни миллисекунд.
Какие задачи вас ждут:
Умное смешивание контента в ленте
Сейчас лента собирается из карточек разных типов, и каждый источник отбирает лучшее со своей точки зрения. Главный вопрос, на который мы отвечаем: контент какого типа интереснее конкретному пользователю прямо сейчас? Вы будете строить технологию смешивания — от быстрой эвристики, которая уже регулирует состав ленты, до полноценного ранжирования самих карточек с помощью моделей.
Ограничения здесь вполне инженерные: ранжирование должно укладываться в сотни миллисекунд на запрос, реакцию пользователя нужно учитывать как можно быстрее, а новый тип карточек — подключать без переписывания половины сервиса. Вам предстоит реализовывать этот контур, доставлять признаки и выстраивать логирование так, чтобы на этих данных можно было обучать модели.
Новые типы контента и общая база объектов
Мы расширяем состав ленты за счет интеграций с внутренними и внешними сервисами: у каждого своя модель контента, свои идентификаторы и свой способ отдавать рекомендации. Ваша задача — сделать так, чтобы подключение очередного источника было рутиной, а не проектом на квартал.
Для этого мы строим общую базу объектов: единое представление карточки, ее признаки и накопленную статистику, а также доставку всех этих данных до сервиса рекомендаций. Здесь вы будете придумывать схему хранения, продумывать архитектуру интеграций и решать, что считать онлайн, а что с помощью офлайн-процессов.
Развитие платного продвижения
Часть карточек в ленте продвигается за деньги, и это отдельный технический контур: отбор продвигаемых объектов, аукцион, предсказание вероятности клика, связка карточек с рекламными кампаниями и учет конверсий. Вы будете развивать рекламное ранжирование вместе с ML-инженерами и аналитиками — от формулы отбора до скорости, с которой новый продвигаемый объект доезжает до выдачи.
Задача интересна тем, что здесь все время приходится соблюдать баланс: продвижение приносит выручку, но конкурирует за внимание пользователя с органическим контентом. Решения принимаются на основе экспериментов, и вы будете видеть эффект своей работы и в деньгах, и в продуктовых метриках.
Масштабирование на новые поверхности и пользовательские сценарии
Ритм расширяет список площадок, на которых показывается лента, поэтому вам предстоит поддерживать такие интеграции: управлять тем, какой набор контента доступен на конкретной поверхности, и учитывать ее ограничения. Отдельный пласт работы — новые пользовательские сценарии, часто находящиеся на стыке нескольких сервисов Яндекса, которые повышают вовлеченность и приносят прибыль.
Инфраструктура и данные сервиса
Вы будете работать с YDB, заниматься обработкой данных и офлайн-процессами: считать статистику по объектам, готовить данные для моделей, поддерживать регулярные расчеты и следить за тем, чтобы все это не деградировало под нагрузкой.
Больше о бэкенде в Яндексе — в канале Yandex for Backend
Мы ждем, что вы:
- Отлично владеете C++ и стандартной библиотекой
- Разбираетесь в базовых алгоритмах и структурах данных
- Умеете писать скрипты на Python
- Понимаете, как устроены высоконагруженные сервисы, и умеете искать узкие места
- Хотите участвовать в жизни продукта и вносить собственные идеи
Будет плюсом:
- Работали с YDB или другими распределенными базами данных
- Занимались обработкой больших объемов данных в офлайн-пайплайнах
- Знакомы с фреймворком userver
- Имеете опыт работы с рекомендательными или поисковыми системами.
- Умеете работать с ML-моделями в продакшене — пусть и со стороны бэкенда
Опубликовано 15 октября 2026 · IT и разработка