Лаборатория Касперского

Developer C++ (KES)

Не указана
  • Москва
  • Полная занятость
  • Удаленная работа
  • От 3 до 6 лет
  • C++
  • Linux
  • Windows

Мы ищем разработчика в команду приложения-антивируса Kaspersky Endpoint Security для Windows. Это комплексное программное решение, которое помогает обеспечивать комплексную автоматизированную защиту от киберугроз рабочих станций и серверов, осуществляя контроль работы в корпоративной среде.

У нас миллионы пользователей, десятки миллионов установок, амбициозные планы на несколько лет вперед.

Подробнее о продукте можно посмотреть здесь:

https://www.kaspersky.ru/small-to-medium-business-security/endpoint-advanced

1.Antimalware Development

Кто мы:

Команда, работающая в составе отдела разработки корпоративного продукта (Kaspersky Endpoint Security). Основные функциональные области:

  • Поддержка и реализация Anti-malware компонентов защиты (Мониторинг угроз, Cканирование, Анализ поведение, Защита от эксплойтов, Защита от шифрования, etc..);
  • Интеграция с KSC(Централизованный узел управления продуктами), коннекторы интеграции, плагин;
  • Обеспечение выполнения всех респонсивных действий EndpointDetectionAndResponse функционала.

Чем предстоит заниматься:

  • Разработка новой логики приложения;
  • Написание автотестов и unit-тестов для нового функционала;
  • Поддержка выпущенных версий продукта.

Что Вам для этого нужно:

  • Отличное знание С++17, STL;
  • Знание базовых алгоритмов и структур данных;
  • Умение анализировать эффективность кода, анализировать дампы памяти.
  • Навыки разработки многопоточных приложений, решение проблем многопоточности.

2. Cloud & Server Integration Development

Мы разрабатываем и поддерживаем функционал взимодействия с облачными серверам и продукта в целом, разрабатываем бизнес-логику для мониторинга и анализа журналов, компонентов парольной защиты и ролевой модели, мы разрабатываем компоненты выполняющие обработку и обогащение большого потока телеметрии.

Чем предстоит заниматься:

  • Разработка новой логики приложения;
  • Анализ производительности предлагаемых решений;
  • Разработка кросплатформенного кода;
  • Написание автотестов и unit-тестов для нового функционала;
  • Поддержка выпущенных версий продукта.

Что Вам для этого нужно:

  • Отличное знание С++, STL;
  • Знание базовых алгоритмов и структур данных;
  • Навыки разработки многопоточных приложений, решение проблем многопоточности;
  • Умение писать код: Структурировать (способность разбить на сущности, способность определить их обязанности), умение именовать сущности.

3.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).

4.Applications Development

Ищем разработчика на C++ в команду разработки бизнес логики фронтлайн линейки продуктов Kaspersky / KES. В задачи входит разработка и поддержка функционала, основываясь на потребностях бизнеса.

Чем предстоит заниматься:

  • Техническая декомпозиция задач и оценка планируемых доработок, проведение ревью кода;
  • Разработка новой логики приложения;
  • Разработка кросплатформенного кода;
  • Написание автотестов и unit-тестов для разрабатываемого кода;
  • Анализ производительности предлагаемых решений;
  • Поддержка выпущенных версий продуктов.

Что Вам для этого нужно:

  • Знание C++ (стандарт C++17 +) на продвинутом уровне;
  • Глубокое понимание и опыт разработки многопоточных систем;
  • Желательно хорошее понимание особенностей работы ОС Windows (внутреннего устройства, API);
  • Умение писать unit-тесты (Google Test);

5.Business Logic Development

Кто мы:
Команда, в составе отдела разработки домашних продуктов под Windows (Kapersky Standard/Plus/Premium, Kaspersky VPN, а также Kaspersky Small Office Security).
Основные функциональные области:
  • Загрузка и установка продукта (web installer);
  • Автоматическое обновление продукта на более новую версию без прерывания защиты;
  • Подготовка патчей;
  • Фичи продукта из самых разных областей.

Чем предстоит заниматься:

  • Поддержка и разработка функционала установки и обновления продукта;
  • Разработка новых фич продукта;
  • Техническая проработка запросов на разработку (интерфейсы, форматы данных и т.п.);
  • Написание системных, интеграционных и юнит тестов для нового и существующего кода.

Технические требования:

  • Хорошее знание алгоритмов и структур данных;
  • Понимание принципов многопоточной разработки;
  • Хорошее знание С++;
  • Знание базовых архитектурных паттернов;
  • Понимание принципов работы ОС.

Стек разработки:

Windows API, С++, С#, MSI (Wix Toolset), Bazel.