Lead C++ Engineer (3D Graphic)
Требования
Местоположение и тип занятости
Компания
Описание вакансии
О компании и команде
Исследовательская лаборатория, занимается разработкой мобильной операционной системы.
Базируется в трех странах (Россия, Китай, Венгрия).
В лаборатории широкий спектр разработки от ядра до вспомогательных собственного языка программирования, а также различных впомогательных инструментов и приложений;
Наше направление занимается разработкой тулов для помощи другим разработчикам, которые занимаются оптимизацией графики.
Наш проект работает над RenderDoc - Open Source программа, мы занимаемся ее модификацией. А также ведем разработку Replay tool - программа, позволяющая рендерить/проигрывать отрисовку заранее захваченных кадров, и интеграция в локальные инструменты для замеров производительности
Задачи:
- Разработка графических инструментов и мобильных приложений для собственной ОС (OpenHarmony)
- Исследование и внедрение ключевых функций графических инструментов для улучшения производительности и снижения энергопотребления изделий
- Техническое руководство небольшой группой из 2-3 инженеров
Ожидания от кандидата
- Знание языков программирования: C/C++
- Опыт программирования на низком уровне для Windows/Unix/Android
- Хорошее понимание операционных систем Windows, наличие знаний Linux - преимущество, опыт работы не менее 5 лет
- Базовые знания в области 3D-графики
- Английский язык на уровне upper-intermediate
- Опыт планирования проектов и навыки декомпозиции задач, способность довести задачи до конца
- Опыт разработки и тестирования в области графики, хорошее знание ключевых компьютерных графических алгоритмов и тенденций в графической индустрии
- Знание аппаратного обеспечения графического процессора, графического конвейера отрисовки, API (Direct3D11/OpenGLES, Vulkan/Direct3D12), языки шейдеров (GLSL/HLSL)
Будет плюсом:
• Знание платформ Android/Windows, анализ дампов крешей и логов (systrace / XPerf), инструментов профилирования графики (MGD, XCode, RenderDoc, PIX, NSight, GPA)
• Опыт работы с C/C++ с использованием STL/Multithreading, знание Java/Python и навыки программирования пользовательского интерфейса (например, с использованием Qt) будут большим плюсом
• Хорошее знание математической статистики для обработки результатов измерений и улучшения точности инструментов профилирования
• Опыт разработки инструментов профилирования и отладки для настольных и мобильных графических процессоров
• Опыт программирования для Unix/Android, знание языка ассемблера, POSIX, сети, сокетов BSD
• Опыт работы с инструментами анализа Android (systrace, DS-5 streamline, MGD, RenderDoc и Snapdragon) на платформах с микросхемами (Adreno и Mali)
• Опыт оптимизации производительности и энергопотребления платформы Android
• Знакомство с гибкими методологиями разработки
• Опыт работы с системами контроля версий (например, Git)
• Знание передовых практик в области программной инженерии
Условия работы
- ДМС со стоматологией для сотрудника и его семьи;
- Индивидуальный план развития по итогам регулярных аттестаций, широкие возможности для обучения: собственный учебный центр, скидки на курсы в различных школах, разговорные клубы на английском;
- Гибкие возможности смены проекта;
- Занятия йогой, лекции и другие развлекательные активности;
- Компания IBS является аккредитованной ИТ-компанией.