Perfil de habilidad

Type Inference & Type Checking

Type inference: Hindley-Milner, unification, type checking, generics, variance

Compilers & Languages Compiler Theory

Roles

3

donde aparece esta habilidad

Niveles

5

ruta de crecimiento estructurada

Requisitos obligatorios

11

los otros 4 opcionales

Dominio

Compilers & Languages

skills.group

Compiler Theory

Última actualización

17/3/2026

Cómo usar

Selecciona tu nivel actual y compara las expectativas.

Qué se espera en cada nivel

La tabla muestra cómo crece la profundidad desde Junior hasta Principal.

Rol Obligatorio Descripción
Compiler Engineer Obligatorio 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++.
Rol Obligatorio Descripción
Compiler Engineer Obligatorio 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.
Rol Obligatorio Descripción
Compiler Engineer Obligatorio 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 Obligatorio 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++) Obligatorio 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.
Rol Obligatorio Descripción
Compiler Engineer Obligatorio 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 Obligatorio Defines compiler architecture. Establishes development standards. Coordinates compiler team.
Systems Programmer (C/C++) Obligatorio Defines compiler architecture. Establishes development standards. Coordinates the compiler team.
Rol Obligatorio Descripción
Compiler Engineer Obligatorio 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 Obligatorio Defines compiler/language development strategy. Designs core language features. Shapes technology vision.
Systems Programmer (C/C++) Obligatorio Defines compiler/language development strategy. Designs core language features. Establishes technology vision.

Comunidad

👁 Seguir ✏️ Sugerir cambio Inicia sesión para sugerir cambios
📋 Propuestas
Aún no hay propuestas para Type Inference & Type Checking
Cargando comentarios...