⚠︎ Архивная вакансия
Эта вакансия была перемещена в архив. Возможно она уже не актуальна и рекрутер больше не принимает отклики на эту вакансию. Вы можете  найти актуальные похожие вакансии

C++ разработчик в 2ГИС Mobile SDK

Прямой работодатель  2ГИС ( 2gis.ru )
Новосибирск, Россия
Джуниор • Миддл • Сеньор
Информационные технологии • Разработка • C++ • Логистика и транспорт • СМИ, Медиа и индустрия развлечений
5 марта
Релокация • Удаленная работа
Опыт работы от 3 до 5 лет
Работодатель  2ГИС
Описание вакансии

О проекте:

Мобильным приложением 2ГИС ежемесячно пользуется более 20 миллионов человек. Ищут адреса и фирмы, изучают карту, ездят по навигатору. Всё это должно работать быстро, надёжно и офлайн на ограниченных ресурсах мобильного телефона. Для этого основная бизнес-логика продукта реализована в виде кроссплатформенного SDK на C++, который делает наша команда. Сейчас это внутренний продукт, используемый в рамках 2ГИС, но перед нами стоит амбициозная задача сделать классное публичное API для сторонних разработчиков, что задирает планку качества ещё выше.

В рамках SDK нужно дорабатывать существующие и создавать новые компоненты.

Вот далеко не полный перечень того, чем предстоит заниматься:

  • работа с картой: инструменты управления и визуализация различных данных;
  • навигатор: построение и обновление маршрута, притяжка геопозиции к линии маршрута, озвучивание голосовых инструкций;
  • компактное хранение на устройстве и инкрементальные фоновые обновления справочных данных;
  • реклама: обновление дельтами раз в 15 минут, компактное хранение, быстрое подмешивание рекламных материалов в выдачу;
  • собственная система аналитики для сбора бизнес- и продуктовых метрик внутри продукта;
  • профилирование и оптимизация — боремся за миллисекунды на «горячих» участках кода.

Технически проект представляет собой несколько сотен тысяч строк кода на C++17. Используем CMake, свежие версии компиляторов (clang-10, gcc-10, Visual Studio 2019 — кому что удобней), clang-tidy. Обязательное ревью и сборки на CI перед вливанием организованы средствами Bitbucket Server и Jenkins. Иногда пишем вспомогательные скрипты на Python.

Мы ждём от тебя:

  • отличное знание C++14/17 и опыт коммерческой разработки на нём от 2 лет;
  • сильная алгоритмическая подготовка (знание основных алгоритмов и структур данных, умение оценивать сложность алгоритмов);
  • умение самостоятельно разработать сложное программное решение — от проработки и обсуждения требований до проектирования архитектуры и написания качественного кода;
  • умение работать в команде, работать с чужим кодом;
  • умение писать эффективный и понятный код.

Будет плюсом:

  • опыт мобильной/кроссплатформенной разработки на С++;
  • опыт разработки многопоточных приложений;
  • навыки измерения производительности и профилирования графических программ;
  • опыт работы с Jenkins, знание Python, CMake.

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

У нас комфортные офисы в городе Новосибирске и удобный график работы. Спокойно относимся к удалёнке. Даже после карантина. Если захочешь работать из офиса — поможем с релокацией в Новосибирск. На выбор предоставляем несколько вариантов техники и ОС, наиболее комфортных для работы. Для удалёнки — доставим и поможем настроить.