Разработчик в команду Plutonium
Мы разрабатываем Plutonium — систему управления распределенными поисковыми индексами. Наша автоматика следит за появлением новых данных. Ищем разработчика, который будет помогать нам ускорять доставку шардов и оптимизировать работу контроллеров.Ускорение движка доставки шардов
У нас есть реализованный конечный автомат состояний шарда поискового индекса. В случае, когда дельты появляются быстро, скорость доставки оказывается на критичном пути возраста данных. В рамках ускорения нужно поддерживать трейсинг, оптимизировать как известные места, где мы тратим время, так и новые, найденные с помощью трейсов. Разбиение доставки на модули
Сейчас процесс доставки шардов самостоятельно следит за появлением новых данных. Нам нужно предоставлять точку кастомизации доставки для сложных сценариев — синхронизации доставки шардов. Для этого мы хотим разделить слежку за новыми данными от доставки и научиться включать и выключать её по требованию. Поддержка мультиарендности контроллеров
При запросе пользователя поднять новый контур доставки индекса наша автоматика поднимает отдельные инстансы контроллеров. Они могут простаивать, когда данные не нуждаются в доставке. Мы хотим поддержать мультиарендность — возможность обрабатывать доставку данных нескольких наших клиентов на едином инстансе контроллеров. Этот переход позволит нам сэкономить тысячи CPU и ускорить релизный цикл наших контроллеров. Больше о бэкенде в Яндексе — в канале Yandex for Backend* Умеете и любите писать код на современном С++ * Ответственно подходите к разработке, внимательны к деталям * Хорошо знакомы с классическими алгоритмами и структурами данных * Открыты, легко ладите с коллегами* Разрабатывали сетевые, многопоточные или распределённые программы или прошли углублённые обучающие курсы по этим направлениям * Владеете Linux на уровне разработчика * Успешно участвовали в олимпиадах по техническим предметам в школе или университете
У нас есть реализованный конечный автомат состояний шарда поискового индекса. В случае, когда дельты появляются быстро, скорость доставки оказывается на критичном пути возраста данных. В рамках ускорения нужно поддерживать трейсинг, оптимизировать как известные места, где мы тратим время, так и новые, найденные с помощью трейсов. Разбиение доставки на модули
Сейчас процесс доставки шардов самостоятельно следит за появлением новых данных. Нам нужно предоставлять точку кастомизации доставки для сложных сценариев — синхронизации доставки шардов. Для этого мы хотим разделить слежку за новыми данными от доставки и научиться включать и выключать её по требованию. Поддержка мультиарендности контроллеров
При запросе пользователя поднять новый контур доставки индекса наша автоматика поднимает отдельные инстансы контроллеров. Они могут простаивать, когда данные не нуждаются в доставке. Мы хотим поддержать мультиарендность — возможность обрабатывать доставку данных нескольких наших клиентов на едином инстансе контроллеров. Этот переход позволит нам сэкономить тысячи CPU и ускорить релизный цикл наших контроллеров. Больше о бэкенде в Яндексе — в канале Yandex for Backend* Умеете и любите писать код на современном С++ * Ответственно подходите к разработке, внимательны к деталям * Хорошо знакомы с классическими алгоритмами и структурами данных * Открыты, легко ладите с коллегами* Разрабатывали сетевые, многопоточные или распределённые программы или прошли углублённые обучающие курсы по этим направлениям * Владеете Linux на уровне разработчика * Успешно участвовали в олимпиадах по техническим предметам в школе или университете