Ведущий инженер-разработчик ПО (Программист 3D подсистемы)
Требования
Местоположение и тип занятости
Компания
Международная компания, специализирующаяся на консалтинге, технологических услугах и аутсорсинге
Описание вакансии
Условия работы
Bell Integrator – международная компания, предоставляющая традиционные технологические услуги и инновационные сервисы. С 2003 года мы предоставляем клиентам широкий спектр сервисов и решений в области инновационных технологий.
О проектах:
- Мобильное приложение, создано для управления роботизированными тахеометрами, приемниками GNSS и Layout Navigator;
- Прикладное ПО, которое позволяет вам собирать данные картографирования и выполнять строительство и планировку дорог с использованием тахеометров, нивелиров и приемников GNSS;
- Инструменты для проектов строительства;
- ПО для обработки и настройки данных, собранных с помощью оптических тахеометров и оборудования GNSS
Задачи:
- Анализ исходных требований, уточнение поставленных задач, разработка оптимальных решений, оценка трудоемкости;
- Интеграция 3D движка в офисные и мобильные приложения;
- Разработка форматов хранения и отображения геометрических данных;
- Разработка шейдеров;
- Разработка внутренней структуры ПО, поддержка существующего кода, добавление новой функциональности;
- Поддержка графического движка;
- Поддержка и развитие подсистемы хранения геометрических данных.
Наши ожидания:
- Опыт программирования 3D-графики/геометрии от 5 лет;
- Владение основными средствами разработки, контроля версий (git + pull requests), issue-tracking, continuous integration, continuous delivery, рефакторинга и контроля качества кода;
- Опыт разработки многопоточных приложений;
- Уверенное знание C++;
- Знание ООП и паттернов проектирования;
- Понимание сложности алгоритмов;
- Математическая подготовка: векторная алгебра, геометрия, графы, деревья.
- Знание DirectX11/OpenGL;
- HLSL/GLSL, опыт написания шейдеров;
- Способность работать с большим объемом чужого кода;
- Умение работать в команде в условиях коллективного владения кодом, аккуратность, ответственность, широкий кругозор;
- Хорошее знание английского языка (для общения на технические темы и документирования работы).
Будет плюсом:
- Знание Vulcan/Metal;
- Опыт работы с Qt;
- Опыт работы с MFC;
- Опыт разработки под Android и iOS;
- Опыт создания кэша, деревьев и облаков точек;
- Опыт создания текстового атласа (оптимизация рендеринга текста);
- Опыт оптимизации быстродействия кода;
- Опыт работы с большими объёмами данных: облака точек, поверхности.
Условия:
- Возможность профессионального и карьерного роста в компании, возможность поучаствовать в разных проектах;
- Опыт работы в распределенной команде профессионалов;
- Уровень заработной платы, соответствующий Вашим знаниям и пожеланиям;
- Бесплатные обеды в офисе компании;
- Компенсация проезда в офис;
- Работав офисе (м. Павелецкая), так же возможна работа удаленно