Domain
Compilers & Languages
Skill Profile
AST: construction, traversal, transformation; IR: SSA, CFG, intermediate representation
Roles
3
where this skill appears
Levels
5
structured growth path
Mandatory requirements
11
the other 4 optional
Compilers & Languages
Compiler Theory
3/17/2026
Choose your current level and compare expectations. The items below show what to cover to advance to the next level.
The table shows how skill depth grows from Junior to Principal. Click a row to see details.
| Role | Required | Description |
|---|---|---|
| Compiler Engineer | Required | Understands Abstract Syntax Tree structure and can recursively traverse trees. Applies visitor pattern for simple transformations. Knows main AST node types for popular languages. |
| Language Tooling Engineer | Parses simple code into AST nodes using parser libraries. Understands tree traversal basics and node types. Writes simple AST visitors for code analysis tasks under mentorship. | |
| Systems Programmer (C/C++) | Reads and navigates AST structures generated by compiler frontends. Understands the mapping between source code and IR representations. Modifies simple IR transformations following established patterns. |
| Role | Required | Description |
|---|---|---|
| Compiler Engineer | Required | Implements complex AST transformations: constant folding, dead code elimination, inlining. Uses babel/typescript compiler API for code transformation. Writes plugins for ESLint and TSC. |
| Language Tooling Engineer | Implements AST transformations for refactoring tools and linters. Builds IR-level optimizations such as constant folding and dead code elimination. Writes comprehensive test suites for tree manipulation correctness. | |
| Systems Programmer (C/C++) | Implements IR passes for optimization and lowering in compiler pipelines. Works with SSA form and control flow graphs for program analysis. Writes regression tests ensuring transformation correctness across edge cases. |
| Role | Required | Description |
|---|---|---|
| Compiler Engineer | Required | Designs AST transformation pipeline for an optimizing compiler. Implements type checking and name resolution at the AST level. Builds Symbol Table with correct scoping. |
| Language Tooling Engineer | Required | Designs AST frameworks powering IDE features like auto-completion and semantic highlighting. Architects incremental parsing and type-aware transformations. Mentors the team on tree-based program analysis techniques. |
| Systems Programmer (C/C++) | Required | Designs custom IR representations optimized for target architectures. Architects multi-pass compilation pipelines with advanced optimizations. Mentors engineers on type system integration and IR correctness proofs. |
| Role | Required | Description |
|---|---|---|
| Compiler Engineer | Required | Architects AST transformation system for the compiler project. Makes decisions about IR representation and optimization passes. Introduces transformation testing. |
| Language Tooling Engineer | Required | Defines compiler architecture. Establishes development standards. Coordinates compiler team. |
| Systems Programmer (C/C++) | Required | Defines compiler architecture. Establishes development standards. Coordinates the compiler team. |
| Role | Required | Description |
|---|---|---|
| Compiler Engineer | Required | Defines IR design strategy for the compiler platform. Researches new approaches to AST representation (algebraic effects, ANF, CPS transform). Influences compiler roadmap. |
| Language Tooling Engineer | Required | Defines compiler/language development strategy. Designs core language features. Shapes technology vision. |
| Systems Programmer (C/C++) | Required | Defines compiler/language development strategy. Designs core language features. Establishes technology vision. |