Поиск — один из крупнейших и самых технологичных продуктов Яндекса. Каждый день он помогает десяткам миллионов людей находить ответы на сложные вопросы, решать повседневные задачи и принимать осознанные решения. Мы строим внутри Поиска сервис для выбора и покупки недвижимости, где каждый может найти свой новый дом быстро, удобно и безопасно. Это сложная инженерная система, работающая с огромными массивами данных, ML-моделями и рекомендациями. Вам предстоит разрабатывать ключевые бэкенд-компоненты продукта, с которыми напрямую взаимодействует наша аудитория.

Обязанности:

Развитие продукта и командное взаимодействие
Вы будете погружаться в контекст, разрабатывать новые фичи и улучшать качество поиска недвижимости. Предстоит искать оптимальные технические решения в тесной связке с фронтенд-разработчиками, менеджерами продукта, ML-специалистами и аналитиками, а также проводить А/B-эксперименты, чтобы влиять на развитие сервиса на основе реальных данных. Проектирование отказоустойчивой архитектуры
Вы будете разрабатывать гибкие API под нужды бизнеса и проектировать масштабируемые распределённые системы. Важной частью работы станет оптимизация бэкенда: вам предстоит проводить ревью кода, находить узкие места в микросервисах, снижать потребление ресурсов и обеспечивать надёжность платформы. Интеграция ML и работа с Big Data
Сервис опирается на алгоритмы и рекомендации, поэтому вам предстоит работать с инфраструктурой больших объёмов данных. Нужно будет интегрировать готовые ML-модели в высоконагруженное production-окружение и вместе с командой развивать алгоритмы поиска, делая выдачу точнее и быстрее. Больше о бэкенде в Яндексе — в канале Yandex for Backend

Ключевые навыки:

  • Отлично разбираетесь в С++ и знаете STL или уверенно владеете другим ООП-языком и заинтересованы в переходе на С++
  • Отлично владеете классическими алгоритмами и структурами данных
  • Понимаете принципы многопоточного, асинхронного программирования и сетевого взаимодействия
  • Хорошо понимаете микросервисную архитектуру, разрабатывали веб-приложения
  • Умеете тестировать свой код и стремитесь к высокой стабильности систем
  • Внимательны к деталям, пишете надёжный и производительный код
  • Хотите видеть, как ваша работа делает жизнь миллионов пользователей проще и удобнее

Дополнительные требования:

  • Проектировали и эксплуатировали высоконагруженные системы
  • Работали с распределёнными системами и Big Data
  • Интегрировали ML-модели
  • Участвовали в разработке поисковых и рекомендательных систем
  • Умеете эффективно разбираться в чужом коде и стремитесь к лаконичным техническим решениям