Kaspersky

Senior Developer C (KasperskyOS, Toolchain Development)

Зарплата не указана
Вся Россия

Навыки

C

Обязанности

  • 01Разработка стандартной библиотеки проекта KasperskyOS (включая поддержку совместимости с актуальными стандартами)
  • 02Разработка механизма загрузки динамических библиотек (включая смежную поддержку со стороны тулчейна)
  • 03Профилирование / отладка разрабатываемого кода
  • 04Следование методологии SDL (включая покрытие тестами, фаззинг, статический / динамический анализ, анализ производительности)
  • 05Участие в исследовании, декомпозиции, оценке и планировании работ
  • 06Ревью коммитов в связанные репозитории в роли одного из мейнтейнеров

Требования

  • 01Опыт 5+ лет разработки / портирования стандартных библиотек (преимущественно UNIX-like библиотек crt0, libc, libpthread, libdl, libm или аналогичных) или иного системного ПО
  • 02Качественное представление о стандартной библиотеке в целом (функциональное значение, внутреннее устройство, точки соприкосновения с ядром операционной системы, запуск приложений, загрузка динамических библиотек, стандарты C / ANSI / ISO / IEC / POSIX и пр.)
  • 03Знание теории операционных систем (архитектура, уровни привилегий, системные вызовы, прерывания, виртуализация, многозадачность, межпроцессное взаимодействие и пр.)
  • 04Знание классических алгоритмов и структур данных
  • 05Отличное знание C (преимущественно C17 и новее) с пониманием гарантий стандарта и навыками разработки безопасного кода
  • 06Знание ASM (преимущественно X86-64, ARM64, RISC-V или MIPS32) как минимум на базовом уровне
  • 07Знание C++ (преимущественно C++20 и новее) как минимум на базовом уровне
  • 08Опыт кроссплатформенной разработки (преимущественно с помощью LLVM / Clang, GCC, Binutils)
  • 09Опыт отладки сложных падений (преимущественно с помощью GDB)
  • 10Опыт работы с системами сборки (преимущественно Make, CMake), инструментами автоматизации (преимущественно Bash, Python) и системой контроля версий (преимущественно Git)
  • 11Опыт разработки в UNIX окружении (преимущественно Linux)
  • 12Самостоятельность в работе над нетривиальными задачами / проблемами
  • 13Готовность транслировать экспертизу и поддерживать сферу знаний проекта KasperskyOS в актуальном состоянии