Developer C++ (KES)

Местоположение и тип занятости

Москва

Компания

ТОП-3 международная компания в области IT-безопасности, один из лучших работодателей России

Описание вакансии

Условия работы

Мы ищем разработчика в команду приложения-антивируса 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;
  • Знание базовых алгоритмов и структур данных;
  • Навыки разработки многопоточных приложений, решение проблем многопоточности;
  • Умение писать код: структурировать (способность разбить на сущности, определить их обязанности), умение именовать сущности.