Senior Developer C (KasperskyOS, Toolchain Development)
Группа Toolchain Development принимает участие в разработке SDK для микроядерной операционной системы KasperskyOS https://os.kaspersky.ru/.
В зону нашей ответственности входят преимущественно два направления – разработка кросс-тулчейна (компилятор, линковщик и пр.) и разработка стандартной библиотеки (crt0, libc и пр.).
На данный момент мы планируем усилить направление разработки стандартной библиотеки квалифицированным разработчиком с релевантным опытом и выраженной экспертизой, который поможет обеспечить паритет нашей имплементации относительно мирового уровня.
Задачи:
- Разработка стандартной библиотеки проекта KasperksyOS (вкл. поддержку совместимости с актуальными стандартами);
- Разработка механизма загрузки динамических библиотек (вкл. смежную поддержку со стороны тулчейна);
- Профилирование / отладка разрабатываемого кода;
- Следование методологии SDL (вкл. покрытие тестами, фаззинг, статический / динамический анализ, анализ производительности);
- Участие в исследовании, декомпозиции, оценке и планировании работ;
- Ревью коммитов в связанные репозитории в роли одного из мейнтейнеров.
Требования:
- Опыт 5+ лет разработки / портирования стандартных библиотек (преим. UNIX-like библиотек crt0, libc, libpthread, libdl, libm или аналогичных) или иного системного ПО;
- Качественное представление о стандартной библиотеке в целом (функциональное значение, внутреннее устройство, точки соприкосновения с ядром операционной системы, запуск приложений, загрузка динамических библиотек, стандарты C / ANSI / ISO / IEC / POSIX и пр.);
- Знание теории операционных систем (архитектура, уровни привилегий, системные вызовы, прерывания, виртуализация, многозадачность, межпроцессное взаимодействие и пр.);
- Знание классических алгоритмов и структур данных;
- Отличное знание C (преим. C17 и новее) с пониманием гарантий стандарта и навыками разработки безопасного кода;
- Знание ASM (преим. X86-64, ARM64, RISC-V или MIPS32) как минимум на базовом уровне;
- Знание C++ (преим. C++20 и новее) как минимум на базовом уровне;
- Опыт кроссплатформенной разработки (преим. с помощью LLVM / Clang, GCC, Binutils);
- Опыт отладки сложных падений (преим. с помощью GDB);
- Опыт работы с системами сборки (преим. Make, CMake), инструментами автоматизации (преим. Bash, Python) и системой контроля версий (преим. Git);
- Опыт разработки в UNIX окружении (преим. Linux);
- Самостоятельность в работе над нетривиальными задачами / проблемами;
- Готовность транслировать экспертизу и поддерживать сферу знаний проекта KasperskyOS в актуальном состоянии.
Будет плюсом:
- Подтвержденная экспертиза в сфере разработки стандартных библиотек в целом, их отдельных частях (crt, dl, pthread, stdio, stdlib, string, tls, unistd и пр.) или релевантных open-source проектах (LLVM Project, NetBSD / FreeBSD, GLibc, Musl, Bionic или аналогичных);
- Глубокое понимание стандартов POSIX и их расширений применительно к стандартным библиотекам (преим. POSIX.1-2008/-2024, PSE51);
- Опыт разработки слоя POSIX совместимости для несовместимых систем на базе микроядра;
- Опыт разработки механизма запуска Linux / Windows приложений для несовместимых систем на базе микроядра;
- Опыт воспроизведения и отладки редких или случайных падений (преим. с помощью GDB);
- Опыт выявления медленного кода и его ускорения (преим. с помощью SIMD);
- Глубокие знания ASM и соответствующих аппаратных платформ (преим. X86-64, ARM64, RISC-V или MIPS32);
- Глубокие знания возможностей операционной системы / компилятора, обеспечивающих повышение безопасности / надежности / качества кода (вкл. харденинг);
- Комплексный опыт разработки в рамках методологии SDL (в т.ч. покрытие тестами, фаззинг, статический / динамический анализ, анализ производительности);
- Развитые навыки автоматизации рабочей рутины (в т.ч. с использованием Agentic AI, Bash, Python, Make, CMake, QEMU monitor, GDB batch).
Мы предлагаем
Социальный пакет
Интересная работа
Комфортные условия
Откликнуться на вакансию
Поля, отмеченные *, обязательны к заполнению
Остались вопросы?
Как устроиться на работу в «Лабораторию Касперского»?
Для этого вам нужно успешно пройти несколько шагов:
- Найти подходящую вашему опыту и интересам вакансию;
- Откликнуться на интересующую вакансию и прикрепить резюме;
- Если ваше резюме нам подходит — пройти интервью со специалистом по подбору персонала и руководителем направления, в котором открыта эта вакансия;
- Получить официальное предложение о работе.
Я откликнулся на вакансию. Какие дальнейшие действия?
В связи с большим количеством откликов нам иногда требуется немного больше времени для их рассмотрения. Мы ценим ваш интерес к работе в «Лаборатории Касперского», поэтому стараемся давать ответ сразу после принятия решений.
Если ваш профиль нас заинтересует, наши рекрутеры свяжутся с вами, чтобы договориться о телефонном интервью и рассказать о дальнейших шагах.
Как я могу понять, закрыта ли вакансия, на которую я откликался?
Как правило, вакансии, которые размещены на карьерном портале, открыты и по ним ведется активный процесс отбора кандидатов. Если вы не нашли вакансию, которая была размещена на портале ранее, значит, она уже закрыта или больше не существует.
Есть ли помощь иногородним при переезде?
Да, у нас действует релокационная программа, в рамках которой при переезде
новому сотруднику из других городов РФ и стран Таможенного Союза выплачивается:
- Компенсация авиа или жд билета до Москвы, Санкт-Петербурга, Новосибирска или Владивостока для сотрудника и двух близких родственников (муж/жена + ребенок);
- 1 неделя проживания в гостинице за счет компании;
- Подъемные;
- Оплата услуг риелтора.
Рассматриваете ли вы резюме граждан других стран?
Можно ли устроиться на стажировку в «Лабораторию Касперского»?
У нас существует специальная программа стажировок ИТ и ИБ-направлений — SafeBoard. Программа проходит в нашем московском офисе и открыта для студентов из Москвы и МО любых вузов, курсов и специальностей, а ее лучшие участники могут получить приглашение на работу. Подробнее о программе стажировок можно узнать тут: safeboard.kaspersky.ru
Если же вы хотите развиваться в бизнес-подразделениях, то ищите вакансии стажеров в специальном разделе на карьерном портале: careers.kaspersky.ru/vacancies