CI engineer в Core at 2ГИС

CI engineer в Core at 2ГИС


Наши проекты:

Сердце наших мобильных приложений — кроссплатформенное ядро, насчитывающее сотни тысяч строк кода на C++. Для такого большого проекта становятся критически важными вопросы скорости сборки, удобства инструментов статического анализа, unit- и ui-тестирования, бенчмарков, стабильности и отказоустойчивости инфраструктуры CI.

Большинство наших внутренних сервисов живут в локальном облаке OpenStack, инфраструктура для них разворачивается с помощью Heat шаблонов, а конфигурируются они с помощью Ansible — всё «одной кнопкой». Хранение и ревью кода отдано на откуп Bitbucket Server, за сборку отвечает Jenkins, нотификации о важных событиях отправляются в Slack. Разные сервисы связываются воедино с помощью REST API и скриптов на Python и Groovy, а так же плагинов на Java для Jenkins и Bitbucket Server. Код собираем кучей компиляторов под настольные и мобильные ОС, для мониторинга предупреждений компиляторов и статических анализаторов используем SonarQube. Переводим систему сборки с GYP на CMake, временно используя обе. Для UI-тестов на девайсах и эмуляторах используем STF и набор инструментов на Python для упрощения работы с ним. Любим удобный доступ ко внутренним ресурсам, графикам, отчётам, поэтому постоянно развиваем свой интранет.

Мы ищем:

человека, который вместе с нами будет развивать и поддерживать инфраструктуру CI и инструменты, используемые разработчиками в повседневной работе. Знание всего используемого технологического стека не обязательно, важно желание разбираться в неизвестные вещах, не бояться погружаться в новые технологии, улучшать существующие инструменты и автоматизировать рутинные процессы. С приобретением опыта мы ожидаем получить классного специалиста-автоматизатора, эксперта в своей области.

Будет здорово, если вы:

  • имеете опыт работы с Linux/Windows на уровне продвинутого пользователя: уверенное владение консолью, понимание принципов работы файловых систем, сети, процессов операционной системы;

  • имеете знание и опыт работы с bash и Python;

  • имеете знание одного или нескольких промышленных императивных языков программирования таких как Java, C++, C#;

  • владеете git на хорошем уровне;

  • имеете базовые знания HTML/CSS/JS;

  • желаете развиваться в направлении CI/DevOps-инженера.

Плюсами будут:

  • опыт работы с серверами непрерывной интеграции (Jenkins, TeamCity, Bamboo);

  • опыт работы с системами оркестрации (Ansible, Puppet, Chef, Salt);

  • опыт работы с системами мониторинга (Zabbix, Prometheus);

  • опыт использование Docker, подготовки собственных docker-образов;

  • опыт использования OpenStack как IaaS-решения: написание шаблонов для разворачивания окружения, взаимодействие через API, подготовка собственных Cloud-Init-образов;

  • навыки конфигурирования серверов с помощью IPMI-консоли;

  • опыт конфигурирования nginx;

  • знание Java;

  • знание C++;

  • понимание принципов работы одной или нескольких систем сборки проектов на C++ (cmake, ninja, msbuild, xcodebuild);

  • знакомство с инструментами статического анализа C++-кода;

  • опыт автоматизации тестирования;

Немного об R&D 2ГИС:

В Новосибирске у нас два больших офиса: этаж в Технопарке и одиннадцать этажей в Сан-Сити. У нас нет дресс-кода и строгого графика. Кто-то приходит в 9, кто-то в 10, а кто-то — когда удобно ему и команде. Главное, чтобы ты выполнял задачи в срок и был на связи с коллегами.

Мы используем современные технологии и любим о них говорить. Выступаем на конференциях и сами их организуем. Заработную плату готовы обсуждать индивидуально.

https://novosibirsk.hh.ru/vacancy/27632037

Report Page