🔥

Не упустите лучшие вакансии!

Подключите наш Telegram-бот и получайте мгновенные уведомления о новых предложениях из 10+ источников. Будьте первым, кто откликнется!

Подключить бота

Разработчик в команду Plutonium

Яндекс
Москва
Гибридный, Офис
Опубликовано: 23 Oct 2025

Мы разрабатываем Plutonium — систему управления распределёнными поисковыми индексами. Поисковые индексы используются во всех ключевых продуктах Яндекса: Поиске, Рекламе, Маркете и т. д. За время развития компании появилось большое количество разных фреймворков и механизмов для построения и использования индексов. Project Plutonium — это обобщение успеха поисковых технологий на все крупные сервисы, призванное решить проблему разнородных подходов. Такое обобщение не просто уменьшает технический долг, но и увеличивает стабильность продуктов, добавляет недостающую функциональность.

Мы предоставляем новый унифицированный механизм потокового построения индексов, сервисы для организации эффективного рантайма и сложный control plane, который оркестрирует процесс доставки и использования различных шардов данных.

Сервисы, построенные по нашей технологии, хранят петабайты данных, обрабатывают сотни миллионов операций чтения с NVMe в секунду, при этом доставляют обновления данных за минуты.

Наш стек: С++ для контроллеров, немного Go и Python, ОС Linuх. Храним петабайты данных в S3, а метаданные храним в YTsaurus.

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

Ускорение движка доставки шардов
У нас есть реализованный конечный автомат состояний шарда поискового индекса. В случае, когда дельты появляются быстро, скорость доставки оказывается на критичном пути возраста данных. В рамках ускорения нужно поддерживать трейсинг, оптимизировать как известные места, где мы тратим время, так и новые, найденные с помощью трейсов.

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

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

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

Мы ждем, что вы

  • Умеете и любите писать код на современном С++
  • Ответственно подходите к разработке, внимательны к деталям
  • Хорошо знакомы с классическими алгоритмами и структурами данных
  • Открыты, легко ладите с коллегами

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

  • Разрабатывали сетевые, многопоточные или распределённые программы или прошли углублённые обучающие курсы по этим направлениям
  • Владеете Linux на уровне разработчика
  • Успешно участвовали в олимпиадах по техническим предметам в школе или университете
🚀

Ваше резюме увидят первым!

Автоматическое поднятие на HeadHunter каждые 4 часа. Увеличьте свои шансы на успех в 10 раз!

Подключить автоподнятие