Разработчик С++ в команду Mobile SDK

з/п не указана

Требуемый опыт работы: 1–3 года

Полная занятость, полный день

О проекте

Мобильным приложением 2ГИС ежемесячно пользуется более 20 миллионов человек. Ищут адреса и фирмы, изучают карту, ездят по навигатору. Всё это должно работать быстро, надёжно и offline на ограниченных ресурсах мобильного телефона. Для этого основная бизнес-логика продукта реализована в виде кроссплатформенного 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ГИС:
У нас комфортные офисы в городе Новосибирске и удобный график работы. Спокойно относимся к удалёнке. Даже после карантина. На выбор предоставляем несколько вариантов техники и ОС, наиболее комфортных для работы. Для удалёнки — доставим и поможем настроить.
Мы используем современные технологии и любим о них говорить. Пишем статьи, выступаем на конференциях и сами их организуем.

Для иногородних кандидатов помощь в переезде.

Заработную плату готовы обсуждать индивидуально.

Ключевые навыки

C++
STL
Boost
CMake
алгоритмы и структуры данных

Вакансия опубликована 30 июля 2020 в Барнауле

Похожие вакансии