Team Lead / Architect (C++)

Дата: 15.11.2021. Город: Москва. Компания: Лаборатория Касперского. Отклинуться.
Team Lead / Architect (C++)
  • Требуемый опыт: Более 6 лет
  • График: Полный день
  • Тип занятости: Полная занятость
  • Адрес: Москва, Ленинградское шоссе, 39Ас3

Кто мы:

Команда, работающая в составе отдела разработки базовых компонентов (Core Tech). Наши основные задачи — предоставить программную инфраструктуру для разработки продуктов и обеспечить централизованное управление компонентами защиты. Мы пишем кросс-платформенный код для всех операционных систем, на которых работают наши продукты.

Для чего Вы нам нужны:

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

Ближайшая задача:

  • Разработка системы сбора и отображения телеметрии работы приложений (десктоп, но не ограничиваясь). В рамках задачи необходимо:
    • Проработать бизнес требования, сформулировать задачу на техническом языке. Зафиксировать сценарии работы, роли, ответственности. Согласовать с заказчиком.
    • Проанализировать существующие решения и технологии (в том числе, использующиеся в ЛК).
    • Декомпозировать задачу (клиентская часть, инфраструктурная часть).
    • Определить состав телеметрии (набор собираемых данных), оценить нагрузку.
    • Определить способ хранения обработки и отображения телеметрии.
    • Спроектировать API клиента и способ публикации телеметрии. Спроектировать библиотеку клиента. Согласовать с заказчиком.
    • Сформулировать технические требования к backend’у, включая требования по нагрузке, отказоустойчивости.
    • [Желательно] Спроектировать backend. Определить инструменты – базы данных, систему отображения, систему оповещения, спроектировать связи между ними.
    • На всех этапах осуществлять контроль реализации, обеспечивать техническую поддержку и документирование.

Основные функции и задачи:

  • Участие в разработке стандартов, стратегий и концепций технологического портфеля компании;
  • Разработка и согласование стратегий развития компонентов и сервисов;
  • Разработка архитектуры и контроль реализации базовых сервисов, компонентов и приложений;
  • Участие в прототипировании, разработке критически важных участков кода и алгоритмов, проведение design и code reviews;
  • Консультирование по техническим и архитектурным вопросам.

Что от вас требуется

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

Желательно

  • Знание прикладного, системного и сетевого api, внутреннего устройства linux-систем;
  • Опыт сетевого программирования, создания многопоточных клиент-серверных приложений;
  • Знание прикладного, системного и сетевого api (Win32/Win64), внутреннего устройства Windows-систем;
  • Опыт работы с технологией DCOM;
  • Наличие собственных публикаций, блогов, статей по профилю или по информационной безопасности.

Общие требования:

  • Английский язык не ниже Intermediate, техническая литература – свободно;
  • Системное мышление, аналитические способности и аккуратность;
  • Ответственность, исполнительность, инициативность.
Kaspersky

Об авторе Kaspersky

«Лаборатория Касперского» – международная компания, работающая в сфере информационной безопасности с 1997 года.
Читать все записи автора Kaspersky