О компании и команде
Мы разрабатываем продукт класса Next Generation Firewall (NGFW) для защиты сетей (программно-аппаратные и виртуальные исполнения). В своем технологическом стеке в основном используем язык С++20, технологии безопасности Лаборатории Касперского, а также реализуем методы по анализу сетевого трафика на уровнях OSI L4-L7. В разработке применяем различные практики: scrum, continuous Integration, code review, unit тесты, функциональные тесты, тестирование производительности с помощью специализированных инструментов (Ixia и т.д.).
Ожидания от кандидата
Что требуется от вас:
- Опыт коммерческой разработки продуктов;
- Опыт разработки архитектуры и бизнес-логики продукта;
- Знание принципов и паттернов проектирования программных систем, умение применять их на практике;
- Опыт разработки и проектирования высоконагруженных, многопоточных, отказоустойчивых систем;
- Опыт создания и поддержки проектной документации;
- Опыт технической координации команд разработчиков;
- Хорошее знание C++;
- Знание сетевых технологий и протоколов (TCP/IP);
- Опыт использования средств разработки ПО под Linux;
- Технический английский — свободное чтение документации.
Будет плюсом:
- Опыт разработки согласно принципам SDLC;
- Знание архитектур и методов построения современных операционных систем;
- Понимание и применение на практике подходов Clean Architecture.
Условия работы
У нас множество разных интересных задач по следующим направлениям:
- Распознавание сетевого трафика, протоколов и приложений;
- Обнаружение и предотвращение компьютерных атак;
- Разработка data plane на базе VPP;
- Интеграция в продукт технологий безопасности Лаборатории Касперского;
- Взаимодействие с другими продуктами для обеспечения комплексной безопасности;
- Взаимодействие в рамках программы для обеспечения облачного сервиса Secure Access Service Edge (SASE);
- Централизованное управление (web plugin для Kaspersky Security Center).
Чем предстоит заниматься:
- Анализ требований совместно с командой аналитиков;
- Выработка архитектурных решений для разрабатываемого продукта;
- Взаимодействие с архитекторами из других команд;
- Участие в проработке интерфейсов взаимодействия между продуктами, проведение design и code review;
- Координация команд по техническим вопросам, согласование интерфейсов.
- Документирование архитектурных решений;
- Консультирование по техническим и архитектурным вопросам.