Programming Languages & Compiler Engineering — Skills Plan

Planned skill map for Programming Languages & Compiler Engineering. The curriculum will be developed and released in stages.

21 planned skills October 2026
Dedicated track in progress. This map is a plan, not a claim that every lesson is published. Existing live learning tracks remain available while this path is developed.

Build a language toolchain from lexing and parsing through type checking, intermediate representation, optimization, code generation, and runtime behavior.

Potential roles: Compiler Engineer · Programming Languages Engineer · Developer Tools Engineer

Before you start

  • Programming in a systems language
  • Data structures and discrete mathematics
  • Computer architecture and operating-system basics

What you’ll build

  • Implement a small typed language
  • Build a bytecode virtual machine
  • Create a static-analysis or compiler tool

Your request helps us prioritize this track. We’ll use your email for updates about this track only. See our privacy notice.

21skills mapped
6learning stages
0published lessons

Prerequisites

PLANNED
  • Programming in a systems language

    Build the Programming in a systems language knowledge needed to follow the Programming Languages & Compiler Engineering foundations.

  • Data structures and discrete mathematics

    Build the Data structures and discrete mathematics knowledge needed to follow the Programming Languages & Compiler Engineering foundations.

  • Computer architecture and operating-system basics

    Build the Computer architecture and operating-system basics knowledge needed to follow the Programming Languages & Compiler Engineering foundations.

Foundations

PLANNED
  • Lexing, parsing, and abstract syntax trees

    Explain how Lexing, parsing, and abstract syntax trees works and where it fits in the Programming Languages & Compiler Engineering learning path.

  • Operational semantics and type systems

    Explain how Operational semantics and type systems works and where it fits in the Programming Languages & Compiler Engineering learning path.

  • Interpreters and virtual machines

    Explain how Interpreters and virtual machines works and where it fits in the Programming Languages & Compiler Engineering learning path.

  • Runtime memory and calling conventions

    Explain how Runtime memory and calling conventions works and where it fits in the Programming Languages & Compiler Engineering learning path.

Core Skills

PLANNED
  • Static analysis and type checking

    Use Static analysis and type checking to implement a working capability and verify its behavior in Programming Languages & Compiler Engineering.

  • Intermediate representations and optimization

    Use Intermediate representations and optimization to implement a working capability and verify its behavior in Programming Languages & Compiler Engineering.

  • Code generation and linking

    Use Code generation and linking to implement a working capability and verify its behavior in Programming Languages & Compiler Engineering.

  • Language tooling and diagnostics

    Use Language tooling and diagnostics to implement a working capability and verify its behavior in Programming Languages & Compiler Engineering.

Advanced / Production

PLANNED
  • Garbage collection and runtime performance

    Evaluate Garbage collection and runtime performance trade-offs against the performance, reliability, and safety needs of Programming Languages & Compiler Engineering systems.

  • Incremental compilation and build systems

    Evaluate Incremental compilation and build systems trade-offs against the performance, reliability, and safety needs of Programming Languages & Compiler Engineering systems.

  • JIT and ahead-of-time compilation trade-offs

    Evaluate JIT and ahead-of-time compilation trade-offs trade-offs against the performance, reliability, and safety needs of Programming Languages & Compiler Engineering systems.

  • Fuzzing and compiler correctness testing

    Evaluate Fuzzing and compiler correctness testing trade-offs against the performance, reliability, and safety needs of Programming Languages & Compiler Engineering systems.

Real-World Projects

PLANNED
  • Implement a small typed language

    Deliver a working outcome with Implement a small typed language, then test it against the project requirements.

  • Build a bytecode virtual machine

    Deliver a working outcome with Build a bytecode virtual machine, then test it against the project requirements.

  • Create a static-analysis or compiler tool

    Deliver a working outcome with Create a static-analysis or compiler tool, then test it against the project requirements.

Career / Interview Preparation

PLANNED
  • Parsing and type-system exercises

    Explain your approach to Parsing and type-system exercises, defend key trade-offs, and discuss what you learned.

  • Compiler pipeline design review

    Explain your approach to Compiler pipeline design review, defend key trade-offs, and discuss what you learned.

  • Developer-tooling project walkthrough

    Explain your approach to Developer-tooling project walkthrough, defend key trade-offs, and discuss what you learned.

← Back to all learning tracks
Share

Discussion

0

Have a better approach? Found something outdated? Share it — your knowledge helps everyone learning here.

Continue with GitHub
Loading...