С++ разработчик в 2GIS Mobile SDK
Прямой работодатель 2ГИС ( 2gis.ru )
Опыт работы любой
О проекте
Мобильным приложением 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 и опыт коммерческой разработки на нём от 2 лет.
- Сильная алгоритмическая подготовка (знание основных алгоритмов и структур данных, умение оценивать сложность алгоритмов).
- Умение самостоятельно разработать сложное программное решение — от проработки и обсуждения требований до проектирования архитектуры и написания качественного кода.
- Умение работать в команде, работать с чужим кодом.
- Умение писать эффективный и понятный код.
Будет плюсом
- Опыт мобильной/кроссплатформенной разработки на С++.
- Опыт разработки многопоточных приложений.
- Навыки измерения производительности и профилирования графических программ.
- Опыт работы с Jenkins, знание Python, CMake.
Немного об R&D 2ГИС
У нас комфортные офисы в городе Новосибирске, Питере и удобный график работы. Спокойно относимся к удалёнке. Даже после карантина. Если захочешь работать из офиса — поможем с релокацией в Новосибирск или Питер. На выбор предоставляем несколько вариантов техники и ОС, наиболее комфортных для работы. Для удалёнки — доставим и поможем настроить.
Рассказываем о наших продуктах в дайджесте Доставили, делимся опытом на конференциях и пишем на Хабр. Некоторые конференции — например, DevDay — проводим сами.
Любим тех, кто умеет работать в команде, открыто общается и вместе с командой находит лучшие решения.