Java-разработчик в команду систем непрерывной интеграции и развёртывания
Arcadia CI — внутренняя CI/CD-система-оркестратор всея Яндекса, аналог GitHub Actions. Высокоуровневая входная точка для всего, что связано с автоматизацией процесса разработки в монорепозитории: сборкой, тестированием и развёртыванием.
CI мониторит все коммиты во всех ветках и пул-реквестах, фильтрует изменения и строит проекции на структуру сервисов, запускает, отслеживает и агрегирует результаты всех проверок и регулярных процессов, позволяет управлять релизами, хотфиксами, откатами и их составом.
Наша работа сочетает в себе big data, high load и сложный продукт. Соответствующий баланс присутствует и в задачах: есть как оптимизации и рефакторинги, так и бизнес-фичи с исследованиями.
Задачи и обязанности
Развитие общего решения для CD
Мы стремимся предоставлять IaC-first-платформу для управления деплоем, не уступающую внешним аналогам типа Argo CD, но тесно интегрированную во внутреннюю инфраструктуру и надёжно закрывающую потребности десятков тысяч разработчиков на масштабах и технологиях Яндекса.
Удобство и доступность проверок
Пул-реквест — основная рабочая поверхность каждого разработчика. Мы фокусируемся на том, чтобы наши системы минимально отвлекали людей от их прямых задач, оперативно донося результаты автоматических сборок и тестов в самый подходящий момент, в том числе с помощью AI.
Внедрение SRE-практик
В наших руках — критичный сервис в сердце процессов разработки огромной компании. Каждый даунтайм оборачивается тратой драгоценного времени бизнес-команд. Поддерживать доверие и прозрачность для наших пользователей на высоком уровне 24/7 — нетривиальная задача, которую нам помогают решать современные SRE-практики.
Больше о бэкенде в Яндексе — в канале Yandex for Backend
Требования
- Хорошо разбираетесь в Java и Spring
- Разрабатывали и тестировали асинхронные распределённые системы
- Можете решать задачи профилирования и оптимизации JVM-приложений
- Понимаете, как работают базы данных, и можете отладить узкое место в ORM
- Пишете качественный, читаемый код
- Готовы делиться знаниями и опытом, вникать в сложные задачи пользователей, их комплексные процессы и нетривиальные проблемы
Дополнительные требования
- Самостоятельно внедряли CI/CD-процессы в команды
- Работали с Temporal, Kafka, gRPC, ClickHouse и YDB
- Проактивны, умеете самостоятельно находить и исправлять слабые места и ограничения
- Глубоко разбираетесь в устройстве систем контроля версий
- Понимаете пользу IaC-инструментов и применяли их