Roles · Compiler Engineer · Mid-level

What a Mid-level } should know

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

This page lists what a Mid-level } 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 Mid-level Full role matrix

Core skills for a Mid-level

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

Programming Fundamentals · 3

Confidently applies algorithms and complexity analysis for compiler engineering in non-standard tasks. Independently selects optimal approach and tools. Analyzes trade-offs and suggests improvements to existing solutions.

Confidently applies code quality practices for compiler engineering in non-standard tasks. Independently selects optimal approach and tools. Analyzes trade-offs and suggests improvements to existing solutions.

Data Structures Working

Confidently applies data structures for compiler engineering in non-standard tasks. Independently selects optimal approach and tools. Analyzes trade-offs and suggests improvements to existing solutions.

Version Control & Collaboration · 1

Code Review Working

Confidently applies code review skills for compiler engineering in non-standard tasks. Independently selects optimal approach and tools. Analyzes trade-offs and suggests improvements to existing solutions.

Compilers & Languages · 8

Implements complex AST transformations: constant folding, dead code elimination, inlining. Uses babel/typescript compiler API for code transformation. Writes plugins for ESLint and TSC.

Code Generation Working

Implements code generation for stack-based or register-based bytecode. Uses LLVM or QBE for native code generation. Generates optimized code for function call patterns.

Implements optimization passes: function inlining, loop unrolling, vectorization hints. Uses dominators, loop analysis and alias analysis. Measures impact of passes on code size and performance.

Implements bytecode compiler + VM interpreter for a simple language. Understands dispatch techniques: switch dispatch, threaded code. Optimizes the main interpreter loop.

JIT Compilation Working

Implements a baseline JIT compiler for a simple bytecode format. Understands tracing JIT vs method JIT architectures. Implements basic inline caches for dynamic method calls.

Implements LL(k) and LR parsers, builds AST for programming languages. Uses parser generators (ANTLR, yacc/bison). Handles syntax errors with error recovery strategies.

LLVM Framework Working

Writes LLVM Analysis and Transform passes using C++ API. Generates LLVM IR programmatically for simple constructs. Uses opt and llvm-dis for pipeline analysis and debugging.

Implements bidirectional type checking for languages with type annotations. Understands constraint-based type inference. Writes a type checker for a language with generics and simple subtyping.

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 Senior

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

See the Senior 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.