Backend

Developer С (KasperskyOS, Multimedia/Graphics) Full-time

О компании и команде

О проекте:

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

Об отделе:

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

О группе:

Группа отвечает за реализацию программной и аппаратной поддержки 2D и 3D графики (DRM/KMS, Mesa, OpenGL, OpenGL ES, Vulkan, WebGL), протоколы/сервера композитинга (Wayland), а также интеграцию графического стека в фреймворки для создания UI (Qt, Flutter) 

Ожидания от кандидата

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

Желательно:

  • Хорошее знание языка программирования C++;
  • Опыт работы с Linux-based ОС, командной строкой (bash/sh);
  • Опыт работы с MESA или иными имплементациями OpenGL/OpenGL ES/Vulkan;
  • Опыт работы с композиторами и протоколами композитинга (Wayland, Weston, Flutter, Cage и т.п.);
  • Опыт работы с исходными кодами Qt 5/6 (QtWayland, QtDeclarative, QtMultimedia)
  • Опыт работы с Buildroot;
  • Опыт кроссплатформенной разработки.

Условия работы

Задачи:

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

Overview

Apply For This Job