Haskell Developer (KasperskyOS, Security Subsystem Group) (в архиве)

14 Ноября

Партнерские Вакансии

Город:

Москва

Занятость:

Полная занятость

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

О проекте
KasperskyOS – защищенная микроядерная операционная система. Это не очередной дистрибутив Linux, а собственная разработка, успешно конкурирующая на международных рынках. Заложенный в KasperskyOS принцип кибериммунности позволяет разрабатывать безопасные решения из потенциально небезопасных компонентов.
Об отделе
Разработкой KasperskyOS занимается отдел Secure Platform Development (SPD), состоящий из нескольких групп, которые отвечают за микроядро ОС, драйверы, системные компоненты, подсистему безопасности, средства виртуализации, а также обеспечивают непрерывный контроль качества разработки.
О команде
Команда KSS занимается разработкой средств анализа и трансформации кода: развитием языков (набор dsl) описания политик безопасности, компилятора и языкового сервера для них.
О технологическом стеке команды
Большой проект на Haskell с вкраплениями C объемом около ~140 тыс. строк кода. ghc 9.4, система сборки bazel + in-house, fourmolu, hlint, git, gerrit, jenkins.
Характерные технологии/паттерны: mtl-style, алгебраические эффекты, parsec- и bnf-style парсеры, recursion-schemes и немного trees that grow, query-based compilers.

Задачи

  • Разработка подсистемы безопасности (Haskell, немного C);
  • Разработка языков описания систем и инструментариев для них (анализаторы, компиляторы, language server);
  • Исследование применимости, прототипирование, имплементация моделей безопасности.

Характерные рабочие обязанности

  • Писать код, покрывать тестами, писать документацию (markdown, confluence)
  • Оценка времени исполнения задач; формулировка мотиваций и Definition of Done; разбиение задач до размера 4–16ч; взаимодействие с team foundation server
  • Чтение чужого кода и адаптация legacy к новым требованиям
  • Code review (git, gerrit): принятие или контраргументация критики коллег в свой код, вникание и конструктивные предложения в чужой код
  • Прочая работа в команде: обсуждения, выяснения, компромиссы, способность прийти к взаимопониманию

Что требуется от кандидата

  • Уверенное знание языка Haskell (достаточно: GADTs, TypeFamilies, DataKinds, понимания, когда их не использовать);
  • Знание языка программирования C (базовые конструкции, указатели, понятие макроса, понятие о UB);
  • Представление о функциональных алгоритмах и структурах данных;
  • Знание классических алгоритмов и структур данных (конкретно time complexity операций);
  • Понятие о тестировании написанного кода;
  • Умение работать в команде (см. рабочие обязанности);
  • Навыки работы с системами контроля версий, управления задачами, code review;
  • Знание английского языка на уровне чтения технической документации.

Желательно

  • Умение писать надёжный и безопасный correct by construction код;
  • Знание подходов к тестированию написанного кода и опыт их практического применения (property-тесты, fuzzing-тесты, integrity/end-to-end);
  • Представление о парсерах и структуре/принципах работы компиляторов и интерпретаторов;
  • Знакомство с теоретическими основами информационной безопасности;
  • Представление о структуре и работе операционных систем.
Похожие вакансии

05 Декабря

Senior Frontend developer( Сбербанк )

Москва

Компания "Сбербанк" Мы - команда «Управление обеспечением», которая внедряет новые продукты и оптимизирует существующие для бизнеса Департамента...

Отправить резюме подробнее

05 Декабря

Java Developer (Middle+)

Москва

Компания "БАНК УРАЛСИБ" Мы ищем Java-разработчика в команду, которая занимается разработкой полностью обновленного онлайн-банка. Да, мы банк,...

Отправить резюме подробнее

05 Декабря

Python developer (Middle/Senior)( Умскул )

Москва

Компания "Умскул" «Умскул» — самая крупная онлайн-школа подготовки к ЕГЭ и ОГЭ, которая входит в топ-10 EdTech-компаний в России, а также...

Отправить резюме подробнее

05 Декабря

Golang developer( BetBoom )

Москва

Компания "BetBoom" Проект - разработка продукта трансляции турниров ATP. НАШ СТЕК: Golang PostgreSQL Redis RabbitMQ Docker...

Отправить резюме подробнее

05 Декабря

Principal Java Developer

Москва

Компания "«UZUM TECHNOLOGIES»." Uzum Market - самый большой маркетплейс в стране. Технологии - это ядро нашей компании. Благодаря им мы...

Отправить резюме подробнее

Вакансия размещена в отрасли

Информационные технологии / IT / Интернет: