Обязанности:
Мобильным приложением 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-плюшки. Если хочешь делиться своим опытом, мы только за — поможем с выступлениями на конференциях и статьями для Хабра.