Обязанности:
Увеличение доли быстрых и предсказуемых проверокМы постоянно совершенствуем Автосборку для ежедневной работы тысяч пользователей внутри компании, стремясь предоставить разработчикам лучший в мире CI «из коробки». Перед нами стоят задачи как ускорения времени проверок, так и повышения точности предсказания времени их завершения. Предстоит оптимизировать запуск тестов в монорепозитории: сокращать количество запускаемых тестов в проверках без потери качества, внедрить режим Fast Fail для немедленной остановки при первой критической ошибке, улучшить работу с flaky-тестами, повышать точность предсказания времени выполнения проверок. Повышение эффективности
Совместно с командой вам предстоит переосмыслить концептуальное устройство Автосборки, чтобы справиться с текущим темпом роста нагрузки. Потребуется глубоко разобраться в устройстве самого сервиса, а также в предназначении, возможностях и гарантиях смежных сервисов. Предстоит улучшить балансировку и планирование нагрузки, повысить эффективность использования квоты в распределённой системе сборки и других внутренних системах. Предоставление инструментов для анализа и отчётности
Нужно будет создать дашборды и отчёты по экономии ресурсов для отслеживания эффективности инфраструктуры, упростить управление доступом и квотами, чтобы облегчить администрирование и контроль затрат. Больше о бэкенде в Яндексе — в канале Yandex for Backend
Ключевые навыки:
- Уверенно пишете код на Python и готовы при необходимости прокачаться во втором языке программирования, например C++
- Понимаете основы построения высоконагруженных и распределённых систем, умеете работать с очередями, сетевыми протоколами, БД
- Готовы погружаться в предметную область инструментов разработки, монорепозитория и внутренних сервисов
- Работали с CI/CD в проектах среднего и крупного размера: занимались настройкой пайплайнов, описанием сборки, интеграцией с системами тестирования
- Привыкли покрывать код тестами, следите за качеством и умеете читать чужой код не хуже, чем писать свой
Дополнительные требования:
- Работали с инфраструктурными сервисами, системами сборки и тестирования, in‑house CI
- Решали задачи, связанные с графами зависимостей (графы сборки, графы тестов и т. п.)
- Оптимизировали производительность, занимались профилированием и работали с высоконагруженными сервисами
- Разрабатывали одновременно на C++ и Python в одном проекте
