← Все вакансии/Senior/Yandex Food
SeniorHybrid

C++ Developer

YF
Yandex Food
Уровень
Senior
Формат
Hybrid
О роли

Описание вакансии

О команде

Наша команда отвечает за поиск и рекомендации в приложении Яндекс Еды. Поиск — это сердце приложения. Из-за большого количества заведений и предложений невозможно представить успешный пользовательский сценарий без использования поиска. Мы экономим время наших пользователей, позволяя им максимально быстро находить нужный товар и сравнивать его с аналогами. Яндекс Еда активно развивается, товаров становится всё больше — мы предоставляем удобные инструменты для выбора оптимального предложения.

Какие задачи вас ждут:

  • Вести крупные изменения в поиске end-to-end. Вы будете отвечать за бэкенд крупных инициатив — от идеи и RFC до выката в продакшен и анализа результата. Например, настраивать поиск с учётом специфики новой вертикали: работать с разными сущностями — ресторанами, блюдами, товарами, лекарствами или цветами; учитывать пользовательские сценарии, правила отображения, фильтры, доступность предложений и бизнес-ограничения. Нужно будет погружаться в продуктовую проблему, проектировать техническое решение, согласовывать его со смежными командами, писать код и безопасно раскатывать его на пользователей.
  • Развивать поиск по миллионам товаров, блюд и заведений. В Яндекс Еде есть большой и постоянно меняющийся каталог: рестораны, блюда, продукты, аптеки, цветы, dineout и т. д. Вам предстоит развивать общий поиск так, чтобы он быстро и стабильно работал на большом объёме данных и при этом учитывал специфику разных вертикалей: географию, время доставки, расписание заведений, промо и другие факторы, которые влияют на выбор пользователя.
  • Работать над качеством и релевантностью поисковой выдачи. Поиск должен помогать пользователю быстро находить именно то, что он имел в виду. Вместе с аналитиками, ML-разработчиками и продактами вы будете разбирать пользовательские сценарии, проблемные запросы, пустые и нерелевантные выдачи, формулировать гипотезы и проверять их в продукте. Со стороны бэкенда нужно будет интегрировать готовые ML-решения в поисковый сценарий и закладывать возможность экспериментов с разными моделями.
  • Проектировать архитектуру поисковых сервисов. Предстоит развивать бэкенд-сервисы, которые отвечают за поиск, индексацию, получение и обогащение данных, формирование выдачи и интеграции со смежными системами. Нужно будет принимать архитектурные решения с учётом высокой нагрузки, низкой latency, отказоустойчивости, роста каталога и специфики разных вертикалей.
  • Отвечать за стабильность, скорость и качество поиска в проде. Поиском каждый день пользуются миллионы людей, поэтому важны не только новые фичи, но и надёжная эксплуатация. Вы будете развивать мониторинги и алерты, разбирать деградации, оптимизировать latency, помогать сервисам выдерживать пиковую нагрузку и продумывать фолбэки, чтобы поиск оставался быстрым и устойчивым.

Мы ждём, что вы:

  • Разрабатывали бэкенд, имели дело с высоконагруженными системами.
  • Работали с PostgreSQL или другими реляционными базами данных, умеете их эксплуатировать под нагрузкой.
  • Хорошо знаете и понимаете C++, STL, классические алгоритмы и структуры данных.
  • Умеете согласовывать требования со смежными командами или продакт-менеджерами.

Будет плюсом, если вы:

  • Работали с очередями сообщений: Kafka, RabbitMQ.
  • Использовали фреймворк userver.
  • Умеете проектировать микросервисную архитектуру.
  • Знакомы с продуктовыми метриками.
Стек и навыки

С чем работаем