Shapes algorithms and complexity strategy for compiler engineering at the organizational level. Defines best practices and influences technology choices beyond their own team. Is a recognized expert in this area.
Roles · Compiler Engineer · Principal
What a Principal } should know
12 core skills, 55 in total. Expectations per skill, and what changes at the next level.
This page lists what a Principal } is expected to know and do, skill by skill. Core skills are the ones a manager and peers assess in a review cycle; the rest count only in self-assessment. Main areas: Programming Fundamentals, Version Control & Collaboration, Compilers & Languages.
Core skills for a Principal
Grouped by area. The label on the right is the expected depth: Awareness, Working, Advanced or Expert.
Programming Fundamentals · 3
Shapes code quality strategy for compiler engineering at the organizational level. Defines best practices and influences technology choices beyond their own team. Is a recognized expert in this area.
Shapes data structure strategy for compiler engineering at the organizational level. Defines best practices and influences technology choices beyond their own team. Is a recognized expert in this area.
Version Control & Collaboration · 1
Shapes code review strategy for compiler engineering at the organizational level. Defines best practices and influences technology choices beyond their own team. Is a recognized expert in this area.
Compilers & Languages · 8
Defines IR design strategy for the compiler platform. Researches new approaches to AST representation (algebraic effects, ANF, CPS transform). Influences compiler roadmap.
Defines code generation strategy for new ISAs (RISC-V, WebAssembly). Researches superoptimization and stochastic codegen techniques. Participates in ABI standardization for the platform.
Shapes optimization roadmap for the compiler platform. Researches ML application for compiler optimization (autotuning heuristics). Publishes on novel optimization techniques.
Defines execution engine strategy for the platform. Researches copy-and-patch compilation and direct threading. Influences interpreter performance standards in the industry.
Defines runtime compilation strategy for the platform over multiple years. Researches advanced techniques: YJIT, Cranelift, copy-and-patch compilation. Publishes JIT research.
Shapes language frontend technical standards for the platform. Researches and introduces advanced parsing methods (Earley, PEG, GLL). Publishes open source solutions and influences the tooling ecosystem.
Defines LLVM/MLIR usage strategy for the entire compiler platform. Coordinates contributions to upstream LLVM community. Researches MLIR application for domain-specific optimizations.
Defines long-term type system strategy for the platform language. Researches dependent types, linear types, effect systems. Publishes academic papers on type systems.
Additional skills
Not assessed by the team, but part of the self-assessment and the development plan.
} in the open competency matrix: 55 skills across 5 levels. The matrix is free for individuals and stays free.