Разработчик систем сборки для Monorepo
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
Проект Monorepo — это отказоустойчивая, быстрая, распределённая, инфраструктура для разработки в едином репозитории: сборочный и тестовый конвейеры, CI/CD пайплайн, VCS для работы с большим репозиторием, масштабируемое высокодоступное файловое хранилище, мониторинги, роботы и боты.
Мы разрабатываем инфраструктуру для всей компании. И это делает нашу работу особенно ответственной.
На данной позиции вам представится возможность стать одним из тех, кто приведёт компанию к качественному скачку скорости разработки, и вот почему:
В Monorepo находится код большинства проектов компании. Каждое изменение кодовой базы валидируется перед коммитом. Для комфортной работы разработчиков необходимо, чтобы процесс валидации занимал минуты.
Эту задачу мы хотим решать с помощью кеширующей масштабируемой сборочной системы от Google — Bazel (https://bazel.build/).
Что мы делаем:
- разработка фреймворка, удобного для описания сборок С++, C# проектов нашей компании;
- разработка sandbox для Windows (https://docs.bazel.build/versions/master/sandboxing.html);
- создание и поддержка инфраструктуры распределенного кеша;
- внедрение Remote Execution (https://docs.bazel.build/versions/master/remote-execution.html) на существующей инфраструктуре сборки и тестирования;
- разработка механизма интеграции сборки Bazel проектов в проекты CMake;
- поддержка форка Bazel.
Что ждем от вас:
- знание классических алгоритмов и структур данных;
- знание Python;
- умение самостоятельно доводить до конца поставленные задачи;
- интерес к исследовательской деятельности;
- умение погружаться в новые области.
Будет плюсом:
- понимание принципов работы систем сборки;
- опыт разработки на С++;
- опыт кроссплатформенной разработки (Windows, Linux, macOS).
Стек технологий, применяемых в проекте Monorepo: C++; C#; .Net; Python; Bazel; Git; Azure DevOps Server; Kubernetes; Docker; Nomad; Grafana; Vault; OAuth; s3; Ceph; MinIO; Artifactory; Ansible; MS SQL; MongoDB; ClickHouse; Rabbit MQ; Elasticsearch.