Roles · Compiler Engineer · Junior

What a Junior } should know

12 core skills, 55 in total. Expectations per skill, and what changes at the next level.

This page lists what a Junior } 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.

12core skills
43additional skills
3skill areas
0%at Advanced or Expert
Assess myself as Junior Full role matrix

Core skills for a Junior

Grouped by area. The label on the right is the expected depth: Awareness, Working, Advanced or Expert.

Programming Fundamentals · 3

Knows basic algorithms and complexity concepts for compiler engineering and can apply them in common tasks. Uses standard tools and follows established team practices. Understands when and why this approach is used.

Knows basic code quality concepts for compiler engineering and can apply them in common tasks. Uses standard tools and follows established team practices. Understands when and why this approach is used.

Data Structures Awareness

Knows basic data structure concepts for compiler engineering and can apply them in common tasks. Uses standard tools and follows established team practices. Understands when and why this approach is used.

Version Control & Collaboration · 1

Code Review Awareness

Knows basic code review concepts for compiler engineering and can apply them in common tasks. Uses standard tools and follows established team practices. Understands when and why this approach is used.

Compilers & Languages · 8

Understands Abstract Syntax Tree structure and can recursively traverse trees. Applies visitor pattern for simple transformations. Knows main AST node types for popular languages.

Code Generation Awareness

Understands what code generation is and the difference between native code, bytecode and interpretation. Knows basic concepts of register allocation and instruction selection. Can read x86/ARM assembly.

Knows classic compiler optimizations: constant folding, DCE, CSE. Understands when optimizations are correct and safe. Can read and compare optimized IR.

Interpreter Design Awareness

Understands the difference between a compiler and an interpreter, knows the tree-walking interpreter pattern. Implements a simple interpreter for arithmetic expressions with variables.

JIT Compilation Awareness

Understands the difference between AOT and JIT compilation and when to use each. Knows concepts of hot path, execution profiling, deoptimization. Has studied JIT in JVM (HotSpot) or V8.

Lexing & Parsing Awareness

Knows lexical analysis basics: source code tokenization, regular grammars and finite automata. Can implement a simple lexer manually, understands the practical difference between lexer and parser.

LLVM Framework Awareness

Knows LLVM architecture: frontend, IR, backend, and the role of each component. Understands LLVM IR structure and basic instructions. Can compile C through clang and study generated IR.

Understands basic type inference algorithms: unification, Hindley-Milner inference. Knows the difference between structural and nominal type systems. Can work with simple generics.

Additional skills

Not assessed by the team, but part of the self-assessment and the development plan.

Async ProgrammingAWSBenchmarking Tools & MethodologyChatGPT / ClaudeCPU ProfilingDesign PatternsDockerDSL Design & ImplementationFunctional Programming PrinciplesGenerics & Parametric PolymorphismGit AdvancedGitHub Actions / GitLab CIGitHub CopilotGraph AlgorithmsI/O & Disk ProfilingImmutability & Persistent Data StructuresIntegration TestingKubernetes CoreLanguage Server Protocol (LSP)Latency OptimizationMemory ManagementMemory ProfilingMemory ProfilingMonads & FunctorsMultithreadingNetwork FundamentalsOOP & SOLID PrinciplesOWASP & Application SecurityPerformance BudgetsPostgreSQLPrometheus & GrafanaPrompt Engineering for CodeProperty-Based TestingRedisResource Optimization FinOpsREST API DesignSecure Coding PracticesStructured LoggingSystem Design FundamentalsTDD & BDDThroughput OptimizationType Safety & Type SystemsUnit Testing

What changes at Mid-level

55 skills get a higher expectation or become core when moving from Junior to Mid-level. The biggest jumps first.

See the Mid-level page →
Run this with your whole team
Self-assessment plus manager and peer reviews against the same matrix, gap analysis and next-level readiness for every engineer. Team Pro is free for 14 days; individual tools stay free forever.
Start a team trial (14 days free) Send to my manager

} in the open competency matrix: 55 skills across 5 levels. The matrix is free for individuals and stays free.