Nest

Junior → Arquitecto → Más allá

Hoja de Ruta del Ingeniero Backend

Un camino de aprendizaje graduado por nivel a través de todo lo de esta guía. Cada etapa lista lo que ya puedes hacer y qué aprender a continuación — y cada tarjeta está etiquetada con su nivel para que puedas practicar exactamente donde estás.

  1. 1

    Junior

    Construye y publica endpoints con guía.

    Construyes endpoints y entregas features con orientación. El objetivo es fluidez en los fundamentos — módulos, controladores, proveedores, DTOs y acceso básico a datos — para que puedas entregar un módulo CRUD funcional de extremo a extremo.

    Ya puedes

    • Generar un módulo con el CLI y conectar un controlador + servicio.
    • Definir rutas y leer parámetros/query/body con DTOs.
    • Inyectar un servicio vía el constructor y entender que es un singleton.
    • Validar entrada con class-validator + un ValidationPipe global.
    • Leer y escribir datos a través de un repositorio (TypeORM/Prisma/Mongoose).

    Mejora con

    • Inyección de dependencias en profundidad: tokens, proveedores personalizados, exports/imports.
    • El ciclo de vida de requests — guards, interceptores, pipes, filtros y su orden.
    • El event loop de Node y las trampas de async/await.
    • Escribir tus primeras pruebas unitarias + e2e con @nestjs/testing y supertest.
    Practica las flashcards filtradas a Junior, más las categorías Core y Data & ORM. Lee los temas de estudio 0104, 08 y 14.
  2. 2

    Mid

    Domina módulos de principio a fin: datos, validación, tests.

    Eres dueño de módulos de extremo a extremo — datos, validación, tests — con poca orientación. El objetivo es profundidad en el toolkit diario de NestJS y el inicio de la conciencia de rendimiento.

    Ya puedes

    • Usar el pipeline de requests completo: guards, interceptores, pipes, filtros de excepción.
    • Modelar configuración con @nestjs/config y validar entorno al arrancar.
    • Ejecutar transacciones y evitar la trampa de synchronize en producción.
    • Escribir pruebas unitarias con proveedores sobrescritos y e2e con supertest.
    • Razonar sobre el event loop y evitar bloquearlo.

    Mejora con

    • Alcances de inyección y el costo de REQUEST scope; módulos dinámicos (forRoot/forFeature).
    • Autenticación (JWT/Passport), RBAC y rate limiting.
    • Caché, colas (BullMQ), programación y eventos — y sus trampas multi-réplica.
    • Streams y backpressure; worker_threads vs cluster.
    Filtra flashcards a Mid y las categorías DI & Modules, Request Lifecycle, Config y Testing. Trabaja los temas de estudio 0513 y 2025.
  3. 3

    Senior

    Profundidad en DI, el ciclo de vida de la petición, rendimiento y seguridad.

    Traes profundidad en DI, rendimiento y madurez en seguridad, y elevas al equipo a tu alrededor. El objetivo es ser la persona que perfila en lugar de adivinar y razona sobre el sistema, no solo la sintaxis.

    Ya puedes

    • Explicar los alcances de DI, módulos dinámicos y el ciclo de vida de requests de memoria.
    • Diseñar auth (JWT + refresh, RBAC/ABAC) y endurecer la API.
    • Perfilar con clinic.js/flame graphs/APM y razonar en p95/p99 — corregir bloqueo del event loop, consultas N+1 y fugas de memoria con evidencia, no adivinanzas.
    • Aislar fallos con circuit breakers, bulkheads y timeouts (no bare try/catch) para que una dependencia lenta no arrastre todo el proceso.
    • Enmarcar decisiones como trade-offs: nombra la opción que rechazaste y por qué, luego vincula la elección a un resultado medible — mid dice qué hizo, tú dices por qué y qué movió.
    • Hacer que caché/rate-limiting/colas sean correctos entre réplicas con Redis.
    • Ser dueño de observabilidad: logs estructurados, traces, health checks, apagado graceful.

    Mejora con

    • Diseño de sistemas a escala: layering/hexagonal, CQRS, patrones de resiliencia.
    • Microservicios: transportes, message vs event, sagas + outbox.
    • GraphQL a escala (DataLoader, federation) y tiempo real (WebSockets + Redis).
    • Despliegue: Docker multi-stage, CI/CD, SLOs.
    • La meta-habilidad senior — comunicar trade-offs en vivo: "La opción A optimiza X al costo de Y; dada Z elegiría…, y revisaría en [umbral]," siempre anclado a p95/p99, tasa de error o costo por request.
    Filtra flashcards a Senior y las categorías Node.js Core, Performance, Security, Auth y Deploy & Ops. Lee los temas de estudio 2634 y la guía completa de Arquitectura. Luego ensaya el por qué: para cada corrección, practica diciendo el framework, la alternativa que rechazaste y el número p95/p99 o tasa de error que movió — ese enmarque es lo que se lee como senior, no la corrección misma.
  4. 4

    Arquitecto

    Diseño de sistemas, microservicios, decisiones de plataforma.

    Diseñas sistemas backend de extremo a extremo y tomas decisiones de plataforma que mueven a un equipo completo. El objetivo es la toma de decisiones antes del código — para la peor consulta, la peor red y el peor pico de tráfico.

    Ya puedes

    • Diseñar un servicio de extremo a extremo y justificar la arquitectura, datos y estrategia de consistencia.
    • Elegir entre monolito modular y microservicios y trazar límites limpios.
    • Aplicar sagas, el outbox, idempotencia y patrones de resiliencia (circuit breakers, bulkheads, timeouts) para aislamiento de fallos.
    • Diseñar multi-tenancy y prevenir filtración entre tenants.
    • Implementar CI/CD, observabilidad y SLOs entre servicios.
    • Recorrer un sistema que construiste de extremo a extremo — decisiones, alternativas rechazadas, modos de fallo y el resultado medido — y conducir un diseño de 45 minutos que proactivamente plantea idempotencia, backpressure y semánticas de entrega.

    Mejora con

    • Estrategia de plataforma a nivel de organización: librerías compartidas, convenciones, caminos dorados.
    • Presupuestos de costo/rendimiento a escala y evaluación de tecnologías emergentes.
    Filtra flashcards a Arquitecto y las categorías Architecture y Microservices. Trabaja la guía de Arquitectura + Inmersiones, los prompts de diseño de sistemas y los temas de estudio 28, 36.
  5. 5

    Beyond

    Frontera: event-driven a escala, edge y Nest serverless.

    La frontera — donde empujas lo que un backend Node/NestJS puede hacer. El objetivo es traer capacidad genuinamente nueva y开创 patrones que el resto del equipo adoptará.

    Ya puedes

    • Ejecutar NestJS en serverless/edge con arranque cacheado y connection pooling.
    • Construir sistemas basados en event sourcing y CQRS donde genuinamente encajen.
    • Stremear respuestas LLM/AI (SSE/WebSocket) con backpressure y cancelación.
    • Usar AsyncLocalStorage para contexto con rendimiento de singleton scope.

    Mejora con

    • Adoptar NestJS 12 (ESM, Standard Schema/Zod, Vitest) y contribuir patrones de vuelta al equipo.
    Filtra flashcards a Beyond y lee los temas de estudio 29, 30. Prueba los prompts de diseño basados en eventos e idempotencia.