Базовые компоненты сборки фронтенда

Язык буткемпа: Python, TypeScript
Технологии: MongoDB, NodeJs, PostgreSQL, S3

Наша команда создаёт систему для сборки и тестирования фронтенд-проектов для всего Яндекса, избавляя каждую команду от большой инфраструктурной работы. Такая экосистема позволяет не только выбрать и предоставить всем лучшие инструменты, но и хорошо интегрировать их с другими инфраструктурными сервисами. Наши пользователи — фронтенд-разработчики, которые пишут браузерные библиотеки, библиотеки под Node.js, изоморфный код, веб-сервисы. Они получают распределённую воспроизводимую сборку на множестве хостов с максимально возможной степенью параллельности.

Стек

TypeScript, Python, NodeJs, MongoDB.

О команде

Распределенная команда FBP состоит из четырёх человек. География: Красноярск, Москва, Санкт-Петербург, Белград. Наши коллеги из смежных групп находятся в Новосибирске, Москве, Белграде.

Специалисты FBP имеют разный опыт на разных языках и проектах. Пишем на Python, TypeScript, меньше на С++. Мы стараемся делиться экспертизой и использовать сильные стороны каждого.

Особенности

  1. Сможете внести свой вклад в построение распределенной масштабируемой системы сборки для фронтенд-проектов.
  2. Будете влиять на процесс и результат, брать на себя ответственность.
  3. Сможете разобраться системах сборки на уровне эксперта. Глубоко погрузиться в детали реализации: изучить принципы работы пакетных менеджеров, их особенности и различия, устройство бандлеров фронтенд-кода, настройки и тонкости работы компиляторов TS.
  4. У нас сильная команда, в которой вы сможете развиваться.
  5. У нас сложные задачи не похожие ни на фронтенд, ни на бэкенд в чистом виде.
  6. Возможность улучшить фронтенд-мир при выходе проекта в open-source.

Что нужно принять во внимание

Большой технологический стек, соединяющий open-source фронтенд-инструменты, CI, сборочные системы, похожие на Bazel, Buck2, Make. Работа сильно отличается от фронтенд-разработки (непосредственно UI какого-либо сервиса не пишем, только делаем инфраструктуру для фронтенд-разработчиков). Потребуется принимать много архитектурных и долгосрочных решений.

У нас есть дежурства: наши пользователи — разработчики фронтенда могут прийти за помощью. Примеры обращений: вопросы про сборку кода, разные package manager’ы, инструменты для монорепозиториев.

Вызовы

Сборочная платформа, которую мы создаём должна:

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

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

Дополнительные материалы

  1. Видео доклада Сергея Прейса о том, как в целом устроена сборка ya make
  2. Пост на Хабре от Константина Кардаманова о том, как устроен кластер распределённой сборки DistBuild
Предыдущая
Следующая