Rendering engineer C++ в 3D Карту

Дата размещения вакансии: 29.10.2024
Работодатель: 2ГИС
Уровень зарплаты:
з/п не указана
Город:
Новосибирск
Требуемый опыт работы:
От 3 до 6 лет

Карты 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-движка в целом.
  • Сжатием данных (в том числе созданием и оптимизациями собственных форматов хранения данных).
  • Генерализацией и симплификацией данных.
  • Разработкой алгоритмов и структур данных, производительных на различных мобильных устройствах.
  • Улучшением и поддержкой собственного языка описания стилей карт.

Мы ждём, что ты

  • Имеешь опыт работы с графическим API (Metal, OpenGL, DirectX, Vulkan).
  • Имеешь опыт написания шейдерных программ.
  • Знаешь основные алгоритмы и структуры данных, в том числе имеешь опыт работы с алгоритмами компьютерной графики.
  • Подключишься к разработке сложных программных решений — от проработки и обсуждения требований до проектирования архитектуры и написания качественного кода.
  • Умеешь работать в команде — открыто общаться и обсуждать свои задачи, вместе с командой находить лучшие решения.

Будет плюсом

  • Опыт мобильной или кроссплатформенной разработки на С++, разработки многопоточных приложений и навыки измерения производительности и профилирования графических программ.

Кроме того

  • 2ГИС — аккредитованная IT-компания. Если хочешь работать в гибридном формате, у нас есть офисы в Москве, Санкт-Петербурге, два классных офиса в Новосибирске. А также коворкинги в Томске, Астане и Алма-Ате. А ещё, у нас можно работать 100% удалённо, в том числе за границей.
  • График не главное. Кто-то начинает работу в 9, кто-то в 11, а кто-то — когда удобно ему и команде. Главное — выполнять задачи в срок и быть на связи с коллегами.

  • Само собой, полностью белая зарплата, размер обсуждается на собеседовании, потолка нет.

  • Есть ДМС, штатный терапевт, невролог, мед.консультант и другие IT-плюшки.

  • Если хочешь делиться своим опытом, мы только за — поможем с выступлениями на конференциях и статьями для Хабра.