Developer C++ (KES)
Требования
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
Мы ищем разработчика в команду приложения-антивируса Kaspersky Endpoint Security для Windows. Это комплексное программное решение, которое помогает обеспечивать комплексную автоматизированную защиту от киберугроз рабочих станций и серверов, осуществляя контроль работы в корпоративной среде.
У нас миллионы пользователей, десятки миллионов установок, амбициозные планы на несколько лет вперед.
Подробнее о продукте можно посмотреть здесь:
https://www.kaspersky.ru/small-to-medium-business-security/endpoint-advanced
Внутри продукта работает 3 команды, в каждую из которых мы ищем опытного, заинтересованного разработчика.
1.Antimalware & Cloud Development
Мы разрабатываем и поддерживаем функционал обновления баз и продукта в целом, разрабатываем бизнес-логику для полнодискового и файлового шифрования, компонентов контроля Web и используемых устройств, и прочее.
Чем предстоит заниматься:
- Разработка новой логики приложения;
- Написание автотестов и unit-тестов для нового функционала;
- Поддержка выпущенных версий продукта.
Что Вам для этого нужно:
- Отличное знание С++, STL;
- Знание базовых алгоритмов и структур данных;
- Навыки разработки многопоточных приложений, решение проблем многопоточности;
- Умение писать код: Структурировать (способность разбить на сущности, способность определить их обязанности), умение именовать сущности.
2.Update & Encryption Development
Чем предстоит заниматься:
- Разработка нового и поддержка существующего функционала в продукте Kaspersky Endpoint Security for Windows в критически важных областях: обновление антивирусных баз и компонентов продукта, шифрование файлов и дисков, контроль устройств и использования интернета;
- Техническая декомпозиция задач и оценка планируемых доработок, проведение ревью кода;
- Написание и поддержка тестов для разрабатываемого кода.
Что Вам для этого нужно:
- Знание основных практик и правил программирования на современном C++ (стандарт C++17, среда Visual Studio);
- Умение эффективно применять библиотеки STL и Boost;
- Знание системных механизмов Windows и основных разделов WinAPI (Files, Registry, Security);
- Умение писать unit-тесты с помощью Google Test;
- Умение проводить базовый анализ падений процесса с помощью WinDBG;
- Плюсом будет опыт работы с C# для поддержки тестов.
Функциональные области команды:
- Логика скачивания антивирусных баз (Updater);
- Логика таргетированного применения обновлений продукта (Seamless Update Service) - патчей (Minor Update) и полных дистрибутивов (Major Update);
- Компоненты шифрования дисков (Full Disk Encryption), файлов (File Level Encryption), компонент управления внешней технологией шифрования Microsoft BitLocker;
- Компонент контроля внешних устройств, подключаемых пользователем к компьютеру (Device Control);
- Продуктовая часть логики сканирования Web-трафика и почтовых сообщений на вирусы (Web Antivirus, Mail Antivirus);
- Компонент контроля использования Web-ресурсов (Web Control);
- Поддержка сервисных компонентов: защита самого продукта (Self Defence), трассировки производительности (Performance Monitor).
3. Logic Development
Чем предстоит заниматься:
- Написание нового кода на С++ (VS22) и поддержка существующей функциональности;
- Проведение ревью кода;
- Обсуждение продуктовых требований совместно с аналитиками и представителями бизнеса;
- Оценка и декомпозиция предполагаемых решений.
Что Вам для этого нужно:
- Отличное знание С++, STL;
- Знание базовых алгоритмов и структур данных;
- Навыки разработки многопоточных приложений, решение проблем многопоточности;
- Умение писать код: структурировать (способность разбить на сущности, определить их обязанности), умение именовать сущности.