Вакансии 2ГИС в Новосибирске

CI engineer в Core

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

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

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

Ждём ваших резюме с указанием вакансии на электронную почту a.aleksandrova@2gis.ru. С вопросами можно обращаться по телефонам +7 (961) 879-70-09 и +7 (383) 363-05-55 вн. 10688. Ответит Настя Александрова.

Откликнуться на вакансию