Формирует стратегию применения algorithms complexity для compiler engineer на уровне организации. Определяет best practices и влияет на выбор технологий за пределами своей команды. Является признанным экспертом в данной области.
Роли · Compiler Engineer · Principal
Что должен уметь Principal }
12 ключевых навыков, всего 55. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Principal }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Контроль версий и коллаборация, Компиляторы и языки.
Ключевые навыки для Principal
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 3
Формирует стратегию применения code quality для compiler engineer на уровне организации. Определяет best practices и влияет на выбор технологий за пределами своей команды. Является признанным экспертом в данной области.
Формирует стратегию применения data structures для compiler engineer на уровне организации. Определяет best practices и влияет на выбор технологий за пределами своей команды. Является признанным экспертом в данной области.
Контроль версий и коллаборация · 1
Формирует стратегию применения code review skill для compiler engineer на уровне организации. Определяет best practices и влияет на выбор технологий за пределами своей команды. Является признанным экспертом в данной области.
Компиляторы и языки · 8
Определяет стратегию IR design для компиляторной платформы. Исследует новые подходы к AST representation (algebraic effects, ANF, CPS transform). Влияет на roadmap компилятора.
Определяет стратегию кодогенерации для новых ISA (RISC-V, WebAssembly). Исследует superoptimization и stochastic codegen техники. Участвует в стандартизации ABI для платформы.
Формирует roadmap оптимизаций для компиляторной платформы. Исследует применение ML для compiler optimization (autotuning heuristics). Публикует о novel optimization techniques.
Определяет стратегию execution engine для платформы. Исследует copy-and-patch compilation и direct threading. Влияет на стандарты interpreter performance в индустрии.
Определяет стратегию runtime компиляции для платформы на несколько лет. Исследует передовые техники: YJIT, Cranelift, copy-and-patch compilation. Публикует исследования в области JIT.
Формирует технические стандарты языкового frontend для платформы. Исследует и внедряет передовые методы парсинга (Earley, PEG, GLL). Публикует open source решения и влияет на tooling ecosystem.
Определяет стратегию использования LLVM/MLIR для всей компиляторной платформы. Координирует вклад в upstream LLVM community. Исследует применение MLIR для domain-specific оптимизаций.
Определяет долгосрочную стратегию type system для языка платформы. Исследует dependent types, linear types, effect systems. Публикует академические работы о type системах.
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
} в открытой матрице компетенций: 55 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.