← Все вакансии

Разработчик бэкенда в DistBuild

DistBuild — это сервис распределённой сборки и тестирования в экосистеме инструментов разработки Яндекса. Каждый день на DistBuild выполняются сотни миллионов автоматических тестов, проверяющих десятки тысяч пул-реквестов в нашем монорепозитории — Аркадии. Также сервис используется для ускорения локальной сборки больших проектов и подготовки релиз-кандидатов в CI/CD-пайплайнах.

В кластерах DistBuild сосредоточено 250К CPU и петабайт оперативной памяти. Наш сервис распределённой сборки отличается прогнозированием потребления вычислительных ресурсов, многоуровневым кешированием результатов, справедливым квотированием вычислительных ресурсов и качественным уровнем изоляции запускаемых задач. От эффективности DistBuild зависит как продуктивность наших коллег, так и time to market большинства сервисов Яндекса.

Задачи и обязанности

Повышение эффективности кластера


Мы боремся за Throughput всей системы: дорогое железо должно приносить как можно больше пользы для компании. При этом надо не забывать про Latency: это напрямую влияет на пользовательский опыт разработчиков.

Повышение стабильности


При разработке сервиса многие вещи сознательно были упрощены, кое-где были срезаны углы. Мы активно работаем над надёжностью сервиса и стремимся улучшить качество жизни разработчиков, повышая нашу стабильность.

Крупные вызовы


Сейчас почти вся нагрузка на Distbuild — это автоматически запускаемые проверки в пул-реквестах или после коммитов. Есть необходимость в ускорении локальных сборок за счёт вычислительных мощностей кластера Distbuild.

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

Требования

  • Разрабатываете на С++
  • Хорошо знаете Linux
  • Способны самостоятельно спроектировать фичу, видеть плюсы и возможные минусы принятого дизайна

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

  • Разрабатывали высоконагруженные распределённые системы
  • Работали с фреймворком gRPC
  • Знаете YDB
gRPC Linux CI/CD
Откликнуться →