О проекте:
Отдел развития архитектуры операционной системы отвечает за формирование технического видения для микроядерной ОС Лаборатории Касперского. Мы определяем, как должна работать современная ОС общего назначения, чтобы эффективно конкурировать с продуктами крупных компаний на мировом рынке.
Отдел владеет процессом архитектурного ревью и осуществляет архитектурный надзор, выравнивая архитектуру компонентов системы под стратегические цели бизнеса, осуществляет арбитраж при принятии трудных решений.
Мы работаем над моделью безопасности будущей KasperskyOS, переориентированной на сценарии общего назначения: мобильные устройства, рабочие станции. Это серьезная переработка, затрагивающая практически каждый системный компонент, ведь не так давно система ориентировалась преимущественно на встраиваемое применение, где возможна статическая конфигурация политик безопасности. В столь широкой переработке системы важно учитывать аспект производительности, который вступает в техническое противоречие с безопасностью.
Для успешной конкуренции на рынке операционных систем критически важно добиваться высоких показателей производительности в типовых пользовательских сценариях. Сегодня это один из фокусов проекта KasperskyOS и нашего отдела. Нам предстоит трансформировать процессы разработки KasperskyOS, чтобы уделять производительности значительно больше внимания: отслеживать ключевые метрики производительности релизов, ставить конкретные цели по производительности подсистем, компонентов и приложений, вести прицельные работы по их оптимизации.
В нашем отделе работают архитекторы ПО и исследователи, специализирующиеся в области информационной безопасности и формальных методов.
Обязанности:
* Разработка методологии по улучшению производительности операционной системы общего назначения;
* Выработка ключевых метрик производительности;
* Выполнение и координирование проектов по улучшению производительности сценариев использования системы, её подсистем и копонентов;
* Архитектурный надзор с фокусом на производительности и энергопотреблении.
Что нам важно:
* Способность выстроить методологию систематического улучшения производительности для большого проекта (операционная система общего назначения);
* Способность сформулировать ключевые метрики производительности, нефункциональные требования относительно производительности конкретных подсистем и компонентов;
* Понимание типовых причин просадки производительности, знание тактик оптимизации производительности;
* Опыт оптимизации производительности системного программного обеспечения;
* Опыт использования профилировщиков, счетчиков производительности, трейсеров, отладчиков и других инструментальных средств, позволяющих находить код, нуждающийся в оптимизации;
* Способность разработать недостающий инструментарий с нуля;
* Глубокое понимание и опыт использования многопоточного программирования, примитивов синхронизации, барьеров памяти, lockless-алгоритмов, SIMD-оптимизаций;
* Глубокое понимание архитектуры современных операционных систем и системного программного обеспечения;
* Понимание основ архитектуры вычислительных систем: иерархия пямяти, разделение на пространство ядра и пространство пользователя, виртуальная память, механизмы когеррентности кэшей;
* Знание типовых алгоритмов и структур данных, навык асимптотического анализа алгоритмов;
* Хорошее знание языков программирования C и C++;
* Базовое знание ассемблера для armv8 или x86_64;
* Базовое владение языком Python 3.x;
* Опыт работы в GNU/Linux, владение POSIX shell и типовыми инструментами командной строки, способность настраивать и поддерживать Linux-систему в рабочих сценариях;
* Понимание принципов работы компиляторов и линкеров, оптимизаций на уровне компилятора, ABI;
* Знание типовых сетевых протоколов, модели OSI;
* Аналитический склад ума, внимание к деталям, самостоятельность;
* Способность грамотно формулировать мысли на письме;
* Умение читать и писать технические тексты на английском языке.
Будет плюсом:
* Знание устройства современных микроядер: seL4, NOVA, Fiasco, Zircon, Managarm;
* Знакомство с архитектурой ОС на базе микроядер, например Sculpt OS (Genode OS Framework), Fuchsia;
* Знание архитектуры современных мобильных ОС: iOS, Android, Tizen, Sailfish OS/ОС Аврора, Chrome OS;
* Знание основ информационной безопасности;
* Базовые знания в криптографии;
* Понимание причин типовых уязвимостей в программном обеспечении и способов их митигации;
* Знакомство с языками Rust, Dart, Haskell.
Мы предлагаем:
* Социальный пакет
ДМС и страхование жизни (включая детей) с первого месяца
Бесплатное обучение: митапы, конференции, сертификации, 11 иностранных языков
Ежемесячный бонус на обеды
Оплата мобильной связи
* Интересная работа
Команда лучших экспертов
Масштабные задачи
Самые современные технологии
Расширение технического кругозора
* Комфортные условия
2 спортзала и сауны прямо в офисе
Свой ресторан и бар
Врач и массаж в офисе
Программа релокации для кандидатов из регионов Уровень владения языками: Английский : Разговорный.