Developer (Component development group, Multimedia team)

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

Москва

Компания

ТОП-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;
  • Опыт кроссплатформенной разработки.