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

С++ разработчик в 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ГИС, а мы постоянно развиваем продукт, чтобы радовать пользователей ещё больше.
Удалённаяработа
Удалённая
работа
Мы готовы обсуждать формат удалённой работы для большей части сотрудников. Работайте там, где вам удобно, — в офисе, дома, в другом городе или даже стране. Мы умеем налаживать и успешно поддерживаем процессы в распределённых командах.
Хочу работать в 2ГИС
Ольга Сидорова
Привет!
Я — Ольга Сидорова. Помогаю соискателям — изучаю резюме и провожу собеседования. Чтобы откликнуться на вакансию, расскажите о себе в форме ниже. Будут вопросы — смело пишите мне на почту.
Обязательно для заполнения
Обязательно для заполнения
Обязательно для заполнения
Отправилось!
Умпешная отправка формы
Мы рассмотрим ваше резюме в течение двух недель и сразу же сообщим результат. А пока почитайте что-то интересное.
Как долго рассматривается резюме?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Java/Kotlin-разработчик в команду World
ООП
CI/CD
PostgreSQL
k8s
Git
C#
Kotlin
Java8
SCALA
Разрабатываем сервисы, которые непрерывно собирают, обрабатывают и доставляют картографические и справочные данные до внутренних систем
Middle C++ разработчик в команду Navi
Алгоритмы
STL
C++
CI
Строим маршруты во всех продуктах 2ГИС — проезд на авто и общественном транспорте, пешеходные маршруты, пробки, такси и отображение автобусов на карте
Senior C++ разработчик в команду Navi
Алгоритмы
STL
C++
CI
Удалённая работа
Строим маршруты во всех продуктах 2ГИС — проезд на авто и общественном транспорте, пешеходные маршруты, пробки, такси и отображение автобусов на карте
Middle C++ разработчик в команду 3D-карты
3D-карта
Алгоритмы
OpenGL
STL
CMake
C++
Развиваем картографический движок: рендерим 3D-объекты, генерируем геометрию, собираем тайлы с данными
Senior C++ разработчик в команду 3D-карты
3D-карта
Алгоритмы
OpenGL
STL
CMake
C++
Удалённая работа
Развиваем картографический движок: рендерим 3D-объекты, генерируем геометрию, собираем тайлы с данными
iOS-разработчик
Objective-C
Swift
Apple Human Interface Guidelines
Делаем крутое картографическое приложение
Go/PHP-разработчик в команду UGC
PostgreSQL
Docker
k8s
PHP
Yii Framework
Go
Удалённая работа
Разрабатываем сервисы, которые позволяют пользователям добавлять контент в продукт и помогают справочнику быть точнее, а другим пользователям — лучше ориентироваться в городе
Ведущий C++/Qt разработчик под Android
JavaScript
C++
Удалённая работа
Разрабатываем приложение 2ГИС под Android
Middle C# разработчик в YouRa
MySQL
C#
.Net Framework
Java
Разрабатываем внутренние сервисы 2ГИС и отвечаем за сбор и актуальность справочной информации
Middle/Senior Frontend-разработчик в Веб-карту
3D-карта
Алгоритмы
JavaScript
Удалённая работа
Делаем API карт, которым пользуются разработчики по всему миру
Middle/Senior Python-разработчик в команду Добычи данных
PostgreSQL
Docker
k8s
Python
Удалённая работа
Собираем данные компаний и добавляем в 2ГИС
Системный администратор/ DevOps
PostgreSQL
Docker
ELK
Python
Go
SQL
Linux
«Школа 21» — уникальная образовательная инициатива Сбербанка, основанная на методике «школы будущего».
Middle/Senior Go-разработчик в Товары
PostgreSQL
Docker
k8s
Go
Удалённая работа
Собираем и показываем пользователям товары и услуги в 2ГИС
Разработчик C++/Qt под Android
Разрабатываем приложение 2ГИС под Android
CI-инженер в Navi
Docker
Gitlab
Jenkins
Python
Обеспечиваем эффективную работы CI/CD в сервисах навигации
Middle/Senior C# разработчик в Fiji
C#
.Net Framework
Разрабатываем ПО для наших картографов
DevOps/CI-инженер в сервис мобильных приложений
Ansible
Jenkins
Python
Git
Развиваем и поддерживаем инфраструктуру CI/CD и инструменты для разработчиков
Tимлид в команду Добычи данных
Python
Управление командой
Собираем данные компаний и добавляем в 2ГИС

DevOps-инженер в команду World
CI/CD
PostgreSQL
Gitlab
Ansible
Git
SQL
Помогаем разработчикам правильно адаптировать приложения к инфраструктуре
Разработчик в тестировании в команду 3D-карты
Автотесты
Python
CI
Развиваем картографический движок: рендерим 3D-объекты, генерируем геометрию, собираем тайлы с данными
Senior Android-разработчик в Дело
Java
Kotlin
Android
Создаём приложение, которое поможет предпринимателям поддерживать бизнес в онлайне
Scala developer в команде 2ГИС.Товары
PostgreSQL
MySQL
SCALA
Помогаем пользователям 2ГИС находить актуальную и полную информацию о товарах и услугах в городе.
Middle iOS-разработчик
Swift
Apple Human Interface Guidelines
Разрабатываем SDK для оплаты услуг на АЗС через 2ГИС на iOS
Senior Android-разработчик
Java
Kotlin
Android
Разрабатываем SDK для оплаты услуг на АЗС через 2ГИС на Android
Middle/Senior Go-разработчик в сервис геолокации
PostgreSQL
k8s
Go
Удалённая работа
Создаём собственный сервис геопозиционирования
Middle/senior NLP-специалист
CI/CD
Jenkins
Python
Git
Машинное обучение
Исследования
Удалённая работа
Задачи, которые до нас не решали
Менеджер краудсорсинговых проектов
Python
Машинное обучение
Аналитика
Управление командой
Размечаем обучающие данные для машинного обучения — от детекции дорожных знаков и светофоров до текстовых датасетов
Аналитик данных
Python
SQL
Аналитика
ETL
Помогаем навигатору развиваться: собираем метрики, мониторим, строим дашборды, копаемся в данных
Middle Python-разработчик в команду Navi
Docker
k8s
Python
Git
Go
SQL
Создаем все транспортные сценарии в 2ГИС
Middle/senior frontend-разработчик
JavaScript
React
Redux
Разрабатываем новую десктопную (2gis.ru) и мобильную (m.2gis.ru) онлайн-версию
Middle/Senior Frontend-разработчик в Личный Кабинет
HTML
JavaScript
React
Redux
Удалённая работа
Разрабатываем веб-приложение для владельцев компаний
Middle C# разработчик в Export
Agile
C#
.Net Framework
SQL
Формируем пакеты данных для 2gis.ru и мобильных приложений 2ГИС
Junior/Middle C# разработчик в Fiji
C#
.Net Framework
Разрабатываем ПО для наших картографов
Тимлид команды техномаркетинга (DevRel Lead)
Продвижение продукта
Управление командой
Рассказываем о наших технологиях и продуктах так, чтобы все узнали
Middle .Net-разработчик в ERM
PostgreSQL
MySQL
C#
.Net Framework
Развиваем коммерческое ПО