Разработчик систем сборки для Monorepo

Требования

Десктоп разработчикC++PythonBashLinuxCDocker

Местоположение и тип занятости

Москва

Компания

ТОП-3 международная компания в области IT-безопасности, один из лучших работодателей России

Описание вакансии

Условия работы

Проект 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.