Рекламная сеть Яндекса (РСЯ) — крупнейшая платформа монетизации в рунете. Она объединяет десятки тысяч сайтов и мобильных приложений. Наши технологии ежедневно обрабатывают миллиарды запросов и подбирают наиболее релевантную рекламу для каждого пользователя с помощью машинного обучения. Наша команда развивает классический инвентарь РСЯ и создаёт новые умные рекламные форматы. Мы разрабатываем решения, которые адаптируют дизайн рекламы под контент площадки (нейродизайн), оптимизируют расположение блоков (авторасстановка) и обеспечивают бесшовную интеграцию рекламы. Мы ищем сильного инженера, владеющего C++, в нашу команду. Вы будете работать на стыке продуктовой разработки и хардкорного бэкенда: проектировать отказоустойчивые сервисы с latency в миллисекунды, оптимизировать потребление ресурсов и внедрять новые фичи, которые напрямую влияют на выручку Яндекса и наших партнёров.

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

Разработка умных рекламных форматов
Вы будете создавать новые форматы рекламы (например, Overlay-блоки) и улучшать существующие. Используя ML, вы будете генерировать дизайн «на лету» (нейродизайн) и автоматически выбирать оптимальное место для показа рекламы на сайте партнёра (авторасстановка). Вам предстоит интегрировать эти ML-модели в высоконагруженный бэкенд на C++, напрямую влияя на эффективность монетизации десятков тысяч площадок. Оптимизация компонентов
Наши сервисы обрабатывают сотни тысяч RPS, поэтому производительность критически важна. Вы будете профилировать код, оптимизировать работу с памятью и сетью, чтобы снизить время ответа (latency) и повысить надёжность системы. В нашей сильной инженерной культуре принято разбирать задачи на атомы: каждая сэкономленная миллисекунда приносит реальную пользу бизнесу и пользователям. Проектирование архитектуры сервисов
РСЯ постоянно растёт, и мы регулярно запускаем новые продукты. Вы будете участвовать в архитектурных ревью, проектировать масштабируемые решения для интеграции с внешними платформами и внутренними сервисами Яндекса. Мы поощряем исследовательский подход и поиск нестандартных решений для сложных технологических вызовов. Больше о бэкенде в Яндексе — в канале Yandex for Backend

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

  • Уверенно владеете C++ (стандарты 17/20)
  • Знаете STL
  • Понимаете принципы управления памятью и особенности многопоточного программирования
  • Имеете опыт коммерческой разработки высоконагруженных распределённых систем от трёх лет
  • Отлично знаете классические алгоритмы и структуры данных
  • Умеете оценивать асимптотическую сложность кода
  • Понимаете внутреннее устройство ОС Linux и принципы работы сетевых протоколов (TCP/IP, HTTP, gRPC)
  • Умеете профилировать код, находить узкие места производительности и оптимизировать их
  • Пишете чистый, тестируемый код
  • Готовы участвовать в код-ревью

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

  • Применяли ML-модели в продакшене (CatBoost, нейросети)
  • Работали с технологиями рекламного рынка (AdTech, RTB)
  • Знакомы с экосистемой больших данных (MapReduce, ClickHouse)
  • Пишете на Python или Go для автоматизации рутины и создания вспомогательных сервисов