Domäne
Compilers & Languages
Skill-Profil
Code generation: machine code emission, register allocation, instruction selection
Rollen
3
wo dieser Skill vorkommt
Stufen
5
strukturierter Entwicklungspfad
Pflichtanforderungen
11
die anderen 4 optional
Compilers & Languages
Compiler Tools
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 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. |
| Language Tooling Engineer | Generates simple code output from IR using template-based emitters. Understands the mapping from AST nodes to target language constructs. Writes basic tests verifying generated code correctness. | |
| Systems Programmer (C/C++) | Reads generated assembly or machine code output from compiler backends. Understands basic instruction selection and register allocation concepts. Traces code generation paths to debug simple output issues. |
| Rolle | Pflicht | Beschreibung |
|---|---|---|
| Compiler Engineer | Pflicht | 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. |
| Language Tooling Engineer | Implements code generators targeting multiple output formats (source code, bytecode). Builds peephole optimizations and handles platform-specific code emission. Writes property-based tests for generated output validation. | |
| Systems Programmer (C/C++) | Implements instruction selection and scheduling passes for target architectures. Works with register allocators and handles calling convention compliance. Writes extensive tests ensuring generated binary correctness across platforms. |
| Rolle | Pflicht | Beschreibung |
|---|---|---|
| Compiler Engineer | Pflicht | Designs instruction selection and register allocation for a new target. Implements calling convention for custom ABI. Optimizes codegen for specific CPU architectures (x86/ARM/RISC-V). |
| Language Tooling Engineer | Pflicht | Designs code generation pipelines with pluggable backends for multiple target platforms. Architects JIT compilation and incremental code generation strategies. Mentors the team on compiler backend design and optimization trade-offs. |
| Systems Programmer (C/C++) | Pflicht | Designs code generation backends targeting custom hardware and specialized ISAs. Architects auto-vectorization and SIMD code emission strategies. Mentors engineers on low-level optimization and hardware-software co-design. |
| Rolle | Pflicht | Beschreibung |
|---|---|---|
| Compiler Engineer | Pflicht | Architects compiler backend and codegen pipeline. Makes decisions about instruction scheduling and peephole optimization. Manages the backend 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 code generation strategy for new ISAs (RISC-V, WebAssembly). Researches superoptimization and stochastic codegen techniques. Participates in ABI standardization for the platform. |
| 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. |