Обязанности:
Карты 2ГИС взяли курс на иммерсивность: мы хотим создать не просто красивую, но и как никогда реалистичную карту. Если ты «горишь» графикой и хочешь поучаствовать в создании новой карты, мы ждём именно тебя! О проекте 3D-движок — большой и сложный проект, который содержит несколько сотен тысяч строк высокопроизводительного кода на C++. Этот код собираем с помощью CMake, свежими версиями Clang, GCC, MSVC — кому что удобней, а поставляемся как кроссплатформенная библиотека на С++ с документированным API, также предоставляем набор утилит для обработки и подготовки картографических данных. Основной стек C++20, Python 3, CMake, Jenkins. Для ревью и сборки на CI используем Bitbucket Server и Jenkins, перед каждым мержем прогоняем сборки и автотесты, в том числе автотесты визуальной части. Задачи Сейчас мы активно разрабатываем графические продуктовые фичи в карте: анимации свойств объектов от времени, рельеф, реалистичные дороги и развязки, внедряем различные визуальные эффекты (Direct light, SSAO, MSAA и др), а также активно работаем над производительность движка и его графической подсистемы. Основные задачи связаны с обработкой и отрисовкой 3D-объектов — генерации геометрии, написание шейдеров и эффектов, работа с бинарными данными карты (векторными тайлами) в собственном формате. Ты будешь заниматься Подготовкой и отрисовкой новых картографических данных. Написанием различных графических эффектов. Улучшением взаимодействия с современными графическими API (Vulkan, Metal, OpenGL). Производительностью графической подсистемы и 3D-движка в целом. Сжатием данных (в том числе созданием и оптимизациями собственных форматов хранения данных). Генерализацией и симплификацией данных. Разработкой алгоритмов и структур данных, производительных на различных мобильных устройствах. Улучшением и поддержкой собственного языка описания стилей карт. Мы ждём, что ты Имеешь опыт работы с графическим API (Metal, OpenGL, DirectX, Vulkan). Имеешь опыт написания шейдерных программ. Знаешь основные алгоритмы и структуры данных, в том числе имеешь опыт работы с алгоритмами компьютерной графики. Подключишься к разработке сложных программных решений — от проработки и обсуждения требований до проектирования архитектуры и написания качественного кода. Умеешь работать в команде — открыто общаться и обсуждать свои задачи, вместе с командой находить лучшие решения. Будет плюсом Опыт мобильной или кроссплатформенной разработки на С++, разработки многопоточных приложений и навыки измерения производительности и профилирования графических программ. Кроме того 2ГИС — аккредитованная IT-компания. Если хочешь работать в гибридном формате, у нас есть офисы в Москве, Санкт-Петербурге, два классных офиса в Новосибирске. А также коворкинги в Томске, Астане, Алма-Ате и Дубае. А ещё, у нас можно работать 100% удалённо, в том числе за границей. График не главное. Кто-то начинает работу в 9, кто-то в 11, а кто-то — когда удобно ему и команде. Главное — выполнять задачи в срок и быть на связи с коллегами. Само собой, полностью белая зарплата, размер обсуждается на собеседовании, потолка нет. Есть ДМС, штатный терапевт, невролог, мед.консультант и другие IT-плюшки. Если хочешь делиться своим опытом, мы только за — поможем с выступлениями на конференциях и статьями для Хабра.