DevTools

Делаем инструменты разработки в Яндексе — от написания и хранения кода до сборки и проверки готовых к релизу артефактов.

Помогаем тысячам инженеров Яндекса выпускать продукты высокого качества в срок.

 
10К+

инженеров Яндекса пользуются нашими сервисами

 
60К+

коммитов в сутки

 
млн+

автоматических тестов в сутки

 
27 ТБ+

размер монорепозитория

Собственные разработки

Arc

Arc

Система контроля версий для монорепозитория Яндекса. Похож на Git, но имеет более высокий уровень масштабируемости.
Arc способен работать с репозиториями, размер которых превышает терабайты.

DistBuild

DistBuild

Это сервис распределённой сборки. Входит в экосистему инструментов разработки Яндекса. Также сервис используется для ускорения локальной сборки больших проектов и подготовки релиз-кандидатов в CI/CD-пайплайнах.

Ya make

Ya make

Кросс-платформенная система, которую разработали и используют в Яндексе для сборки, тестирования и отладки. Её общеизвестный аналог – Bazel.

TMS

TMS

Сервис организации, структурирования и анализа результатов прохождения тестовых сценариев. Позволяет тысячам продуктов компании проверять качество с помощью миллионов сценариев ежемесячно.

Эффективные решения

Аркадия

Надёжный инфраструктурный фундамент для всей разработки в Яндексе. Платформа Аркадия объединяет наши базовые сервисы для хранения и редактирования кода, локальной и распределённой сборки, CI-проверок в масштабе огромного монорепозитория, подготовки релизных артефактов и запуска релизных процессов.

Особенности

  • Разработка инструментов для монорепозитория уникального размера.
  • Trunk-Based Development и зависимости по коду как основная парадигма разработки.
  • Внутренние инструменты с десятками тысяч пользователей в месяц.
  • Забота об эффективности и удобстве для разработчика на всех этапах — от предподготовленных рабочих окружений до автоматических проверок на кодовой базе.
  • Собственные системы сборки и распределённой сборки, ориентированные на большой масштаб.

Технологии

  • C++, Java, Go, Python, Kotlin
  • YDB, ClickHouse, PostgreSQL
  • Spring, Django
  • gRPC
  • FUSE

Платформа мобильной разработки

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

Особенности

  • Плагины и нативные CLI для гибкой, удобной настройки проектов и локального окружения. Интеграции с внутренними сервисами.
  • Администрирование сборочного окружения (Linux, Mac).
  • Внутренние инсталляции систем для управления зависимостями в приложениях.
  • MDM, собственные фермы устройств для ручного и автотестирования.
  • Автоматизация закупок и управления тестовыми девайсами сотрудников.
  • Безопасное управление доступами к мобильным сторам.
  • Сборка и доставка релизов — как для команды тестирования, так и пользователям по всему миру.
  • Мониторинг приложений в релизе.

Технологии

  • Kotlin/Native, Kotlin Multiplatform Apps
  • TypeScript, Node.js
  • Gradle, GN, Bazel
  • Sourcecraft
  • Python, SaltState, Docker

Платформа разработки и тестирования фронтенда

Платформа помогает компании оптимизировать стоимость владения инфраструктурой. Предоставляет воспроизводимые и герметичные результаты, распространяет лучшие практики, помогает разработчикам фронтенда сосредоточиться на продуктовых задачах.

Особенности

  • Сборка и тестирование фронтенд-проектов с помощью системы Ya make позволяет проверять изменения на тысячах фронтенд-проектов в монорепозитории.
  • Опенсорс-фреймворк для автотестов веб-проектов — Testplane. Заточен под скриншотное и сценарное тестирование.
  • Масштабируемое внутреннее облако браузеров и устройств позволяет параллелить запуски тестов.
  • Внутренний сервис для быстрого отключения плавающих тестов в сборочном конвейере.
  • Опенсорс-UI для визуализации и управления тестами в разных фреймворках легко визуализирует десятки тысяч тестов.

Технологии

  • TypeScript, Node.js, Python, Docker
  • Testplane

QMS (Quality Management System)

Платформа для обеспечения и анализа качества продукта на различных этапах его жизненного цикла. QMS интегрирована в портал разработки.

Особенности

  • Учёт и анализ различных видов тестирования во множестве контекстов сборки.
  • Решения для оценки работы систем под нагрузкой.
  • Инструментарий для ведения тестовой документации в коде (test as code).
  • Визуализация качества по функциональным областям продукта.

Технологии

  • TypeScript, Node.js, Python, Go

Технологический стек

C/C++

Эффективное решение для ситуаций, в которых производительность стоит на первом месте или есть необходимость работать как можно ближе к «железу». Также используется при разработке ядра Linux или его модулей.

Go

Обеспечивает читаемость, быстроту написания кода, лёгкость в распараллеливании и приемлемую производительность.

Java/Kotlin

Надёжное решение для кросс-платформенных приложений, серверной и мобильной разработки.

Python

Идеальный выбор для быстрой разработки, анализа данных и автоматизации задач, когда важны простота кода и богатая экосистема библиотек.

TypeScript

Стандарт надёжной современной фронтенд-разработки.

Выступления экспертов направления

Делимся с сообществом знаниями и опытом и рассказываем, как у нас всё устроено.
Code Fest. Степан Полохин. Такое разное кэширование

Такое разное кэширование: как вывозить нагрузку, когда данных много

Code Fest. Сергей Прейс. Распределённая система сборки

Распределённая система сборки для очень больших... репозиториев

YInfrastructure. Анастасия Абрашитова

Мама, я люблю монорепозиторий!

Как попасть в направление

В DevTools есть задачи для разных технических специалистов. Нужны как амбициозные мидл-разработчики и опытные ведущие инженеры, так и активные технические менеджеры.

Вы можете попробовать свои силы и в формате буткемпа YPE.
Также мы ищем тимлидов для нескольких команд.