Developer C (Component Development Group, Network Team)

  • Москва
  • Постоянная работа
  • Полная занятость
  • 10 д. назад
О проектеKasperskyOS - защищенная микроядерная операционная система. Это не очередной дистрибутив Linux, а собственная разработка, способная успешно конкурировать на международных рынках. Заложенный в KasperskyOS принцип кибериммунности позволяет разрабатывать безопасные решения из потенциально небезопасных компонентов.Об отделеРазработкой KasperskyOS занимается отдел Platform, состоящий из нескольких групп, которые отвечают за микроядро ОС, драйверы, системные компоненты, подсистему безопасности, средства виртуализации, а также обеспечивают непрерывный контроль качества разработки. Сейчас у команды много новых, интересных и сложных задач, так что она продолжает расти.О командеВ команде разработки системных компонентов группа Networking отвечает за поддержку сетевого стека, всех компонентов для работы с сетью (DHCP, DNS, TLS и др.), а также других connectivity-стеков (Bluetooth, GPS, GSM). Также, поскольку мы находимся в рамках общей команды Components, бывают и задачи, связанные со смежными группами.Задачи группыВ команде Platform группа разработки компонентов отвечает за:
  • Инструменты разработки (GCC/Clang, Binutils, Qemu и т.д.);
  • Базовые компоненты KasperskyOS (libc, поддержка POSIX);
  • Поддержку файловых систем и систем хранения данных;
  • Поддержку сетевых стеков и средств коммуникации между устройствами;
  • Средства управления приложениями;
  • Графическую и аудио подсистемы;
  • Поддержку различных фреймворков и системных служб.
Ваши задачи
  • Поддержка и развитие сетевого стека KasperskyOS;
  • Проектирование и разработка компонентов и системных сервисов для работы с сетью;
  • Разработка и портирование других connectivity-стеков (Bluetooth, GPS, GSM и др.);
  • Портирование open source программного обеспечения на KasperskyOS.
Что требуется от кандидата
  • Отличное знание языка программирования С;
  • Знание базовых принципов построения современных операционных систем;
  • Опыт многопоточного программирования;
  • Знание классических алгоритмов и структур данных;
  • Знание инструментов разработки в Unix системах (Linux, BSD и пр.);
  • Опыт работы в команде, знакомство с процессами Code Review, CI/CD.
Желательно
  • Хорошее знание принципов работы компьютерных сетей и основных сетевых протоколов;
  • Понимание организации и работы сетевого стека ОС;
  • Опыт работы над сетевым стеком и компонентами для работы с сетью, в Linux или других ОС;
  • Знание стандарта протокола TLS и опыт разработки приложений с поддержкой TLS;
  • Знание стандартов connectivity-протоколов (Bluetooth, GPS, GSM и др.) и опыт работы с ними;
  • Опыт кросплатформенной разработки;
  • Хорошее знание POSIX;
  • Знакомство с архитектурой операционных систем, внутренним устройством ядра ОС (управление памятью, межпроцессное взаимодействие, планирование задач, VFS);
  • Знание внутреннего устройства libc;
  • Знание языка assembler по крайней мере для одной из архитектур (x86, ARM) на уровне, достаточном, для исследования объектного файла.

Хабр Карьера

Похожие вакансии

  • Go developer (Data Processing & File Storage Development)

    • Москва
    О проекте: Мы разрабатываем и развиваем сервис по обработке данных с применением современного стека технологий. Наш сервис собирает и обрабатывает большие объёмы публичной информ…
    • 2 мес. назад
  • Developer C++ (SD-WAN)

    • Москва
    Команда SD-WAN занимается разработкой физических и виртуальных сетевых решений, таких как SD-WAN, сетевые балансировщики, системы DNS фильтрации и др. Наши C/C++ инженеры разрабаты…
    • 21 д. назад
  • C++ developer / Инженер-программист C++ (KORNFELD)

    • Москва
    О компании и команде YADRO - это российская технологическая компания, объединяющая направления разработки и производства вычислительных платформ, систем обработки и хранения данн…
    • 1 мес. назад