Разработчик C/C++ Mobile (KasperskyOs)
Требования
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
Мы разрабатываем компоненты системного и прикладного уровня на базе KasperskyOS (https://os.kaspersky.ru/) и ориентированы на развитие свободного программного обеспечения с открытыми исходными кодами. KasperskyOS – защищенная микроядерная операционная система. Это не очередной дистрибутив Linux, а собственная разработка - проприетарная частично POSIX-совместимая микроядерная операционная система,
Нам необходим разработчик, который может и хочет участвовать в решении задач портирования на новые аппаратные платформы, разработки драйверов и системных сервисов.
Для чего Вы нам нужны:
- Проектирование, разработка и портирование сервисов и модулей для KasperskyOS
- Прототипирование решений
- Разработка и имплементация безопасных архитектурных паттернов
- Подготовка набора тестов для верификации разработанных решений
- Участие в разработке и ревью архитектуры
- Участие в анализе требований
- Участие в подготовке проектной документации
- Участие в оценке трудоёмкости задач
- Peer code review
Что Вам необходимо для этого:
- Отличное знание языка программирования С
- Знание языка программирования C++ и библиотек STL, boost
- Опыт системной разработки под разные архитектуры процессоров (x86, ARM, MIPS)
- Опыт разработки ПО для встраиваемых систем на C/C++
- Знание принципов построения современных операционных систем
- Знакомство с архитектурой микроядерных операционных систем
- Понимание принципов работы интерфейсов SPI, USB, RS-232, PCI-E, etc
- Опыт многопоточного программирования с использованием примитивов синхронизации ОС
- Знание базовых алгоритмов и структур данных
- Опыт использования средств разработки ПО под Linux (GCC, Make, CMake, GDB, git, etc)
- Понимание методологий Agile, желание их применять
- Технический английский – свободное чтение документации
Крайне пригодится:
- Опыт коммерческой разработки на C/C++
- Участие в проектах разработки драйверов или модулей ядра операционных систем
- Опыт использования стандартов POSIX
- Знание методологических подходов проектирования программного обеспечения