Domäne
Compilers & Languages
Skill-Profil
Type inference: Hindley-Milner, unification, type checking, generics, variance
Rollen
3
wo dieser Skill vorkommt
Stufen
5
strukturierter Entwicklungspfad
Pflichtanforderungen
11
die anderen 4 optional
Compilers & Languages
Compiler Theory
17.3.2026
Wählen Sie Ihr aktuelles Level und vergleichen Sie die Erwartungen.
Die Tabelle zeigt, wie die Tiefe von Junior bis Principal wächst.
| Rolle | Pflicht | Beschreibung |
|---|---|---|
| Compiler Engineer | Pflicht | Understands basic type inference algorithms: unification, Hindley-Milner inference. Knows the difference between structural and nominal type systems. Can work with simple generics. |
| Language Tooling Engineer | Learns basics of type inference algorithms such as Hindley-Milner and unification. Reads compiler source code to understand how type checking passes work in practice. | |
| Systems Programmer (C/C++) | Studies how type inference and type checking affect memory layout and safety guarantees. Understands basic type system rules enforced by the compiler in languages like Rust or C++. |
| Rolle | Pflicht | Beschreibung |
|---|---|---|
| Compiler Engineer | Pflicht | 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. |
| Language Tooling Engineer | Implements type inference passes and integrates them with IR transformations. Writes comprehensive test suites for type checker correctness including edge cases with generics and variance. | |
| Systems Programmer (C/C++) | Applies type inference knowledge to write safer low-level code with minimal explicit annotations. Leverages compiler type checking to catch memory safety issues and undefined behavior at compile time. |
| Rolle | Pflicht | Beschreibung |
|---|---|---|
| Compiler Engineer | Pflicht | Designs type system for a new language: variance, higher-kinded types, existential types. Implements incremental type checking for language server. Optimizes type checker performance. |
| Language Tooling Engineer | Pflicht | Designs advanced type system features including dependent types, GADTs, and type-level computation. Architects compiler optimization passes that leverage type information for better code generation. Mentors the team on type theory. |
| Systems Programmer (C/C++) | Pflicht | Designs type-safe abstractions for system-level APIs that enforce correctness at compile time. Evaluates and influences type system design decisions in languages like Rust, contributing to safer systems programming patterns. |
| Rolle | Pflicht | Beschreibung |
|---|---|---|
| Compiler Engineer | Pflicht | Architects type system evolution for the language with backward compatibility in mind. Makes decisions about breaking changes. Manages the type system engineering team. |
| Language Tooling Engineer | Pflicht | Defines compiler architecture. Establishes development standards. Coordinates compiler team. |
| Systems Programmer (C/C++) | Pflicht | Defines compiler architecture. Establishes development standards. Coordinates the compiler team. |
| Rolle | Pflicht | Beschreibung |
|---|---|---|
| Compiler Engineer | Pflicht | Defines long-term type system strategy for the platform language. Researches dependent types, linear types, effect systems. Publishes academic papers on type systems. |
| Language Tooling Engineer | Pflicht | Defines compiler/language development strategy. Designs core language features. Shapes technology vision. |
| Systems Programmer (C/C++) | Pflicht | Defines compiler/language development strategy. Designs core language features. Establishes technology vision. |