О проекте
3D-движок — большой и сложный проект, который содержит более полумиллиона строк высокопроизводительного кода на C++20, а также активно взаимодействует с современными GAPI: Vulkan/Metal/OpenGL.
Собираем этот код с помощью CMake, свежими версиями компиляторов (Clang, GCC, MSVC) в различных IDE — кому что удобней.
Поставляем наш продукт как кроссплатформенную библиотеку с документированным API, также предоставляем набор утилит для обработки и подготовки картографических данных.
Также не забываем про качество нашего продукта. Пишем и поддерживаем различные тесты: от простых модульных до сложных e2e скриншотных тестов, запускаемых на ферме с реальными мобильными устройствами.
Основные задачи команды связаны с обработкой и отрисовкой большого количества 3D-объектов — генерацией геометрии, написанием шейдеров и эффектов, работой с бинарными данными карты (векторными тайлами) в собственном формате.
Основной стек
•C++20, Python 3, CMake — для разработки и тестов.
•Jira, Bitbucket Stash и Jenkins — для задач, ревью и сборки на CI.
Задачи
•Сейчас мы активно разрабатываем графические продуктовые фичи в карте: различные анимации объектов, рельеф, реалистичные дороги, развязки и тоннели.
•В том числе активно экспериментируем с внедрением различных визуальных эффектов. Изучаем на state-of-art подходы в графике и оцениваем их применимость в нашем продукте.
•Не забываем и про нефункциональные требования — работаем над производительностью движка и его графической подсистемы.
Ты будешь заниматься
•Разработкой программных решений на С++20 с использованием современных графических API (Vulkan, Metal, OpenGL).
•Управлением небольшой командой разработчиков (3-5 человек): постановкой и контролем задач, 1×1, развитием инженеров и процессов.
Мы ждём, что ты
•Имеешь опыт работы с современным С++ от 3-х лет и подключишься к разработке сложных программных решений — от проработки и обсуждения требований до проектирования архитектуры и написания качественного кода.
•Имеешь опыт управления командой от 1 года, умеешь работать в команде — открыто общаться и обсуждать задачи, вместе с командой находить лучшие решения.
•Хорошо умеешь распределять свое рабочее время, умеешь держать фокус на технических задачах, при этом не забываешь уделять внимание своей команде.
Будет плюсом
•Опыт мобильной или кроссплатформенной разработки на С++, разработки многопоточных приложений.
•Опыт с графическими API (Vulkan, Metal, OpenGL, DirectX), а также навыки измерения производительности и профилирования графических программ.
Кроме того
•2ГИС — аккредитованная IT-компания.
•Если хочешь работать в гибридном формате, у нас есть офисы в Москве, Санкт-Петербурге, два классных офиса в Новосибирске. Также у нас можно работать 100% удалённо.
•График не главное. Кто-то начинает работу в 9, кто-то в 11, а кто-то — когда удобно ему и команде. Главное — выполнять задачи в срок и быть на связи с коллегами.
•Есть ДМС, штатный терапевт, невролог, мед.консультант и другие IT-плюшки.
•Если хочешь делиться своим опытом, мы только за — поможем с выступлениями на конференциях и статьями для Хабра.