Research Developer, KasperskyOS (Architecture Office)
Отдел развития архитектуры операционной системы отвечает за формирование технического видения для микроядерной ОС Лаборатории Касперского. Мы определяем, как должна работать современная ОС общего назначения, чтобы эффективно конкурировать с продуктами крупных компаний на мировом рынке.
Отдел владеет процессом архитектурного ревью и осуществляет архитектурный надзор, выравнивая архитектуру компонентов системы под стратегические цели бизнеса, осуществляет арбитраж при принятии трудных решений.
Мы работаем над моделью безопасности будущей KasperskyOS, переориентированной на сценарии общего назначения: мобильные устройства, рабочие станции. Это серьезная переработка, затрагивающая практически каждый системный компонент, ведь не так давно система ориентировалась преимущественно на встраиваемое применение, где возможна статическая конфигурация политик безопасности. В столь широкой переработке системы важно учитывать аспекты производительности и энергоэффективности, которые вступают в техническое противоречие с безопасностью.
Для успешной конкуренции на рынке операционных систем критически важно добиваться высоких показателей производительности в типовых пользовательских сценариях. Сегодня это один из фокусов проекта KasperskyOS и нашего отдела. Нам предстоит трансформировать процессы разработки KasperskyOS, чтобы уделять производительности значительно больше внимания: отслеживать ключевые метрики производительности релизов, ставить конкретные цели по производительности подсистем, компонентов и приложений, вести прицельные работы по их оптимизации.
В нашем отделе работают архитекторы ПО и исследователи, специализирующиеся в области информационной безопасности и формальных методов.
Кого ищем
Ищем программиста с опытом в разработке ядер операционных систем, драйверов и системных библиотек, готового работать над исследовательскими задачами: прототипирование и анализ новых механизмов микроядра и подсистемы безопасности, разработка механизмов, улучшающих производительность, утилизацию ресурсов и энергопотребление, исследование производительности операционной системы и её компонентов, создание инструментария для анализа потребления ресурсов и проблем с производительностью.
Нам нужен инженер со склонностью к исследовательской проектной работе, ведущей в первую очередь к получению нового знания, а уже во вторую к продуктизации. Придется разбираться с научными статьями в области разработки операционных систем, пробовать изученное на практике, отлаживать и профилировать код, искать решение сложных технических противоречий (например, должно быть быстро и безопасно).
Формат работы будет отличаться от типичного продуктового "нужно сделать компонент, который зарелизим в июне", потребуется проводить исследования, которые могут оказать значительное влияние на систему на длительной дистанции. Вместо ответа на вопрос, как подсистема ОС будет решать конкретную задачу в этом году, нужно понять, как концептуально трансформировать систему, чтобы она через 2-5 лет лучше решала задачи бизнеса, не растеряв при этом самобытности.
Обязанности
- Исследование производительности компонентов операционной системы, их оптимизация
- Разработка инструментов профилирования, анализа производительности и потребления ресурсов
- Проверка гипотез архитекторов, прототипирование
- Исследования с целью развития базовых механизмов операционной системы: изоляции компартментов, межпроцессного взаимодействия, синхронизации, механизмов управления доступом, харденингов
Требования:
- Глубокое понимание архитектуры современных операционных систем и системного программного обеспечения
- Понимание основ архитектуры вычислительных систем: иерархия пямяти, разделение на пространство ядра и пространство пользователя, виртуальная память, механизмы когеррентности кэшей
- Знание типовых алгоритмов и структур данных, навык асимптотического анализа алгоритмов
- Понимание типовых причин просадки производительности, знание тактик оптимизации производительности
- Хорошее знание языков программирования 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
Мы предлагаем
Социальный пакет
Интересная работа
Комфортные условия
Откликнуться на вакансию
Поля, отмеченные *, обязательны к заполнению
Остались вопросы?
Как устроиться на работу в «Лабораторию Касперского»?
Для этого вам нужно успешно пройти несколько шагов:
- Найти подходящую вашему опыту и интересам вакансию;
- Откликнуться на интересующую вакансию и прикрепить резюме;
- Если ваше резюме нам подходит — пройти интервью со специалистом по подбору персонала и руководителем направления, в котором открыта эта вакансия;
- Получить официальное предложение о работе.
Я откликнулся на вакансию. Какие дальнейшие действия?
В связи с большим количеством откликов нам иногда требуется немного больше времени для их рассмотрения. Мы ценим ваш интерес к работе в «Лаборатории Касперского», поэтому стараемся давать ответ сразу после принятия решений.
Если ваш профиль нас заинтересует, наши рекрутеры свяжутся с вами, чтобы договориться о телефонном интервью и рассказать о дальнейших шагах.
Как я могу понять, закрыта ли вакансия, на которую я откликался?
Как правило, вакансии, которые размещены на карьерном портале, открыты и по ним ведется активный процесс отбора кандидатов. Если вы не нашли вакансию, которая была размещена на портале ранее, значит, она уже закрыта или больше не существует.
Есть ли помощь иногородним при переезде?
Да, у нас действует релокационная программа, в рамках которой при переезде
новому сотруднику из других городов РФ и стран Таможенного Союза выплачивается:
- Компенсация авиа или жд билета до Москвы, Санкт-Петербурга, Новосибирска или Владивостока для сотрудника и двух близких родственников (муж/жена + ребенок);
- 1 неделя проживания в гостинице за счет компании;
- Подъемные;
- Оплата услуг риелтора.
Рассматриваете ли вы резюме граждан других стран?
Можно ли устроиться на стажировку в «Лабораторию Касперского»?
У нас существует специальная программа стажировок ИТ и ИБ-направлений — SafeBoard. Программа проходит в нашем московском офисе и открыта для студентов из Москвы и МО любых вузов, курсов и специальностей, а ее лучшие участники могут получить приглашение на работу. Подробнее о программе стажировок можно узнать тут: safeboard.kaspersky.ru
Если же вы хотите развиваться в бизнес-подразделениях, то ищите вакансии стажеров в специальном разделе на карьерном портале: careers.kaspersky.ru/vacancies