👀 Дизайнеры, с какой командой вы мэтчитесь по вайбам? Проверяйте на Вайб-чеке→ vibe.habr.com

Разработчик С++ в команду 3D Карта

Местоположение и тип занятости

Полный рабочий деньМожно удаленно

Компания

Все организации города, их контакты, адреса, время работы + трехмерная карта + маршруты проезда

Описание вакансии

Условия работы

У нас открыты вакансии Middle/Senior C++ разработчика в команду 3D Карта. Мы работаем над большим проектом — картографическим 3D-движком и ищем разработчиков, которые своими решениями будут влиять на его успех. Подробнее о наших проектах — на dev.2gis.ru.

О проекте

3D-движок — большой и сложный проект, который содержит несколько сотен тысяч строк высокопроизводительного кода на C++ и Python. 

Этот код собираем с помощью CMake, свежими версиями Clang, GCC, MSVC — кому что удобней, а поставляемся как кроссплатформенная библиотека на С++ с документированным API, также предоставляем набор утилит для обработки и подготовки картографических данных.

Рефакторим код, когда это необходимо. Перед релизом проводим полноценное регрессионное тестирование, проверяем производительность совместно с нашей собственной командой QA/SDET.

Для крупноблочного планирования используем Notion, для документации Confluence, а для работы с конкретными задачами Jira.

Для ревью и сборки на CI используем Bitbucket Server и Jenkins, перед каждым мержем прогоняем сборки и автотесты, в том числе автотесты визуальной части.

    Основной стек

    C++17, Python 3, CMake, Jenkins. 

    Задачи

    Сейчас мы активно разрабатываем графические продуктовые фичи в карте: анимации свойств объектов от времени, рельеф, реалистичные дороги и развязки, внедряем различные визуальные эффекты (Direct light, SSAO, MSAA и др), а также активно боремся за производительность движка и его графической подсистемы.

    Основные задачи связаны с обработкой и отрисовкой 3D-объектов — генерации геометрии, написание шейдеров и эффектов, работа с бинарными данными карты (векторными тайлами) в собственном формате.

    Ты будешь заниматься

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

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

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

    Будет плюсом

    • Знание и опыт работы с графическим API (Metal, OpenGL, DirectX).
    • Пригодится опыт мобильной или кроссплатформенной разработки на С++, разработки многопоточных приложений и навыки измерения производительности и профилирования графических программ.

    Кроме того

    2ГИС — аккредитованная IT-компания. У нас можно работать удалённо. Для нас важен специалист, а не его локация. Если хочешь работать в гибридном формате, у нас есть офисы в Москве, Санкт-Петербурге, два классных офиса в Новосибирске. А также коворкинги в Нижнем Новгороде, Томске, Астане, Алма-Ате и Дубае.

    • График не главное. Кто-то начинает работу в 9, кто-то в 11, а кто-то — когда удобно ему и команде. Главное — выполнять задачи в срок и быть на связи с коллегами.
    • Само собой, полностью белая зарплата, размер обсуждается на собеседовании, потолка нет.
    • Есть ДМС, штатный терапевт, невролог, мед.консультант и другие IT-плюшки.
    • Если хочешь делиться своим опытом, мы только за — поможем с выступлениями на конференциях и статьями для Хабра.