Работа
Разработка ПО

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

Алгоритмы
STL
Boost
CMake
C++

О проекте:

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

У нас комфортные офисы в городе Новосибирске и удобный график работы. Спокойно относимся к удалёнке. Даже после карантина. Если захочешь работать из офиса — поможем с релокацией в Новосибирск. На выбор предоставляем несколько вариантов техники и ОС, наиболее комфортных для работы. Для удалёнки — доставим и поможем настроить. 

Рассказываем о наших продуктах в дайджесте Доставили, делимся опытом на конференциях и пишем на Хабр. Некоторые конференции — например, DevDay — проводим сами.

Любим тех, кто умеет работать в команде, открыто общается и вместе с командой находит лучшие решения.
Приходите, у нас хорошо
Как у других, только лучше
Вниманиек процессам
Внимание
к процессам
Мы постоянно улучшаем процессы, учитывая пожелания разработчиков — например, устраиваем демо-дни, чтобы все команды знали, кто из них над чем работает.
Комфортныйофис
Комфортный
офис
В нашем офисе красиво и удобно: кухня на каждом этаже (в «Сан Сити» и Академгородке), кофемашины и инстаграмные виды из окон.
Крутойи полезный продукт
Крутой
и полезный продукт
Миллионы людей пользуются и любят 2ГИС, а мы постоянно развиваем продукт, чтобы радовать пользователей ещё больше.
Передовыетехнологии
Передовые
технологии
Мы используем современные технологии и всё время учимся новому, выступаем на конференциях и сами их организуем, рассказываем о применении новых фреймворков или подходов в разработке. А ещё у нас своя библиотека и даже корпоративный университет.
Хочу работать в 2GIS
Ольга Сидорова
Привет!
Я — Ольга Сидорова. Я помогаю соискателям на пути к 2ГИС — изучаю резюме, общаюсь и подсказываю детали. Если хочешь стать частью нашей команды — заполни форму или присылай резюме на email.
Обязательно для заполнения
Обязательно для заполнения
Обязательно для заполнения
Отправилось!
Умпешная отправка формы
Мы рассмотрим ваше резюме в течение двух недель и сразу же сообщим результат. А пока почитайте что-то интересное.
Как долго рассматривается резюме?

Не дольше двух недель. Если вы не получили ответ, напишите или позвоните в отдел по работе с персоналом — возможно, ваше письмо не дошло.

Когда я могу ждать ответа после собеседования?

Через два-три рабочих дня. Если через три дня ответа нет, напишите или позвоните эйчару — тут уместно проявить инициативу.

Мы даём ответы по всем кандидатурам и любым решениям.

Могу ли я не отправлять резюме, а сразу прийти на личную встречу?

Нет, у всех наших специалистов в работе обычно сразу по несколько вакансий — у них плотный график интервью. Даже если вы придёте лично, вас все равно попросят прислать резюме на электронную почту.

Могу ли я подать резюме сразу на несколько позиций?

Да, но мы рекомендуем определиться с тем, какая работа интересна вам в первую очередь, и проходить собеседования последовательно.

Сколько собеседований мне нужно будет пройти?

В среднем — от двух до четырёх. Первая встреча — всегда со специалистом по работе с персоналом. Далее — ещё одно-два интервью с руководителем. Возможны промежуточные встречи с экспертами. Число собеседований зависит от конкретной вакансии.

Что делать, если я отправил резюме, но не получил ответ?

Позвонить в офис 2ГИС и попросить соединить с отделом персонала. Вам помогут разобраться в ситуации.

Где находятся офисы 2ГИС? В каком из них я смогу работать?

В Новосибирске — на левом берегу на площади Маркса в «Сан Сити» и в Академгородке — в одной из башен Технопарка. Работать предстоит там, где работает ваша команда, в описании вакансии обычно указано место работы.

Какие условия труда, есть ли социальный пакет?

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

Возможен ли переезд в офисы других городов и стран 2ГИС?

Да, возможен, но нужно будет пройти внутренний конкурс на вакансию.

Какой карьерный рост возможен в 2ГИС?

Как горизонтальный — переход в другие отделы / департаменты, расширение зоны ответственности, так и вертикальный — можно вырасти в руководителя. Для этого в 2ГИС есть стажировки внутри компании, Корпоративный университет и ежегодная оценка персонала.

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

Middle/senior Scala-разработчик в Доставку и Оплату
PostgreSQL
k8s
SCALA
Помогаем пользователям оплачивать покупки и заказывать товары с доставкой на дом
Java/Kotlin-разработчик в команду World
ООП
CI/CD
PostgreSQL
k8s
Git
C#
Kotlin
Java8
SCALA
Разрабатываем сервисы, которые непрерывно собирают, обрабатывают и доставляют картографические и справочные данные до внутренних систем
Junior C++ разработчик в команду Navi
Алгоритмы
Agile
STL
C++
CI
Строим маршруты во всех продуктах 2ГИС — проезд на авто и общественном транспорте, пешеходные маршруты, пробки, такси и отображение автобусов на карте
Middle C++ разработчик в команду Navi
Алгоритмы
STL
C++
CI
Строим маршруты во всех продуктах 2ГИС — проезд на авто и общественном транспорте, пешеходные маршруты, пробки, такси и отображение автобусов на карте
Senior C++ разработчик в команду Navi
Алгоритмы
STL
C++
CI
Строим маршруты во всех продуктах 2ГИС — проезд на авто и общественном транспорте, пешеходные маршруты, пробки, такси и отображение автобусов на карте
Middle C++ разработчик в команду 3D-карты
3D-карта
Алгоритмы
OpenGL
Boost
CMake
C++
Развиваем картографический движок: рендерим 3D-объекты, генерируем геометрию, собираем тайлы с данными
Senior C++ разработчик в команду 3D-карты
3D-карта
OpenGL
STL
Boost
CMake
C++
Развиваем картографический движок: рендерим 3D-объекты, генерируем геометрию, собираем тайлы с данными
Junior .Net/C# разработчик в команду Fiji
C#
.Net Framework
MS Visual Studio
Развиваем автораспознавание знаков и архитектуру дорожного графа
C++ разработчик в Поиск
Python
SQL
C++
Создаём алгоритм поиска для всех продуктов 2ГИС: вычисляем релевантность запросов, обрабатываем big data
Go/PHP-разработчик в команду UGC
PostgreSQL
Docker
k8s
PHP
MySQL
Yii Framework
Go
Разрабатываем сервисы, которые позволяют пользователям добавлять контент в продукт и помогают справочнику быть точнее, а другим пользователям — лучше ориентироваться в городе
Middle Python-разработчик в команду Bots
CI/CD
PostgreSQL
k8s
Gitlab
Python3
Разрабатываем робота для сверки информации об организациях по телефону
Ведущий C++/Qt разработчик под Android
CMake
Java
C++
Развиваем Android-версию 2ГИС для 12 миллионов пользователей
Middle/senior frontend-разработчик в команду Web-карты
3D-карта
JavaScript
Делаем API карт, которым пользуются разработчики по всему миру
Инфраструктурный инженер (DevOps)
PostgreSQL
k8s
Cassandra
Go
Создаём инфраструктурные решения и внедряем новые технологии для команд разработки
.Net/C# разработчик
PostgreSQL
C#
.Net Framework
Java
Собираем и актуализируем данные справочника
Python-разработчик в команду World
CI/CD
PostgreSQL
k8s
Mypy
ELK
Python
Git
Собираем данные компаний и добавляем в 2ГИС
Middle Python-разработчик в команду Поиска
Python
Git
Python3
SQL
Разрабатываем инструменты для обработки данных Поиска
Ведущий .Net/C# разработчик в команду ERM
PostgreSQL
MySQL
C#
.Net Framework
Развиваем коммерческое ПО — учётную систему для обработки заказов рекламодателей и веб-сервис для работы с рекламой