CI инженер, полный рабочий день

Фото пользователя
Екатеринбург
Должность CI инженер
Работодатель 2ГИС
Занятость Полная
График работы Сменный
Требуемый опыт, лет 0

Описание проекта

Сердце наших мобильных приложений — кроссплатформенное ядро, насчитывающее сотни тысяч строк кода на 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++-кода;

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

Базворды

  • Bitbucket Server

  • Jenkins

  • OpenStack

  • Heat Templates

  • Bash

  • Python

  • Java

  • Groovy

  • Ansible

  • Docker

  • ccache

  • CMake

  • clang-format

  • clang-tidy

  • Sonar

  • PostgreSQL

  • Smartphone Test Farm

Поделиться с друзьями:
23 мая

Пожаловаться на объявление №95921050