Developer C (KasperskyOS, Core Team)

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

Можно удаленно

Компания

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

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

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

О проекте

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

Об отделе

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

О команде

В группе разработки системных компонент команда Core отвечает за поддержку стандартной библиотеки libс (POSIX API), тулчейна (gcc/clang, binutils), а также за разработку и поддержку различных технологий повышения надежности кода (статический, динамический анализ, фаззинг тестирование). Кроме того, поскольку мы находимся в рамках общей команды Components, бывают и задачи, связанные со смежными группами

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

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

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

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

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

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

Желательно:

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

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

Ваши задачи

  • Поддержка и доработка библиотеки libc;
  • Разработка функциональности расширяющую поддержку POSIX API (XSI и другие);
  • Участие в разработке архитектуры безопасной libc работающей в ограничениях безопасной платформы.