📢 Занимаетесь брендом работодателя?

Приходите 11 марта на Хабр Семинар, поговорим о том, как бренд и коммуникации становятся частью стратегии удержания.

→ Узнать больше

Developer С/C++ (группа разработки компонентов, команда Multimedia)

Требования

Бэкенд разработчик
Разработка программного обеспечения
C++
C

Условия

Москва

Компания

ТОП-3 международная компания в области IT-безопасности, один из лучших работодателей России

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

О проекте 

KasperskyOS – защищенная микроядерная операционная система. Это не очередной дистрибутив Linux, а собственная разработка, способная успешно конкурировать на международных рынках. Заложенный в KasperskyOS принцип кибериммунности позволяет разрабатывать безопасные решения из потенциально небезопасных компонентов. 

Об отделе 

Разработкой KasperskyOS занимается отдел Secure Platform Development (SPD), состоящий из нескольких групп, которые отвечают за микроядро ОС, драйверы, системные компоненты, подсистему безопасности, средства виртуализации, а также обеспечивают непрерывный контроль качества разработки. Сейчас у команды много новых, интересных и сложных задач, так что она продолжает расти. 

О группе 

Группа отвечает за реализацию программной и аппаратной поддержки 2D и 3D графики (DRM/KMS, Mesa, OpenGL, OpenGL ES, Vulkan , Wayland, WebGL) и компонентов обработки и отображения видео и звука (GStreamer, FFmpeg, ALSA, PulseAudio, PipeWire), в том числе с использованием аппаратных и программных средств (LLVM) ускорения. 

Задачи 

  • Реализация инфраструктуры DRM/KMS;
  • Реализация поддержки OpenGL/OpenGL ES/Vulkan в KasperskyOS с использованием MESA;
  • Реализация поддержки WebGL для Chromium;
  • Реализация поддержки видео стека;
  • Реализация поддержки звукового стека;
  • Портирование open source и разработка собственных компонентов: инфраструктуры и протоколов оконного композитинга (Wayland based, собственный композитор), видео кодеков (GStreamer);
  • Прототипирование прикладных решений, написание тестов, в том числе для оценки производительности;

Что требуется от кандидата 

  • Отличное знание языков программирования С,C++;
  • Знание базовых принципов построения современных операционных систем (особенно в части графического/видео/звукового стека);
  • Опыт многопоточного программирования;
  • Знание классических алгоритмов и структур данных;
  • CMake, Make, Git;

Желательно 

  • Опыт работы с MESA или иными имплементациями OpenGL/OpenGL ES/Vulkan;
  • Опыт работы с ALSA, PulseAudio или PipeWire;
  • Опыт работы с GStreamer/FFmpeg/VLC или иными аудио/видео кодеками;
  • Опыт работы с композиторами и протоколами композитинга (Wayland, Weston, Cage и т.п.);
  • Опыт работы с Buildroot;
  • Опыт кроссплатформенной разработки.