Описание:
Карты 2ГИС взяли курс на иммерсивность: мы хотим создать не просто красивую, но и как никогда детальную карту. Если ты «горишь» графикой и хочешь поучаствовать в создании новой карты, мы ждём именно тебя! О проекте 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 подходы в графике и оцениваем их применимость в нашем продукте. Не забываем и про нефункциональные требования – работаем над производительностью движка и его графической подсистемы. Ты будешь заниматься Подготовкой и отрисовкой новых картографических данных. Написанием различных графических эффектов. Улучшением взаимодействия с современными графическими API (Vulkan, Metal, OpenGL). Производительностью графической подсистемы и 3D-движка в целом. Сжатием данных (в том числе созданием и оптимизациями собственных форматов хранения данных). Генерализацией и симплификацией данных. Разработкой алгоритмов и структур данных, производительных на различных мобильных устройствах. Улучшением и поддержкой собственного языка описания стилей карт. Мы ждём, что ты Имеешь опыт работы с современным С++ от 3-х лет Знаешь основные алгоритмы и структуры данных, а также умеешь их применять Подключишься к разработке сложных программных решений — от проработки и обсуждения требований до проектирования архитектуры и написания качественного кода. Умеешь работать в команде — открыто общаться и обсуждать свои задачи, вместе с командой находить лучшие решения Будет плюсом Опыт мобильной или кроссплатформенной разработки на С++, разработки многопоточных приложений и навыки измерения измерения их производительности для дальнейшей оптимизации Опыт работы с графическим API (Metal, Op