Лаборатория Касперского

Developer C (KasperskyOS, Mobile Drivers)

Не указана
  • Москва
  • Полная занятость
  • Удаленная работа
  • От 3 до 6 лет
  • C
  • C++
  • Linux

О проекте
«Лаборатория Касперского» работает над созданием экосистемы вокруг продуктов на основе KasperskyOS. Одним из направлений является разработка мобильной ОС для профессиональных устройств и защищенных решений на её основе. Защищенное может и должно быть удобным.

Об отделе
Наш отдел отвечает за выпуск двух базовых продуктов - непосредственно ОС для мобильных устройств и SDK для разработки приложений. В отдел входят несколько групп разработки, занимающихся адаптацией ОС к аппаратной платформе, разработкой системного API, базовых подсистем, API для приложений, а так же базового комплекта приложений.

Области ответственности команды:

  • Адаптация мобильной KasperskyOS под целевые аппаратные платформы;
  • Разработка новых драйверов и сервисов операционной системы;
  • Выпуск конечных решений на основе KasperskyOS для мобильных устройств.

Предстоящие задачи:

  • Проектирование и разработка программного слоя совместимости с нативными Linux и Android драйверами и сервисами для операционной системы KasperskyOS;
  • Участие в разработке и ревью архитектуры;
  • Участие в анализе требований;
  • Участие в подготовке проектной документации;
  • Участие в оценке трудоёмкости задач;
  • Peer code review.

Чтобы быть успешным в данной роли необходимо:

  • Знание и использование современных стандартов C17 | (С++ 17 и выше);
  • Иметь опыт коммерческой разработки на С | C++;
  • Знание архитектуры AOSP и(или) GNU/Linux;
  • Понимание основ виртуализации в Linux;
  • Опыт системного программирования под AOSP и(или) GNU/Linux;
  • Опыт сборки AOSP и(или) GNU/Linux из исходников, опыт конфигурирования ядра Linux;
  • Знание технического английского;
  • Понимание методологий Agile, желание их применять.

Будет плюсом:

  • Знание принципов статического и динамического анализа кода;
  • Знание базовых принципов построения современных операционных систем;
  • Знание и понимание работы различных подсистем ОС, таких как управление памятью, межпроцессное взаимодействие синхронизация, планирование задач, обработка прерываний;
  • Знание методологических подходов проектирования программного обеспечения;
  • Знание или опыт работы с Android Virtualization Framework (AVF);
  • Опыт разработки безопасного кода, знание принципов SDL;
  • Опыт разработки и портирования драйверов;
  • Опыт разработки сервисов в AOSP, работа с HAL;
  • Опыт разработки юнит, фаззинг тестов;
  • Опыт использования средств разработки ПО под Linux (GCC, Clang, Make, GDB);
  • Опыт работы с Azure DevOps (TFS), Confluence, Gerrit.