Разработчик (группа разработки компонентов, команда Middleware, KasperskyOS)

Требуемые навыки

Разработка ПО · C · C++

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

Москва

Компания

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

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

О проекте

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

Об отделе

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

Задачи группы

В команде SPD группа разработки компонентов отвечает за:

  • Инструменты разработки (GCC/Clang, Binutils, Qemu и т.д.);
  • Базовые компоненты KasperskyOS (libc, поддержка POSIX);
  • Поддержку файловых систем и систем хранения данных;
  • Поддержку сетевых стеков и средств коммуникации между устройствами;
  • Средства управления приложениями;
  • Графическую и аудио подсистемы;
  • Поддержку различных фреймворков и системных служб;

О команде

В группе разработки системных компонент команда Middleware отвечает за поддержку компонентов Qt, взаимодействие пользовательских компонентов с драйверами, работу динамически загружаемых библиотек.  Кроме того, поскольку мы находимся в рамках общей команды Components, бывают и задачи, связанные со смежными группами.

Ваши задачи

  • Поддержка и портирование Qt, LLVM;
  • Поддержка нашей реализации libc;
  • Написание и поддержка автотестов;
  • Поддержка динамической загрузки библиотек;
  • Поддержка и развитие технологий ASLR;

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

  • Отличное знание языка программирования С;
  • Знание базовых принципов построения современных операционных систем;
  • Знание инструментов разработки в Unix системах (Linux, BSD и пр.);
  • Опыт работы в команде, знакомство с процессами Code Review, CI/CD;

Желательно

  • Опыт кросплатформенной разработки;
  • Хорошее знание POSIX;
  • Знакомство с архитектурой операционных систем, внутреннего устройства ядра ОС (управление памятью, межпроцессное взаимодействие, планирование задач, VFS);
  • Знание внутреннего устройства libc
  • Понимание принципов работы ASLR
  • Знание библиотеки Qt
  • знание языка assembler по крайней мере для одной из архитектур (x86, ARM) на уровне, достаточном, для исследования объектного файла;
  • Знание форматов ELF, PE;

Ваш отклик

Авторизуйтесь
Откликаться на вакансии могут только зарегистрированные пользователи.