Mobile Developer

С++ разработчик в Mobile SDK Full-time

О компании и команде

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

Для этого основная бизнес-логика продукта реализована в виде кроссплатформенного Mobile SDK на C++, который делает наша команда. Этот продукт используется как самим 2ГИС, так и доступен для сторонних разработчиков. В июле 2021 вышел наш первый публичный релиз. Mobile SDK является частью семейства продуктов 2GIS.KIT для разработчиков.

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

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

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

Ожидания от кандидата

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

Будет плюсом

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

    Условия работы

    • 2ГИС — аккредитованная IT-компания. У нас можно работать удалённо. Для нас важен специалист, а не его локация. Если хочешь работать в гибридном формате, у нас есть офисы в Москве, Санкт-Петербурге, два классных офиса в Новосибирске. А также коворкинги в Нижнем Новгороде, Томске, Астане, Алма-Ате и Дубае.
    • График не главное. Кто-то начинает работу в 9, кто-то в 11, а кто-то — когда удобно ему и команде. Главное — выполнять задачи в срок и быть на связи с коллегами.
    • Само собой, полностью белая зарплата, размер обсуждается на собеседовании, потолка нет.
    • Есть ДМС, штатный терапевт, невролог, мед.консультант и другие IT-плюшки.
    • Если хочешь делиться своим опытом, мы только за — поможем с выступлениями на конференциях и статьями для Хабра.

    Overview

    • Employer: 2GIS
    • Job Title: С++ разработчик в Mobile SDK
    • Published: 9 months, 3 weeks ago
    Apply For This Job