Вакансии 2ГИС в Новосибирске

Junior C++ Разработчик (3D карты)

Описание проекта

Мы занимаемся разработкой картографического движка для всей линейки продуктов 2ГИС. Результат нашей работы видят десятки миллионов пользователей по всему миру. К движку предъявляются высокие требования по качеству изображения и скорости работы.

Мы занимаемся самыми разными задачами:

  • рендеринг карты: отрисовка площадников, линий, 3D моделей, подписей, анимаций;
  • алгоритмические задачи, векторная алгебра, аналитическая геометрия, тригонометрия;
  • ГИС-задачи: генерализация, симплификация данных, разрезка геометрии на тайлы, пространственный поиск;
  • поддержка и развитие собственного формата описания стилей карты;
  • оптимальное сжатие картографических данных;
  • анализ производительности и оптимизация как загрузки данных, рендеринга на мобильных устройствах, так и подготовки данных на серверах;
  • автоматизированные бенчмарки и фреймворки для тестирования движка на серверах и android-ферме.

Технологии

Любим современный C++, следим за появляющимися идиомами. Пишем на подмножестве C++14, которое поддерживают используемые нами компиляторы. При необходимости сами пишем шаблонную магию, специализированные контейнеры, generic-алгоритмы. Для рендеринга используем десктопный OpenGL и OpenGL ES 2.0.

Требования к качеству изображения и производительности сподвигают проявлять фантазию и делать нетривиальные штуки: дороги со сглаживанием и скруглениями на поворотах через signed distance, прозрачность домов с помощью z-prepass, генерализацию данных через scanline рендер и векторизацию, и т.д.

Чем занимаемся сейчас

Разрабатываем новый движок на смену старому. Сейчас новый движок уже генерирует растровые тайлы для 2gis.ru, и готовится к релизу на Android и iOS. Основная цель — это карта мира: заставить движок работать с огромным объёмом картографических данных так же быстро, как с данными отдельных регионов.

Кто нам нужен

Мы ждём С++ разработчика, который вместе с нами будет разрабатывать движок, не боится сложностей большого проекта. Разработчика, для которого важно писать эффективный, понятный код, правильно строить интерфейсы взаимодействия с другими командами. Мы ждём человека, для которого не проблема покопаться в Python скриптах, разобраться с проблемами вроде «почему теперь этот домик не рисуется», «а тут стрелочка входа в перспективе неправильно отображается» и т.п.

Немного об R&D 2ГИС

В Новосибирске у нас два больших офиса: этаж в Технопарке и одиннадцать этажей в Сан-Сити. Ты будешь работать в Технопарке. У нас нет дресс-кода и строгого графика. Кто-то приходит в 9, кто-то в 10, а кто-то — когда удобно ему и команде. Главное, чтобы ты выполнял задачи в срок и был на связи с коллегами.

Мы используем современные технологии и любим о них говорить. Выступаем на конференциях и сами их организуем. Заработную плату готовы обсуждать индивидуально.

Ждем ваших резюме с указанием вакансии на электронную почту yu.shatrova@2gis.ru С вопросами можно обращаться по телефону +7 965 991-77-84. Ответит Юля Шатрова.

Откликнуться на вакансию