Developer C (KasperskyOS Desktop)
Требования
Местоположение и тип занятости
Компания
ТОП-3 международная компания в области IT-безопасности, один из лучших работодателей России
Описание вакансии
О компании и команде
О проекте
«Лаборатория Касперского» работает над созданием защищенных продуктов на основе KasperskyOS.
Одним из направлений является разработка программного обеспечения для тонких клиентов, обеспечивающих среду доверенного подключения к удаленным рабочим столам - Kaspersky Thin Client. Защищенное может и должно быть удобным.
Области ответственности команды
- Проектирование и разработка кибериммунной платформы тонкого клиента;
- Адаптация KasperskyOS под целевые аппаратные платформы;
- Разработка драйверов и сервисов операционной системы;
- Выпуск конечных кибериммунных решений на основе KasperskyOS и SDK для создания приложений для тонких клиентов.
Ожидания от кандидата
- Отличное знание и опыт коммерческой разработки на C;
- Знание С++ (14, 17) ;
- Опыт разработки драйверов/системных сервисов для встраиваемых систем на базе Linux;
- Знание базовых принципов построения современных операционных систем;
- Знание алгоритмов и структур данных;
- Технический английский – свободное чтение документации.
Желательно
- Знание архитектур современных микропроцессоров, средств разработки для них;
- Знание и понимание работы различных подсистем ОС, таких как управление памятью, межпроцессное взаимодействие, синхронизация, планирование задач, обработка прерываний;
- Знание и понимание принципов работы различных аппаратных интрефесов (UART, I2C, USB, SPI и т.д.);
- Знание систем автоматизации сборки: Makefiles, automake, CMake;
- Знание методологических подходов проектирования программного обеспечения;
- Знание методов обеспечения безопасности в современных ОС;
- Опыт работы в соответствии с методологиями Agile.
Условия работы
Основные задачи на данной позиции
- Проектирование, разработка и портирование сервисов и драйверов для тонких клиентов на базе KasperskyOS;
- Анализ и улучшение эффективности, стабильности, безопасности и масштабируемости разрабатываемых решений;
- Подготовка набора тестов для верификации разработанных решений;
- Участие в разработке и ревью архитектуры;
- Peer code review.