Мобильным приложением 2ГИС ежемесячно пользуется более 20 миллионов человек. Ищут адреса и фирмы, изучают карту, ездят по навигатору. Всё это должно работать быстро, надёжно и офлайн на ограниченных ресурсах мобильного телефона.
Для этого основная бизнес-логика продукта реализована в виде кроссплатформенного Mobile SDK на C++, который делает наша команда. Этот продукт используется как самим 2ГИС, так и доступен для сторонних разработчиков. В июле 2021 вышел наш первый публичный релиз. Mobile SDK является частью семейства продуктов 2GIS.KIT для разработчиков.
Технически проект представляет собой несколько сотен тысяч строк кода на C++20. Используем CMake, свежие версии компиляторов (Clang, GCC, Visual Studio — кому что удобней), Clang-Tidy. Обязательное ревью и сборки на CI перед вливанием организованы средствами Bitbucket Server и Jenkins. Иногда пишем вспомогательные скрипты на Python.
Обязанности
В рамках SDK нужно дорабатывать существующие и создавать новые компоненты.
- Работа с картой — инструменты управления и визуализация различных данных.
- Навигатор — построение и обновление маршрута, притяжка геопозиции к линии маршрута, поездка без маршрута, озвучивание голосовых инструкций.
- Компактное хранение на устройстве и инкрементальные фоновые обновления справочных данных.
- Собственная система аналитики для сбора бизнес- и продуктовых метрик внутри продукта.
- Профилирование и оптимизация — боремся за миллисекунды на «горячих» участках кода.
Мы ждём от тебя
- Отличное знание C++17/20 и опыт коммерческой разработки на нём от 3 лет.
- Алгоритмическая подготовка (знание основных алгоритмов и структур умение оценивать сложность алгоритмов).
- Умение самостоятельно разработать сложное программное решение — от проработки и обсуждения требований до проектирования архитектуры и написания качественного кода.
- Умение работать в команде, работать с чужим кодом.
- Умение писать эффективный и понятный код.
Будет плюсом
- Опыт мобильной/кроссплатформенной разработки на С++.
- Опыт разработки на Swift/Kotlin.
- Опыт разработки на Qt.
- Опыт разработки многопоточных приложений.
- Навыки измерения производительности и профилирования графических программ.
- Опыт работы с Python, CMake.
Кроме того
- 2ГИС — аккредитованная IT-компания. У нас можно работать удалённо. Для нас важен специалист, а не его локация. Если хочешь работать в гибридном формате, у нас есть офисы в Москве, Санкт-Петербурге, два классных офиса в Новосибирске. А также коворкинги в Томске, Астане и Алма-Ате.
- График не главное. Кто-то начинает работу в 9, кто-то в 11, а кто-то — когда удобно ему и команде. Главное — выполнять задачи в срок и быть на связи с коллегами.
- Само собой, полностью белая зарплата, размер обсуждается на собеседовании, потолка нет.
- Есть ДМС, штатный терапевт, невролог, мед. консультант и другие IT-плюшки.
- Если хочешь делиться своим опытом, мы только за — поможем с выступлениями на конференциях и статьями для Хабра.
А ещё
- Мы проводим внутренние хакатоны, отмечаем значимые релизы и устраиваем масштабный фестиваль 2FEST для всего RnD. Делимся опытом на митапах и в подкастах, пишем про технологии на Хабре, а про новое в продуктах — на VC и Доставили, рассказываем о внутрянке в телеграм Dev2GIS, выступаем на CodeFest, HighLoad и многое другое.
Приходите, у нас хорошо. Как у других, только лучше.