1 - Visión general

2 - Ruta operacional

Ruta completa para formar a un ingeniero de software capaz de diseñar, construir, operar y mejorar sistemas de software modernos.
  1. Computación y sistemas

    1. Autómatas y modelos de cómputo

      1. Máquinas de Turing
      2. Autómatas finitos deterministas y no deterministas (DFA / NFA)
      3. Autómatas con pila (PDA) y lenguajes libres de contexto
      4. Gramáticas formales y jerarquía de Chomsky
      5. Computabilidad y decidibilidad
      6. Complejidad computacional
      7. Reducciones y completitud
      8. Computación aproximada y aleatorizada
      9. Lógica y especificación formal de cómputo
      10. Computación cuántica como modelo alternativo
      11. Límites físicos del cómputo
    2. Arquitectura de computadores

      1. Modelos de arquitectura (von Neumann, Harvard)
      2. CPU y microarquitectura
      3. Jerarquía de memoria
      4. Conjuntos de instrucciones (ISA)
      5. Paralelismo a nivel de instrucción
      6. Arquitecturas multinúcleo y multiprocesador
      7. Aceleradores de propósito específico
      8. Interconexiones y buses del sistema
      9. Entrada / Salida (I/O) y controladores
      10. Gestión de energía y rendimiento térmico
    3. Sistemas operativos (procesos, hilos, memoria, planificación)

      1. Diseño del núcleo (kernel)
      2. Procesos
      3. Hilos (threads)
      4. Planificación (CPU scheduling)
      5. Gestión de memoria
      6. Sincronización y concurrencia
      7. Comunicación entre procesos (IPC)
      8. Sistema de archivos y VFS (Virtual File System)
      9. Gestión de E/S y controladores
      10. Seguridad y aislamiento
      11. Syscalls y modos de ejecución
      12. Contabilidad, monitoreo y métricas
    4. Virtualización y contenedorización

      1. Conceptos de virtualización
      2. Hipervisores
      3. Virtualización de hardware vs virtualización a nivel de SO
      4. Contenedores
      5. Namespaces y cgroups
      6. Construcción y gestión de imágenes
      7. Redes virtuales y SDN (Software-Defined Networking)
      8. Orquestación de contenedores
      9. Seguridad y aislamiento multi-tenant
      10. Observabilidad y debugging en entornos virtualizados
    5. Almacenamiento distribuido y sistemas de archivos

      1. Modelos de almacenamiento
      2. Sistemas de archivos locales
      3. Sistemas de archivos distribuidos
      4. Almacenamiento en bloques, archivos y objetos
      5. Replicación y durabilidad
      6. Particionado y sharding
      7. Consistencia y coherencia
      8. Metadatos y consenso
      9. Recuperación ante fallos y journaling
      10. Caching y jerarquización de almacenamiento (tiering)
      11. Rendimiento y latencia en I/O
    6. Redes y protocolos

      1. Fundamentos de redes (modelo OSI y TCP/IP)
      2. Direccionamiento y ruteo
      3. Capa de enlace de datos
      4. Capa de red
      5. Capa de transporte
      6. Capa de aplicación
      7. Control de congestión y calidad de servicio (QoS)
      8. Seguridad de red
      9. Redes definidas por software (SDN) y virtualización de red
      10. Observabilidad y troubleshooting de red
      11. Redes de baja latencia
      12. SDN (Software Defined Networking)
      13. Redes distribuidas
      14. Redes tolerantes a fallo / entornos hostiles
      15. Transporte moderno
    7. Modelos cliente-servidor y peer-to-peer

      1. Arquitectura cliente-servidor tradicional
      2. Stateless vs stateful
      3. Microservicios y servicios desacoplados
      4. Comunicación síncrona vs asíncrona
      5. Pub/Sub y colas de mensajes
      6. Peer-to-peer
      7. Coordinación y descubrimiento de servicios
      8. Patrones de resiliencia
      9. Versionado y compatibilidad de interfaces
    8. Consistencia y tolerancia a fallos

      1. Teorema CAP y trade-offs
      2. Modelos de consistencia
      3. Relojes y ordenamiento de eventos
      4. Consenso y replicación
      5. Alta disponibilidad y failover
      6. Tolerancia a fallos bizantinos
      7. Estrategias de recuperación
      8. Diseño de sistemas idempotentes
    9. Algoritmos distribuidos

      1. Modelos de comunicación
      2. Difusión y broadcast
      3. Elección de líder
      4. Sincronización de relojes
      5. Exclusión mutua distribuida
      6. Consenso y commit distribuido
      7. Detección de fallos
      8. Toma de snapshots globales
      9. Hashing consistente y particionamiento de carga
      10. Algoritmos tolerantes a bizantinos
    10. Computación paralela y vectorizada

      1. Modelos de paralelismo
      2. Paralelismo a nivel de datos (SIMD / SIMT)
      3. Paralelismo a nivel de tareas (MIMD)
      4. Memoria compartida vs memoria distribuida
      5. Sincronización y coordinación
      6. Paralelismo en GPU
      7. Rendimiento y escalabilidad
      8. Patrones paralelos comunes
      9. Herramientas y entornos de programación paralela
      10. Problemas típicos de concurrencia y rendimiento
    11. Computación en la nube y edge computing

      1. Modelos de servicio (IaaS, PaaS, SaaS, FaaS)
      2. Modelos de despliegue (nube pública, privada, híbrida, multicloud)
      3. Infraestructura como código e infraestructura declarativa
      4. Automatización, orquestación y autoescalado
      5. Observabilidad en nubes distribuidas
      6. Serverless y FaaS
      7. Edge computing
      8. Seguridad, cumplimiento y gobernanza
      9. Gestión de costos y optimización
      10. Fiabilidad y continuidad operativa
    12. Sistemas embebidos y RTOS

      1. Fundamentos de sistemas embebidos
      2. Sistemas de tiempo real
      3. RTOS comunes y arquitectura
      4. Confiabilidad y seguridad funcional
      5. Integración con sistemas mayores
    13. Balanceo de carga y redes de distribución de contenido (CDN)

      1. Balanceadores de carga (L4 / L7)
      2. Estrategias de distribución de tráfico
      3. Health checks y failover
      4. Anycast y enrutamiento geográfico
      5. CDNs (Content Delivery Networks)
      6. Optimización de entrega de contenido
      7. Mitigación de ataques y protección DDoS
      8. Observabilidad y control de tráfico
      9. Service mesh y proxys inteligentes
    14. Modelos de escalabilidad

      1. Escalamiento vertical vs horizontal
      2. Elasticidad y autoescalado
      3. Desacoplamiento mediante colas y eventos
      4. Sharding y particionado de datos
      5. Replicación geográfica y multi-región
      6. Caching en múltiples niveles
      7. Aislamiento de recursos y multitenancy
      8. Diseño sin punto único de falla
      9. Backpressure y control de flujo
      10. Observabilidad y autosanación
      11. Optimización costo / rendimiento
      12. Evolución arquitectónica a escala
  2. Práctica del desarrollador

    1. Linux, entornos y automatización

      1. Fundamentos de sistemas tipo Unix
      2. Comandos esenciales de línea de comando
      3. Gestión de paquetes y entornos del sistema
      4. Servicios del sistema, tareas programadas y demonios
      5. Variables de entorno y configuración
      6. Supervisión de procesos y recursos
      7. Redes y puertos
      8. Seguridad y control de acceso
      9. Automatización y scripting en la línea de comando
      10. Personalización del entorno de trabajo
      11. Diagnóstico de rendimiento
      12. Auditoría del sistema y logs
    2. Fundamentos de lenguajes de programación

      1. Compiladores, interpretes y construcción de lenguajes
      2. Diseño de lenguajes
      3. Sintaxis y estructuras básicas
      4. Tipos de datos y abstracción de datos
      5. Control de flujo (condicionales, bucles, manejo de ramificaciones)
      6. Funciones, cierres y paso de datos
      7. Paradigmas funcionales
      8. Programación orientada a objetos (clases, interfaces, herencia, composición)
      9. Organización en módulos y paquetes
      10. Tipado estático y anotaciones de tipo
      11. Manejo de errores y excepciones
      12. Gestión estructurada de recursos (por ejemplo, scopes y contextos controlados)
      13. Iteradores, generadores y secuencias consumibles
      14. Metaprogramación y reflexión
      15. Serialización y deserialización de estructuras
      16. Estilo, convenciones y mantenibilidad del código
    3. Herramientas y productividad técnica

      1. Entornos aislados y gestión de dependencias
      2. Control de versiones de configuraciones y datos
      3. Plantillas de proyectos y generación de esqueletos de servicio
      4. Ejecutores de tareas y automatización repetible (scripts, makefiles, job runners)
      5. Documentación viva y navegable (documentación generada y verificada automáticamente)
      6. Creación de herramientas de línea de comando para flujos internos
      7. Integración y configuración avanzada del entorno de desarrollo (editores, IDEs)
      8. Perfilado y depuración interactiva
      9. Chequeo estático de tipos y análisis estático
      10. Formateo automático y validaciones previas al commit
      11. Plantillas de integración continua y entrega continua
      12. Entornos de desarrollo reproducibles y remotos
    4. Control de versiones y colaboración

      1. Fundamentos de control de versiones distribuido
      2. Estrategias de ramificación (por ejemplo, trunk-based, release branches)
      3. Rebase, merge, cherry-pick y manejo de trabajo en paralelo
      4. Resolución de conflictos
      5. Convenciones de commits y gestión semántica de versiones
      6. Versionado semántico y etiquetado de lanzamientos
      7. Gestión de submódulos, monorepos y multi-repos
      8. Hooks y automatización del flujo de trabajo
      9. Integración con revisión de código e integración continua
      10. Políticas de revisión y ramas protegidas
      11. Auditoría del historial y trazabilidad de cambios
  3. Diseño y software

    1. Diseño y arquitectura de software

      1. Principios de diseño orientado a mantenibilidad
      2. Principios como evitar repetición innecesaria y mantener la simplicidad
      3. Patrones de diseño (creacionales, estructurales y de comportamiento)
      4. Arquitectura en capas
      5. Arquitectura limpia
      6. Arquitectura hexagonal y separación de puertos/adaptadores
      7. Diseño guiado por el dominio (Domain-Driven Design)
      8. Monolitos modulares y microservicios
      9. Arquitecturas dirigidas por eventos
      10. Versionado de interfaces y ciclos de vida de APIs
      11. Documentación técnica orientada a desarrolladores y mantenimiento
      12. Modularización y empaquetado de componentes reutilizables
    2. Algoritmos y estructuras de datos

      1. Complejidad temporal y espacial (notación asintótica)
      2. Análisis de eficiencia algorítmica
      3. Estructuras lineales (listas, pilas, colas, colas dobles)
      4. Árboles, montículos, tries y estructuras jerárquicas
      5. Grafos
      6. Hashing y tablas hash
      7. Algoritmos de ordenamiento y búsqueda
      8. Recursividad y divide y vencerás
      9. Programación dinámica y memoización
      10. Algoritmos de concurrencia y sincronización
      11. Estructuras de datos inmutables o persistentes
      12. Algoritmos probabilísticos y aproximados
    3. Procesos de ingeniería de software

      1. Requisitos de software
      2. Análisis, especificación y trazabilidad de requisitos
      3. Diseño de software
      4. Construcción y estándares de codificación
      5. Verificación y validación
      6. Mantenimiento evolutivo y correctivo
      7. Gestión de la configuración
      8. Ingeniería de calidad de software
      9. Procesos de desarrollo
      10. Métricas de productividad y calidad del software
      11. Herramientas de soporte al ciclo de vida del software
      12. Mejora continua de procesos y madurez operativa
  4. Backend y servicios

    1. Frameworks web y diseño de APIs

      1. Tipos y arquitecturas web
      2. Comunicación bidireccional y tiempo real (por ejemplo, sockets y streaming)
      3. Middleware, interceptores y filtros
      4. Validación y serialización de datos de entrada y salida
      5. Autenticación y autorización a nivel de servicio
      6. Limitación de tasa, paginación y control de abuso
      7. Versionado de APIs
      8. Especificaciones y documentación de APIs (por ejemplo, contratos máquina-legibles)
    2. Bases de datos y persistencia

      1. Lenguajes de consulta estructurados
      2. Modelado relacional
      3. Normalización y desnormalización
      4. Transacciones, atomicidad y aislamiento
      5. Índices, vistas y disparadores
      6. Procedimientos almacenados y lógica en base de datos
      7. Mapeo objeto-relacional y capas de acceso a datos
      8. Migraciones estructuradas y controladas de esquema
      9. Pools de conexiones y eficiencia de acceso concurrente
      10. Almacenamiento no relacional
      11. Motores de búsqueda y consulta de texto libre
      12. Almacenamiento analítico y sistemas orientados a consultas de negocio
      13. Replicación, particionamiento y alta disponibilidad
      14. Integridad referencial y consistencia eventual
    3. Integraciones y comunicación entre servicios

      1. Mensajería asíncrona y colas de mensajes
      2. RPC eficiente y contratos binarios
      3. Webhooks, notificaciones y callbacks externos
      4. Integración con servicios de terceros
      5. Estrategias de reintento y colas de mensajes muertos
      6. Serialización binaria y formatos compactos
      7. Arquitecturas basadas en eventos y event sourcing
      8. Modelos de publicación/suscripción
      9. Streaming de datos en tiempo real y captura de cambios
    4. Arquitecturas distribuidas y microservicios

      1. Patrones de microservicios
      2. Descubrimiento de servicios y enrutamiento
      3. Versionamiento y despliegue incremental
      4. Fault tolerance y resiliencia operativa
      5. Observabilidad distribuida y trazabilidad
      6. Gobernanza de contratos y compatibilidad
      7. Multi-tenancy y aislamiento de tráfico
  5. Frontend, interfaces gráficas y usabilidad

    1. Fundamentos de experiencia y flujo
      1. Interacción humano–computador
      2. Flujos de usuario
      3. Estados de la interfaz
    2. Interacción y comunicación con la persona usuaria
      1. Arquitectura visual
      2. Patrones de interacción
      3. Microinteracciones y percepción
      4. Notificaciones y gestión de atención
      5. Descubribilidad y búsqueda
      6. Contenido en la interfaz
      7. Onboarding y aprendizaje continuo
    3. Capa de presentación y composición de UI
      1. Renderizado y composición de interfaz
      2. Gestión de estado local de UI
      3. Estabilidad visual
    4. Arquitectura de la aplicación frontend
      1. Modelado de componentes
      2. Gestión de estado compartido
      3. Gestión de navegación y flujo
      4. Integración con el sistema de diseño
      5. DSL de interfaz y plantillas
    5. Datos, red y sincronización
      1. Consumo de APIs
      2. Sincronización con backend
      3. Tiempo real y concurrencia
      4. Modo offline y resiliencia de red
      5. Escalabilidad con datos en vivo
    6. Rendimiento y experiencia percibida
      1. Costos de renderizado
      2. Entrega y carga inicial
      3. Interactividad percibida
      4. Presupuestos de performance
    7. Accesibilidad, confianza y ética
      1. Accesibilidad e inclusión
      2. Internacionalización y localización
      3. Seguridad y confianza
      4. Cumplimiento y datos sensibles
      5. Ética de interacción
    8. Sistema de diseño y gobernanza de experiencia
      1. Sistema de diseño
      2. Mantenibilidad y deuda de experiencia
      3. Gobernanza del diseño
      4. Estándares y guías de interfaz
    9. Calidad y validación
      1. Testing
      2. Pruebas de experiencia y usabilidad
      3. Versionado y mantenibilidad de cambios
    10. Colaboración y multiusuario
      1. Presencia en tiempo real (quién está viendo/editando)
      2. Resolución de conflictos de edición simultánea
      3. Historial compartido y atribución por persona / rol
    11. Operación y evolución del frontend
      1. Observabilidad y métricas
      2. Mejora guiada por evidencia
      3. Pipelines de entrega
  6. Computación científica y HPC

    1. Fundamentos de análisis numérico

      1. Aritmética de punto flotante y error numérico
      2. Condicionamiento numérico y número de condición
      3. Estabilidad algorítmica y estabilidad numérica
      4. Consistencia, convergencia y orden de métodos numéricos
      5. Propagación y acumulación de errores de redondeo
      6. Escalamiento y no dimensionalización de ecuaciones físicas
      7. Sensibilidad y análisis de perturbaciones
      8. Caos numérico y dependencia en condiciones iniciales
    2. Métodos numéricos fundamentales

      1. Interpolación y aproximación polinómica
      2. Ajuste de curvas y regresión numérica
      3. Derivación numérica
      4. Integración numérica
      5. Resolución numérica de ecuaciones no lineales
      6. Optimización numérica determinista
      7. Optimización numérica estocástica
      8. Métodos de Monte Carlo y muestreo aleatorio
      9. Cuadratura adaptativa y métodos compuestos
      10. Minimización de energía y métodos variacionales
    3. Álgebra lineal numérica avanzada

      1. Descomposición LU, Cholesky, QR, SVD
      2. Resolución directa de sistemas lineales
      3. Métodos iterativos para sistemas lineales
      4. Gradiente conjugado y variantes
      5. GMRES, BiCGSTAB y Krylov generales
      6. Problemas de autovalores y autovectores
      7. Descomposiciones espectrales y modos propios
      8. Matrices dispersas y formatos de almacenamiento disperso
      9. Precondicionadores y mejora de convergencia
      10. Métodos multigrid y multiescala
      11. Factorizaciones de rango bajo
    4. Métodos para ecuaciones diferenciales ordinarias (EDO)

      1. Métodos explícitos de paso único
      2. Métodos implícitos de paso único
      3. Métodos multistep
      4. Métodos Runge-Kutta clásicos y de alto orden
      5. Métodos adaptativos con control de paso
      6. Sistemas rígidos y métodos para rigidez
      7. Conservación de invariantes y métodos geométricos
      8. Métodos linealizados y métodos de disparo
      9. Solución de problemas de contorno
    5. Métodos para ecuaciones diferenciales parciales (EDP)

      1. Discretización por diferencias finitas
      2. Discretización por elementos finitos
      3. Discretización por volúmenes finitos
      4. Métodos espectrales y pseudoespectrales
      5. Métodos de contorno e integrales de frontera
      6. Esquemas conservativos y leyes de conservación
      7. Estabilidad numérica y condición CFL
      8. Métodos implícitos vs explícitos en EDP
      9. Refinamiento de malla adaptativo (AMR)
      10. Métodos de partículas y SPH (Smoothed Particle Hydrodynamics)
      11. Métodos de frontera inmersa
      12. Tratamiento numérico de discontinuidades y shocks
    6. Simulación científica por dominio físico

      1. Dinámica de fluidos computacional (CFD)
      2. Mecánica de sólidos y análisis estructural
      3. Fractura, plasticidad y mecánica del daño
      4. Electromagnetismo computacional
      5. Física de plasmas y magnetohidrodinámica
      6. Astrofísica computacional y relatividad numérica
      7. Dinámica molecular clásica
      8. Dinámica molecular ab initio
      9. Física estadística y simulación de Monte Carlo
      10. Modelos climáticos y geo-simulación
      11. Sismología y propagación de ondas
      12. Biofísica computacional y dinámica de proteínas
      13. Simulación de reactores nucleares y transporte de radiación
    7. Programación científica

      1. Lenguajes y ecosistemas dominantes (Fortran moderno, C/C++, Julia)
      2. Bibliotecas numéricas de bajo nivel (BLAS, LAPACK)
      3. Bibliotecas científicas de más alto nivel (FFTW, PETSc, Trilinos)
      4. Programación con precisión controlada
      5. Programación vectorial explícita y extensiones SIMD
      6. Uso de plantillas y metaprogramación para rendimiento
      7. Modelos de cómputo distribuido científico (MPI)
      8. Directivas paralelas (OpenMP, OpenACC)
      9. Modelos de cómputo acelerado (CUDA, HIP, OpenCL)
      10. Lenguajes y DSLs específicos de dominio
      11. Envolturas científicas en Python y bindings nativos
      12. Entornos interactivos de exploración científica
    8. Arquitecturas HPC y rendimiento extremo

      1. Supercomputadores y clústeres HPC
      2. Topologías de interconexión de alto rendimiento
      3. Redes de baja latencia y alto ancho de banda
      4. Tecnologías de interconexión (InfiniBand, Omni-Path)
      5. Jerarquías de memoria en HPC (HBM, NUMA, NVRAM)
      6. Arquitecturas manycore y vector engines
      7. Escalamiento fuerte y escalamiento débil
      8. Modelos de equilibrio cómputo/memoria (roofline model)
      9. Cómputo exascale y arquitecturas exascale
      10. Eficiencia energética y cómputo verde
      11. Heterogeneidad CPU/GPU/FPGA en nodos de cómputo
      12. Reducción de movimiento de datos como limitante físico
    9. Administración y operación de clústeres HPC

      1. Gestión de recursos compartidos multiusuario
      2. Planificadores y colas de trabajo por lotes
      3. Sistemas de colas (SLURM, PBS, LSF)
      4. Gestión de módulos y entornos de compilación
      5. Gestión de dependencias científicas y toolchains
      6. Sistemas de archivos paralelos (Lustre, GPFS, BeeGFS)
      7. Políticas de prioridad y fairness
      8. Contabilidad y uso de horas de cómputo
      9. Monitoreo y telemetría de clúster
      10. Seguridad y aislamiento de usuarios en HPC
      11. Mantenimiento predictivo y gestión de fallos de nodo
      12. Planificación de capacidad y escalamiento físico
    10. Optimización de rendimiento científico

      1. Perfilado y trazado de rendimiento
      2. Análisis de hotspots y kernels críticos
      3. Vectorización automática y manual
      4. Afinidad de CPU y pinning de hilos
      5. Optimización de caché y localidad de datos
      6. Bloqueo y tiling de bucles
      7. Reducción de costo de comunicación
      8. Solapamiento comunicación / cómputo
      9. Minimización de sincronizaciones globales
      10. Escalabilidad paralela y eficiencia
      11. Portabilidad de rendimiento entre arquitecturas
      12. Auto-tuning y generación de kernels óptimos
    11. Computación heterogénea y aceleradores

      1. GPU de propósito general
      2. Aceleradores matriciales especializados
      3. FPGA para cómputo científico
      4. Offloading selectivo de kernels
      5. Modelos de memoria unificada y memory pooling
      6. Balanceo dinámico CPU/GPU
      7. Co-scheduling de múltiples aceleradores
      8. Estrategias NUMA-aware en nodos heterogéneos
      9. Codiseño hardware-software
    12. Métodos estocásticos y muestreo masivo

      1. Monte Carlo clásico
      2. Monte Carlo de cadenas de Markov (MCMC)
      3. Muestreo de Importancia y reponderación
      4. Cuasi-Monte Carlo y secuencias de baja discrepancia
      5. Rare-event sampling y métodos de eventos raros
      6. Análisis de incertidumbre y propagación de errores estadísticos
      7. Inferencia bayesiana computacional de gran escala
      8. Simulación de ensambles y métodos de replicas
    13. Optimización matemática de gran escala

      1. Programación lineal
      2. Programación cuadrática
      3. Métodos de punto interior
      4. Optimización no lineal sin restricciones
      5. Optimización con restricciones
      6. Métodos de descenso de gradiente a gran escala
      7. Métodos quasi-Newton y BFGS limitado
      8. Descomposición por bloques y coordenadas alternadas
      9. Métodos distribuidos y consenso
      10. Control óptimo numérico
      11. Problemas inversos y ajuste de parámetros físicos
    14. Ciencia de datos a gran escala en HPC

      1. Preprocesamiento masivo de datos científicos
      2. Limpieza y normalización de datos experimentales
      3. Reducción de dimensionalidad y compresión
      4. Análisis de series temporales de alta resolución
      5. Pipelines de análisis batch y streaming científicos
      6. Visualización científica de alto rendimiento
      7. Gestión de datasets masivos y movimiento de datos
      8. Indexación eficiente de resultados de simulación
      9. Exploración interactiva en entornos de supercómputo
    15. Aprendizaje automático acelerado en HPC

      1. Entrenamiento distribuido de modelos profundos
      2. Paralelismo de datos
      3. Paralelismo de modelo
      4. Paralelismo de pipeline
      5. Técnicas mixtas de paralelismo
      6. Compiladores de grafos y optimizadores de kernels
      7. Modelos informados por física (physics-informed ML)
      8. Surrogates y emuladores de simulaciones costosas
      9. Inferencia optimizada de baja latencia
      10. AutoML y búsqueda de arquitecturas en HPC
    16. Verificación, validación y reproducibilidad científica

      1. Verificación numérica de solvers
      2. Validación física frente a datos experimentales
      3. Comparación cruzada entre códigos independientes
      4. Benchmarks y suites de referencia comunitarias
      5. Control de versiones de simulaciones y parámetros
      6. Gestión de semillas aleatorias y estados iniciales
      7. Bitácoras experimentales y trazabilidad completa
      8. Publicación de datasets reproducibles
      9. Replicación de resultados publicados
    17. Metodologías de desarrollo de software científico

      1. Diseño modular y orientado a componentes físicos
      2. Separación entre física, discretización y solver
      3. Testing automatizado para kernels numéricos
      4. Validación continua y pipelines de CI científicos
      5. Refactorización dirigida por rendimiento
      6. Documentación técnica y manuales de usuario científico
      7. Notebooks reproducibles y cuadernos ejecutables
      8. Automatización de campañas de simulación
      9. Gestión de configuraciones y barridos de parámetros
      10. Portabilidad entre supercómputo on-premise y entornos de investigación
    18. Computación de precisión mixta y aproximada

      1. Precisión simple, doble y extendida
      2. Precisión mixta en solvers iterativos
      3. Reducción de precisión en kernels críticos
      4. Cómputo aproximado y tolerante a error
      5. Estrategias de reescalado numérico
      6. Propagación controlada de error
      7. Aritmética estocástica y detección de inestabilidades
    19. Resiliencia y tolerancia a fallos en HPC

      1. Checkpointing y reinicio
      2. Checkpointing incremental y diferencial
      3. Algoritmos tolerantes a fallos (ABFT)
      4. Replicación activa de tareas críticas
      5. Detección y corrección de bit flips
      6. Recuperación tras caídas parciales de nodo
      7. Elasticidad bajo fallos a escala masiva
      8. Reconfiguración dinámica de trabajos a mitad de ejecución
    20. Computación científica en tiempo real y alta fidelidad

      1. Simulación en línea para control experimental
      2. Gemelos digitales de sistemas físicos complejos
      3. Control predictivo basado en simulación
      4. Fusión de datos experimentales en vivo con modelos numéricos
      5. Procesamiento en el borde de instrumentos científicos
      6. Reducción automática de datos bajo latencia estricta
      7. Sistemas de alerta temprana basados en simulación
    21. Ética, gestión y política científica en HPC

      1. Priorización de acceso a recursos de supercómputo
      2. Cuotas de uso y gobernanza de clústeres compartidos
      3. Transparencia y trazabilidad de resultados numéricos
      4. Reproducibilidad como criterio de publicación científica
      5. Sostenibilidad energética del supercómputo
      6. Huella de carbono del entrenamiento masivo de modelos
      7. Manejo responsable de datos sensibles y confidenciales
      8. Transferencia tecnológica hacia la industria
  7. Datos y ML

    1. Fundamentos matemáticos y computacionales

      1. Álgebra lineal para datos y modelos
      2. Cálculo diferencial e introducción a optimización continua
      3. Optimización convexa y dualidad (Lagrange, KKT)
      4. Métodos de optimización numérica (gradiente, Newton, quasi-Newton, Adam)
      5. Probabilidad básica y variables aleatorias
      6. Inferencia estadística elemental (muestreo, estimación, sesgo/varianza)
      7. Teoría de la información (entropía, divergencia)
    2. Fundamentos de datos y análisis cuantitativo

      1. Tipos y formatos de datos (estructurados, semiestructurados, no estructurados)
      2. Manipulación y transformación de datos
      3. Limpieza, imputación, normalización y validación
      4. Versionado de datos, linaje y reproducibilidad de datasets
      5. Series temporales básicas: agregaciones, ventanas de tiempo, estacionalidad
      6. Métricas de negocio y definición de KPI
      7. Segmentación, cohortes y comportamiento de usuarios
      8. Analítica de producto y telemetría de uso
      9. Análisis geoespacial y datos con localización
      10. Análisis de riesgo, fraude y anomalías
      11. Análisis exploratorio de datos (EDA)
      12. Visualización, storytelling con datos y comunicación ejecutiva
    3. Estadística, inferencia y causalidad

      1. Estimadores, sesgo y varianza
      2. Intervalos de confianza y tests de hipótesis
      3. Comparación de grupos (t-test, χ², ANOVA)
      4. Significancia estadística, potencia estadística y tamaño de muestra
      5. Regresión lineal y múltiple (interpretación de coeficientes)
      6. Multicolinealidad y selección de variables
      7. Regularización estadística (ridge, lasso)
      8. Inferencia bayesiana aplicada
      9. Análisis causal (confusores, variables instrumentales, correlación vs causalidad)
      10. Evaluación de impacto y uplift
    4. Teoría del aprendizaje automático

      1. Formulación de aprendizaje supervisado, no supervisado y semisupervisado
      2. Funciones de pérdida y significado estadístico
      3. Generalización: sesgo-varianza, capacidad del modelo y sobreajuste
      4. Dimensión VC, márgenes y control de complejidad
      5. PAC learning (visión conceptual)
      6. Regularización vista como restricción de complejidad
      7. Paisajes de optimización no convexa en redes profundas
      8. Estabilidad de entrenamiento y ruido
    5. Machine Learning clásico (ML tradicional)

      1. Regresión lineal y logística
      2. k-NN y métodos basados en distancia
      3. Máquinas de soporte vectorial (SVM)
      4. Árboles de decisión
      5. Bosques aleatorios
      6. Ensembles y Gradient Boosting (XGBoost, LightGBM)
      7. Selección de variables y feature engineering
      8. Balanceo de clases y manejo de desbalance extremo
      9. Clustering (k-means, jerárquico, DBSCAN)
      10. Modelos de mezcla y clustering probabilístico
      11. Reducción de dimensionalidad (PCA, t-SNE, UMAP)
      12. Detección de anomalías y outliers
      13. Series temporales con ML tradicional (ARIMA, SARIMA, Holt-Winters, VAR)
      14. Forecasting de demanda y predicción multihorizonte
      15. AutoML y búsqueda de hiperparámetros / arquitecturas
      16. Aprendizaje semisupervisado y débilmente supervisado
    6. Evaluación de modelos y diseño experimental

      1. Partición train/valid/test y validación cruzada
      2. Métricas de regresión, clasificación y ranking (ROC, PR, F1, calibración)
      3. Umbrales de decisión y coste esperado
      4. Interpretabilidad local y global (importancia de características, SHAP/LIME)
      5. Data leakage y fugas de información
      6. Robustez frente a ruido, datos faltantes y cambios de distribución
      7. A/B testing y experimentación controlada
      8. Modelos descriptivos / diagnósticos / predictivos / prescriptivos
      9. Análisis causal aplicado y uplift modeling en producto
      10. Detección temprana de degradación (drift de datos y drift de concepto)
      11. Aprendizaje en línea y adaptación continua
      12. Aprendizaje activo (el modelo pide etiquetas donde tiene más incertidumbre)
    7. Deep Learning: fundamentos

      1. Neuronas artificiales y perceptrón multicapa
      2. Redes densas feed-forward
      3. Funciones de activación y normalización
      4. Retropropagación del gradiente
      5. Inicialización de pesos y estabilidad numérica
      6. Regularización en redes neuronales (dropout, weight decay)
      7. Ajuste de hiperparámetros en redes profundas
      8. Funciones de pérdida para clasificación y regresión
    8. Arquitecturas profundas avanzadas

      1. Redes convolucionales (CNN) para visión
      2. Pooling, padding y bloques tipo ResNet
      3. Redes recurrentes (RNN, LSTM, GRU)
      4. Temporal Convolutional Networks
      5. Mecanismos de atención y self-attention
      6. Transformers y arquitecturas encoder-decoder
      7. Modelos generativos (autoencoders, GANs, modelos de difusión)
      8. Modelos multimodales (imagen-texto, audio-texto, fusión sensorial)
    9. Transfer learning, auto-supervisión y modelos fundacionales

      1. Transfer learning clásico (pre-entrenar y ajustar)
      2. Aprendizaje auto-supervisado (contrastive, enmascarado, predicción de la siguiente parte)
      3. Modelos fundacionales y LLMs como base generalista
      4. Fine-tuning eficiente (LoRA, adapters, distillation)
      5. Continual learning y olvido catastrófico
    10. Lenguaje natural, recuperación aumentada y agentes

      1. Representaciones de texto (TF-IDF, embeddings)
      2. Modelos de lenguaje (n-gramas, RNNs, Transformers)
      3. Modelos de lenguaje grandes (LLMs) y alineación básica
      4. Adaptación de dominio y fine-tuning instruccional
      5. Resumen automático, QA, NER y extracción de información
      6. Recuperación aumentada de contexto (búsqueda semántica, RAG)
      7. Orquestación de agentes que usan herramientas externas (tool-use)
      8. Seguridad y alucinación
    11. Visión computacional y aprendizaje en grafos

      1. Aumentación y preprocesamiento de imágenes
      2. Clasificación, detección y segmentación de objetos
      3. Visión 3D, nubes de puntos y seguimiento en video
      4. Fusión sensorial (imagen + LiDAR)
      5. Representación de grafos (nodos, aristas, atributos)
      6. Redes neuronales en grafos (message passing, GCN, GAT)
      7. Aplicaciones en química, fraude, redes sociales y recomendación
    12. Series de tiempo avanzadas y señales

      1. Estacionalidad, tendencia y descomposición
      2. Forecasting probabilístico y multihorizonte
      3. Detección de anomalías en tiempo real
      4. Transformers temporales y predicción secuencial multivariante
      5. Monitoreo operacional en streaming (alertas, SLA de detección)
    13. Aprendizaje por refuerzo y control

      1. Formulación MDP (estados, acciones, recompensas)
      2. Métodos tabulares (Q-Learning, SARSA)
      3. Deep Q-Networks (DQN)
      4. Policy Gradient y actor-critic (PPO)
      5. Control continuo y robótica
      6. Multiagente y coordinación
      7. Seguridad, exploración controlada y alineación en RL
    14. Sistemas de recomendación y personalización

      1. Segmentación de usuarios y clustering aplicado
      2. Filtrado colaborativo y factorización matricial
      3. Modelos basados en contenido y señales de contexto
      4. Ranking, CTR prediction y métricas top-K
      5. Recomendadores secuenciales y en tiempo real
      6. Personalización dinámica en producto
      7. Interpretabilidad y explicabilidad para equipos de negocio
    15. Ingeniería de datos y plataformas de datos

      1. Modelado analítico orientado a negocio
      2. Modelado dimensional (hechos y dimensiones)
      3. Data warehouse, data lakes y lakehouses
      4. Formatos columnares y almacenamiento orientado a análisis
      5. Catálogo de datos, linaje y descubribilidad
      6. Gobernanza de acceso y control de permisos
      7. Retención, archivado y ciclo de vida de los datos
      8. Integración con herramientas de BI y tableros ejecutivos
      9. Exposición de datos como servicio (APIs analíticas)
      10. ETL / ELT y pipelines reproducibles y declarativos
      11. Procesamiento batch a gran escala
      12. Procesamiento streaming y datos en flujo continuo
      13. Orquestación de tareas y scheduling de flujos
      14. Optimización y perfilado de pipelines
      15. Pruebas de calidad, contratos de datos y SLAs de datos
      16. Observabilidad de datos (frescura, completitud, anomalías)
      17. Data mesh y dominios de datos
    16. Big Data y computación distribuida

      1. Concepto de big data (volumen, velocidad, variedad, veracidad, valor)
      2. Arquitecturas distribuidas de datos
      3. Sistemas de archivos distribuidos
      4. Motores de consulta distribuida y SQL distribuido
      5. Buses de eventos y colas de mensajería
      6. Procesamiento en tiempo real para decisiones operativas
      7. Integración de telemetría de producto y métricas de negocio a escala
    17. Puesta en producción de modelos (MLOps / LLMOps)

      1. Ciclo de vida del modelo: entrenamiento, validación, despliegue, rollback
      2. Tracking de experimentos y versionado de artefactos
      3. Gestión de características (feature stores)
      4. Servir modelos en batch y en tiempo real
      5. Inferencia de baja latencia y costo por predicción
      6. Monitorización de deriva y degradación de modelos
      7. Retraining continuo y loops de realimentación
      8. Testing de modelos antes del rollout y validación de seguridad
      9. A/B testing en producción y medición de impacto
      10. Observabilidad operativa (latencia, throughput, errores)
      11. SLOs y SLAs para servicios de inferencia
      12. Documentación y tarjetas de modelo (model cards)
    18. Escalamiento, eficiencia y despliegue en el borde

      1. Entrenamiento distribuido (data parallelism, model parallelism, sharding)
      2. Mezcla de expertos y arquitecturas escalables
      3. Cuantización, poda y compresión de modelos
      4. Compiladores y runtimes optimizados (GPU / TPU / ASIC)
      5. Inferencia en el borde (edge AI, TinyML, microcontroladores)
      6. Limitaciones de memoria, energía y latencia dura
      7. Costos energéticos y sostenibilidad del cómputo en IA
    19. Ética, seguridad, privacidad y gobernanza

      1. Privacidad de datos personales y minimización de uso
      2. Privacidad diferencial y aprendizaje federado
      3. Gobernanza, trazabilidad y auditoría de datos y modelos
      4. Cumplimiento normativo y marcos legales
      5. Control de acceso, clasificación de datos y dominios de seguridad
      6. Sesgos algorítmicos, equidad y no discriminación
      7. Explicabilidad y justificabilidad de decisiones automatizadas
      8. Riesgo reputacional y deepfakes / desinformación sintética
      9. Transparencia frente a usuarios y stakeholders
      10. Reproducibilidad científica y versionado de datasets/modelos
      11. Gobernanza del ciclo de vida completo del dato y del modelo
      12. Políticas internas de aprobación y revisión humana obligatoria
      13. Continuidad operativa y resiliencia ante fallos del modelo en producción
    20. Aplicaciones verticales y casos de uso

      1. Analítica de negocio y optimización operacional
      2. Detección de fraude, scoring de riesgo y cumplimiento financiero
      3. Personalización, recomendación y priorización de leads
      4. Salud y biomedicina asistida por IA
      5. Retail, demanda y logística predictiva
      6. Industria y mantenimiento predictivo (gemelos digitales)
      7. Ciencia y simulación asistida por datos (clima, materiales, física)
      8. Agentes autónomos, robótica y control continuo
      9. Asistentes conversacionales y copilotos para trabajo humano
      10. Automatización de decisiones en línea dentro del flujo de negocio
  8. Seguridad

    1. Seguridad de aplicaciones y servicios

      1. Principales vectores de ataque en aplicaciones web
      2. Criptografía práctica y hashing seguro
      3. Canales seguros y certificados (cifrado en tránsito extremo a extremo)
      4. Protección contra ataques comunes en la web (inyecciones, XSS, CSRF, etc.)
      5. Autenticación y autorización (incluyendo federación de identidad y single sign-on)
      6. Manejo seguro de credenciales, llaves y secretos
      7. Seguridad en bases de datos y control de acceso a datos sensibles
      8. Registro de eventos de seguridad y trazabilidad
      9. Sanitización y validación de entrada
      10. Modelado de amenazas y pruebas básicas de penetración
      11. Gestión de sesiones y mitigación de secuestro de sesión
      12. Política de mínimo privilegio en componentes internos
    2. Seguridad de infraestructura y plataforma

      1. Aislamiento entre servicios y entornos (producción, staging, desarrollo)
      2. Endurecimiento (hardening) de sistemas operativos, contenedores y runtimes
      3. Seguridad en redes: segmentación interna, firewalls, zonas de confianza
      4. Control de tráfico interno entre servicios (mTLS, políticas de red, service mesh)
      5. Seguridad en la nube: configuración segura de recursos gestionados
      6. Protección de datos en reposo (cifrado en disco, cifrado por objeto)
      7. Seguridad de la cadena de suministro de software (supply chain security)
      8. Escaneo de vulnerabilidades en dependencias, imágenes y artefactos
      9. Gestión de parches y actualizaciones de seguridad
      10. Backups seguros y recuperación ante desastres
    3. Identidad, acceso y control de privilegios

      1. Gestión de identidad y acceso (IAM)
      2. Autenticación multifactor (MFA)
      3. Rotación periódica de credenciales y llaves
      4. Delegación de permisos y roles granulares
      5. Acceso just-in-time y acceso de emergencia controlado
      6. Auditoría de quién accede a qué y cuándo
      7. Separación de funciones críticas (segregation of duties)
      8. Gobierno de cuentas de servicio y claves de API
      9. Revocación y desactivación segura de accesos
    4. Monitoreo, detección y respuesta temprana

      1. Detección de comportamientos anómalos y abuso
      2. Alertas de actividad sospechosa en autenticación y uso de APIs
      3. Correlación de eventos de seguridad en logs centralizados
      4. Protección contra fuga de datos y exfiltración
      5. Trazabilidad completa de acciones de alto riesgo
      6. Simulación de incidentes (ejercicios tipo “fire drill”)
      7. Detección de escalamiento lateral interno
      8. Señales tempranas de compromiso en entornos críticos
    5. Respuesta a incidentes y continuidad operativa

      1. Plan de respuesta a incidentes de seguridad
      2. Contención, erradicación y recuperación
      3. Análisis forense y preservación de evidencia técnica
      4. Postmortems de seguridad sin cultura de culpa
      5. Comunicación interna y externa durante incidentes
      6. Planes de continuidad operativa y recuperación de negocio
      7. Gestión coordinada con legal, compliance y stakeholders críticos
    6. Cumplimiento y riesgo organizacional

      1. Políticas internas de seguridad y uso aceptable
      2. Clasificación y manejo de datos sensibles
      3. Requisitos regulatorios y normativos aplicables
      4. Revisión periódica de riesgos y exposiciones
      5. Evaluación de terceros y proveedores (riesgo de cadena de suministro)
      6. Controles preventivos y controles compensatorios
      7. Trazabilidad, reportabilidad y obligaciones de notificación
      8. Cultura de seguridad: concientización y formación continua en el equipo
  9. Calidad y auditoría

    1. Verificación formal y métodos formales

      1. Especificación formal
      2. Model checking
      3. Pruebas asistidas por SMT/SAT
      4. Demostración asistida (proof assistants)
      5. Aplicaciones prácticas de métodos formales
    2. Testing y aseguramiento de calidad

      1. Pruebas unitarias
      2. Pruebas de integración
      3. Pruebas de extremo a extremo
      4. Pruebas de contrato entre servicios
      5. Pruebas basadas en instantáneas y estados esperados
      6. Simulación de dependencias externas y uso de dobles de prueba
      7. Pruebas basadas en propiedades
      8. Métricas de cobertura y criterios de calidad
      9. Análisis estático y linters
      10. Análisis de seguridad automatizado
      11. Ejecución automática de pruebas en pipelines de entrega
    3. Procesos de calidad y auditoría

      1. Integración continua y despliegue continuo
      2. Control de versiones de dependencias externas
      3. Revisión de código estructurada y guías internas
      4. Auditorías de seguridad y cumplimiento normativo
      5. Aseguramiento de calidad (QA) y control de calidad (QC)
      6. Métricas de calidad operacional (por ejemplo, densidad de defectos)
      7. Pruebas de aceptación y regresión
      8. Estándares de codificación y criterios de aprobación
      9. Pruebas no funcionales (rendimiento, carga, resiliencia)
      10. Documentación de calidad y trazabilidad
      11. Cumplimiento de marcos y certificaciones de la industria
      12. Evaluaciones posteriores al lanzamiento y mantenimiento preventivo
  10. Operación en producción

    1. Concurrencia y rendimiento

      1. Modelos asíncronos y bucles de eventos
      2. Paralelismo con hilos y procesos
      3. Tareas diferidas y trabajo en segundo plano
      4. Futuros, promesas y unidades de trabajo asíncronas
      5. Caching en memoria y distribuido
      6. Perfilado de CPU y memoria
      7. Cuellos de botella de entrada/salida frente a cómputo
      8. Medición de rendimiento y benchmarking
      9. Estrategias de escalado horizontal y vertical
      10. Colas de trabajo y orquestadores de tareas
      11. Control de tasa y mecanismos de alivio de presión
      12. Bloqueos, semáforos y estructuras de sincronización
    2. Infraestructura y operaciones

      1. Estrategias avanzadas de control de versiones y ramas
      2. Integración continua / entrega continua en entornos reales
      3. Contenedores y definición de entornos portables
      4. Despliegue de múltiples servicios coordinados
      5. Orquestación de contenedores y planificación de cargas
      6. Monitoreo de infraestructura y paneles de visualización
      7. Infraestructura como código
      8. Plataformas en la nube (cómputo, redes, almacenamiento)
      9. Almacenamiento de objetos, ejecución sin servidor, monitoreo gestionado
      10. Gestión de configuración y secretos centralizados
      11. Monitoreo activo y alertas operacionales
      12. Optimización de costos y escalado automático
    3. Observabilidad, logs y métricas

      1. Logging estructurado y contextualizado
      2. Monitoreo del desempeño de las aplicaciones (APM)
      3. Trazas distribuidas de extremo a extremo
      4. Métricas personalizadas y verificaciones de salud
      5. Alertas basadas en umbrales y tendencias
      6. Auditoría y reconstrucción de incidentes
    4. Resiliencia

      1. Tolerancia a fallos y aislamiento
      2. Control de latencia y tiempo de espera
      3. Reintentos seguros
      4. Protección contra sobrecarga
      5. Salud del servicio y autosanación
      6. Recuperación y continuidad
  11. Gestión técnica

    1. Cultura técnica y gestión del equipo

      1. Revisión de código efectiva y empática
      2. Gestión de deuda técnica
      3. Mentoría y liderazgo técnico
      4. Respuesta a incidentes en producción
      5. Postmortems y análisis de causa raíz sin culpas
      6. Estándares internos de código y guías
      7. Comunicación con producto y otros equipos
      8. Planificación de iteraciones y lanzamientos
      9. Evaluación de decisiones técnicas y trade-offs
      10. Hoja de ruta técnica y visión de plataforma
      11. Cultura de documentación viva
      12. Inclusión, colaboración y seguridad psicológica
      13. Gestión del conocimiento y rotación de contexto
    2. Gestión y liderazgo técnico

      1. Gestión de proyectos
      2. Estimación de esfuerzo y planificación técnica
      3. Gestión de riesgos y dependencias entre equipos
      4. Priorización de deuda técnica frente a features
      5. Gestión de releases y control de cambios
      6. Comunicación transversal (producto, QA, operaciones, datos)
      7. Desarrollo profesional y mentoría técnica
      8. Evaluación de desempeño técnico
      9. Registro y documentación de decisiones de arquitectura
      10. Presentación técnica a audiencias no técnicas
      11. Cultura de ingeniería basada en aprendizaje continuo
      12. Prácticas de mejora continua tras incidentes
      13. Gestión de capacidad y asignación de recursos
      14. Estrategia de contratación y onboarding técnico
      15. Escalamiento organizacional y delegación
    3. Operaciones, fiabilidad y excelencia de entrega

      1. SRE interno y propiedad de servicio
      2. Observabilidad organizacional
      3. Gestión de SLAs, SLOs y SLIs
      4. Gestión de alertas y fatiga de alarmas
      5. Ciclos de despliegue seguro
      6. Gestión de entornos (dev, staging, prod)
      7. Controles de cambio y auditoría operativa
      8. Ejercicios de continuidad operacional y DRP
      9. Gestión de incidentes de seguridad
      10. Comunicación durante incidentes críticos
      11. Madurez de procesos DevSecOps
  12. Cumplimiento y mejora

    1. Ética, legalidad y práctica profesional

      1. Responsabilidad profesional en ingeniería de software
      2. Privacidad y manejo responsable de datos
      3. Propiedad intelectual y licenciamiento de software
      4. Cumplimiento normativo y estándares de la industria
      5. Riesgos de dependencia de un único proveedor y cierre tecnológico
      6. Sesgos algorítmicos y transparencia en sistemas automatizados
      7. Accesibilidad e inclusión en diseño y experiencia de usuario
      8. Gobernanza de software libre y colaboración abierta
      9. Protección de datos personales y trazabilidad de acceso
      10. Reproducibilidad técnica y científica
      11. Comunicación honesta y responsable con las partes interesadas
      12. Impacto social y ambiental del software
      13. Soberanía de datos y cumplimiento regional
      14. Gestión responsable de IA generativa
    2. Innovación, investigación y mejora continua

      1. Evaluación crítica de nuevas tecnologías
      2. Prototipos rápidos y pruebas de concepto
      3. Medición comparativa y benchmarking técnico
      4. Observación de tendencias tecnológicas y estado del arte
      5. Participación en comunidades técnicas y proyectos abiertos
      6. Gestión del conocimiento interno y documentación compartida
      7. Diseño centrado en el usuario para resolver problemas reales
      8. Planes de aprendizaje continuo y formación técnica
      9. Experimentación controlada y despliegues graduales
      10. Innovación responsable, segura y sostenible
      11. Estrategia de patentes y divulgación científica
      12. Transferencia tecnológica y escalamiento a producción
      13. Cultura interna de experimentación y hack time
    3. Auditoría, métricas y optimización de procesos

      1. Métricas de entrega y flujo de trabajo
      2. Métricas de confiabilidad y disponibilidad
      3. Métricas de calidad de código
      4. Auditoría de seguridad y cumplimiento
      5. Auditoría de acceso y trazabilidad
      6. Procesos de mejora continua tipo Kaizen
      7. Ciclo de retroalimentación con clientes y stakeholders
      8. Health checks organizacionales y madurez técnica
      9. Gestión de backlog de mejoras operativas
      10. Automatización de controles y reportabilidad
      11. Transparencia interna y reportes ejecutivos
      12. Preparación para auditorías externas y certificaciones

3 - Ruta de madurez profesional

Ruta completa para formar a un ingeniero de software en distintos niveles de experiencia.

1. Nivel 0 — Aprendiendo

  1. Computación y sistemas

    1. Fundamentos de sistemas tipo Unix (2.1.1)
    2. Comandos esenciales de línea de comando (2.1.2)
    3. Gestión de paquetes y entornos del sistema (2.1.3)
    4. Variables de entorno y configuración (2.1.5)
    5. Personalización del entorno de trabajo (2.1.10)
    6. Estructuras lineales: listas, pilas, colas, colas dobles (3.2.3)
    7. Sintaxis y estructuras básicas (2.2.5)
    8. Tipos de datos y abstracción de datos (2.2.6)
    9. Control de flujo (condicionales, bucles, ramificaciones) (2.2.7)
    10. Organización en módulos y paquetes (2.2.11)
    11. Manejo básico de repositorios: fundamentos de control de versiones distribuido (2.4.1)
  2. Práctica del desarrollador

    1. Sintaxis y estructuras básicas (2.2.5)
    2. Tipos de datos y abstracción de datos (2.2.6)
    3. Control de flujo (condicionales, bucles, ramificaciones) (2.2.7)
    4. Funciones, cierres y paso de datos (2.2.8)
    5. Programación orientada a objetos (clases, interfaces, herencia, composición) (2.2.10)
    6. Manejo de errores y excepciones (2.2.13)
    7. Iteradores y generadores (2.2.15)
    8. Serialización y deserialización de estructuras (2.2.17)
    9. Estilo, convenciones y mantenibilidad del código (2.2.18)
    10. Plantillas de proyectos y esqueletos de servicio (2.3.3)
    11. Ejecutores de tareas y automatización repetible (scripts, makefiles, job runners) (2.3.4)
    12. Integración y configuración del editor/IDE (2.3.7)
    13. Formateo automático y validaciones previas al commit (2.3.10)
    14. Estrategias de ramificación básicas (trunk/release) (2.4.2)
    15. Resolución de conflictos (2.4.4)
    16. Convenciones de commits y gestión semántica de versiones (2.4.5)
    17. Versionado semántico y etiquetado de lanzamientos (2.4.6)
    18. Integración con revisión de código e integración continua (2.4.9)
  3. Diseño y software

    1. Principios de diseño orientado a mantenibilidad (3.1.1)
    2. Evitar repetición innecesaria y mantener la simplicidad (3.1.2)
    3. Complejidad temporal y espacial (notación asintótica) (3.2.1)
    4. Algoritmos de ordenamiento y búsqueda (3.2.7)
    5. Recursividad y divide y vencerás (3.2.8)
    6. Requisitos de software (3.3.1)
    7. Construcción y estándares de codificación (3.3.4)
    8. Verificación y validación: introducción (3.3.5)
  4. Backend y servicios

    1. Tipos y arquitecturas web (4.1.1)
    2. Validación y serialización de datos de entrada y salida (4.1.4)
    3. Especificaciones y documentación de APIs (contratos máquina-legibles) (4.1.8)
    4. Lenguajes de consulta estructurados (4.2.1)
    5. Modelado relacional (4.2.2)
    6. Normalización y desnormalización (4.2.3)
    7. Mapeo objeto-relacional y capas de acceso a datos (4.2.7)
    8. Migraciones estructuradas y controladas de esquema (4.2.8)
    9. Webhooks, notificaciones y callbacks externos (4.3.3)
    10. Integración con servicios de terceros (4.3.4)
  5. Datos y ML

    1. Manipulación y transformación de datos (5.1.5)
    2. Limpieza, normalización y validación de datos (5.1.6)
    3. Análisis exploratorio y visualización (5.1.9)
    4. Fundamentos de estadística y probabilidad (5.1.1)
  6. Seguridad

    1. Sanitización y validación de entrada (6.1.9)
    2. Principales vectores de ataque en aplicaciones web (6.1.1)
  7. Calidad y auditoría

    1. Pruebas unitarias (7.1.1)
    2. Pruebas de integración (7.1.2)
    3. Pruebas basadas en instantáneas y estados esperados (7.1.5)
    4. Simulación de dependencias y dobles de prueba (7.1.6)
    5. Métricas de cobertura y criterios de calidad (7.1.8)
    6. Análisis estático y linters (7.1.9)

2. Nivel 1 — Junior

  1. Computación y sistemas

    1. Arquitectura de computadores (1.2)
    2. Redes y protocolos (1.6)
    3. Modelos cliente-servidor y peer-to-peer (1.7)
    4. Computación en la nube y edge computing (1.11)
    5. Virtualización y contenedorización (1.4)
  2. Práctica del desarrollador

    1. Servicios del sistema, tareas programadas y demonios (2.1.4)
    2. Supervisión de procesos y recursos (2.1.6)
    3. Redes y puertos (2.1.7)
    4. Seguridad y control de acceso (2.1.8)
    5. Automatización y scripting en la línea de comando (2.1.9)
    6. Documentación viva y navegable (2.3.5)
    7. Perfilado y depuración interactiva (2.3.8)
    8. Chequeo estático de tipos y análisis estático (2.3.9)
    9. Plantillas de integración continua y entrega continua (2.3.11)
    10. Entornos de desarrollo reproducibles y remotos (2.3.12)
    11. Integración con revisión de código e integración continua (2.4.9)
    12. Políticas de revisión y ramas protegidas (2.4.10)
    13. Auditoría del historial y trazabilidad de cambios (2.4.11)
  3. Diseño y software

    1. Patrones de diseño (creacionales, estructurales y de comportamiento) (3.1.3)
    2. Arquitectura en capas (3.1.4)
    3. Complejidad y análisis de eficiencia algorítmica (3.2.2)
    4. Árboles, montículos, tries y estructuras jerárquicas (3.2.4)
    5. Hashing y tablas hash (3.2.6)
    6. Requisitos → análisis y trazabilidad (3.3.2)
    7. Diseño de software (3.3.3)
    8. Ingeniería de calidad de software: fundamentos (3.3.8)
    9. Procesos de desarrollo (3.3.9)
    10. Herramientas de soporte al ciclo de vida del software (3.3.11)
  4. Backend y servicios

    1. Comunicación bidireccional y tiempo real (sockets, streaming) (4.1.2)
    2. Middleware, interceptores y filtros (4.1.3)
    3. Autenticación y autorización a nivel de servicio (4.1.5)
    4. Índices, vistas y disparadores (4.2.5)
    5. Procedimientos almacenados y lógica en base de datos (4.2.6)
  5. Datos y ML

    1. Álgebra lineal y optimización básica (5.1.2)
    2. Muestreo, estimación e inferencia estadística (5.1.3)
    3. Diseño experimental y significancia estadística (5.1.4)
    4. Series temporales, agregaciones y ventanas de tiempo (5.1.7)
    5. Métricas de negocio y definición de KPI (5.1.8)
    6. Segmentación, cohortes y comportamiento de usuarios (5.1.11)
    7. Storytelling con datos y comunicación ejecutiva (5.1.15)
  6. Seguridad

    1. Autenticación y autorización (incl. federación y SSO) (6.1.5)
    2. Seguridad en bases de datos y control de acceso a datos sensibles (6.1.7)
    3. Registro de eventos de seguridad y trazabilidad (6.1.8)
    4. Gestión de sesiones y mitigación de secuestro de sesión (6.1.11)
    5. Política de mínimo privilegio en componentes internos (6.1.12)
  7. Calidad y auditoría

    1. Pruebas de contrato entre servicios (7.1.4)
    2. Análisis de seguridad automatizado (7.1.10)
    3. Ejecución automática de pruebas en pipelines de entrega (7.1.11)
    4. Integración continua y despliegue continuo (7.2.1)
    5. Control de versiones de dependencias externas (7.2.2)
    6. Revisión de código estructurada y guías internas (7.2.3)
    7. Estándares de codificación y criterios de aprobación (7.2.8)

3. Nivel 2 — Intermedio

  1. Computación y sistemas

    1. Autómatas y modelos de cómputo (1.1)
    2. Sistemas operativos (procesos, hilos, memoria, planificación) (1.3)
    3. Algoritmos distribuidos (1.9)
  2. Práctica del desarrollador

    1. Lenguajes formales y gramáticas (2.2.1)
    2. Semántica del lenguaje (2.2.3)
    3. Compilación e interpretación (2.2.4)
    4. Tipado estático y anotaciones de tipo (2.2.12)
    5. Gestión estructurada de recursos (scopes y contextos) (2.2.14)
    6. Metaprogramación y reflexión (2.2.16)
    7. Documentación viva y navegable (automatizada) (2.3.5)
    8. CLI internas para flujos (2.3.6)
    9. Perfilado y depuración interactiva avanzada (2.3.8)
    10. Rebase, merge, cherry-pick y trabajo en paralelo (2.4.3)
    11. Submódulos, monorepos y multi-repos (2.4.7)
    12. Hooks y automatización del flujo de trabajo (2.4.8)
  3. Diseño y software

    1. Programación dinámica y memoización (3.2.9)
    2. Grafos (3.2.5)
    3. Algoritmos probabilísticos y aproximados (3.2.12)
    4. Algoritmos de concurrencia y sincronización (3.2.10)
    5. Estructuras inmutables/persistentes (3.2.11)
    6. Ingeniería de calidad de software (planificación/verificación) (3.3.8)
    7. Métricas de productividad y calidad del software (3.3.10)
    8. Mejora continua de procesos y madurez operativa (3.3.12)
  4. Backend y servicios

    1. Transacciones, atomicidad y aislamiento (4.2.4)
    2. Pools de conexiones y acceso concurrente (4.2.9)
    3. Almacenamiento no relacional (4.2.10)
    4. Motores de búsqueda y texto libre (4.2.11)
  5. Datos y ML

    1. Modelos descriptivos (qué pasó) (5.3.1)
    2. Modelos de diagnóstico (por qué pasó) (5.3.2)
    3. Fundamentos de aprendizaje supervisado y no supervisado (5.4.1)
    4. Modelos clásicos de ML (regresión, árboles, ensembles, boosting) (5.4.2)
    5. Regularización y control de sobreajuste (5.4.3)
    6. Evaluación, validación cruzada y partición de datos (5.4.5)
    7. Métricas de clasificación, regresión y ranking (5.4.7)
  6. Seguridad

    1. Protección contra inyecciones, XSS, CSRF, etc. (6.1.4)
    2. Criptografía práctica y hashing seguro (6.1.2)
    3. Canales seguros y certificados (cifrado en tránsito) (6.1.3)
  7. Calidad y auditoría

    1. Pruebas de aceptación y regresión (7.2.7)
    2. Documentación de calidad y trazabilidad (7.2.10)

4. Nivel 3 — Semi Senior

  1. Computación y sistemas

    1. Consistencia y tolerancia a fallos (1.8)
    2. Computación paralela y vectorizada (1.10)
    3. Balanceo de carga y CDN (1.12)
    4. Modelos de escalabilidad (1.13)
  2. Práctica del desarrollador

    1. Diagnóstico de rendimiento (2.1.11)
    2. Auditoría del sistema y logs (2.1.12)
  3. Diseño y software

    1. Arquitectura limpia (3.1.5)
    2. Arquitectura hexagonal (puertos/adaptadores) (3.1.6)
    3. Monolitos modulares y microservicios (3.1.8)
  4. Backend y servicios

    1. Rate limiting, paginación y control de abuso (4.1.6)
    2. Versionado de APIs (4.1.7)
    3. Reintentos y colas de mensajes muertos (DLQ) (4.3.5)
    4. Serialización binaria y formatos compactos (4.3.6)
    5. Publicación/suscripción (4.3.8)
    6. Mensajería asíncrona y colas (4.3.1)
    7. RPC eficiente y contratos binarios (4.3.2)
  5. Datos y ML

    1. Análisis causal y correlación vs causalidad (5.1.10)
    2. Analítica de producto y telemetría de uso (5.1.12)
    3. Análisis geoespacial y con localización (5.1.13)
    4. Forecasting de demanda / series temporales (5.3.7)
    5. Segmentación de usuarios y clustering (5.3.8)
    6. Recomendadores básicos (filtrado colaborativo clásico) (5.3.9)
    7. Detección de outliers y ruido (5.4.8)
    8. Reducción de dimensionalidad (5.4.9)
    9. Series temporales con ML tradicional (5.4.10)
    10. AutoML y búsqueda de hiperparámetros (5.4.11)
    11. Aprendizaje por refuerzo (vista general) (5.4.13)
    12. Redes neuronales y modelos profundos (5.5.1)
  6. Seguridad

    1. Modelado de amenazas y pruebas básicas de penetración (6.1.10)
    2. Aislamiento entre servicios y entornos (6.2.1)
    3. Protección de datos en reposo (6.2.6)
    4. Gestión de parches y actualizaciones de seguridad (6.2.9)
    5. IAM, MFA y rotación de credenciales (6.3.1)
    6. Auditoría de accesos (6.3.6)
    7. Revocación y desactivación segura de accesos (6.3.9)
  7. Operación en producción

    1. Modelos asíncronos y event loop (8.1.1)
    2. Paralelismo con hilos y procesos (8.1.2)
    3. Tareas diferidas y trabajo en segundo plano (8.1.3)
    4. Futuros y promesas (8.1.4)
    5. Caching en memoria y distribuido (8.1.5)
    6. Perfilado de CPU y memoria (8.1.6)
    7. Cuellos de E/S vs cómputo (8.1.7)
    8. Benchmarking (8.1.8)
    9. Colas de trabajo y orquestadores (8.1.10)
    10. Logging estructurado y contextualizado (8.3.1)
    11. APM (8.3.2)
    12. Métricas personalizadas y health checks (8.3.4)
    13. Alertas por umbrales y tendencias (8.3.5)
    14. Monitoreo de infraestructura y paneles (8.2.6)
    15. Plataformas en la nube (cómputo, redes, almacenamiento) (8.2.8)
    16. Almacenamiento de objetos, serverless, monitoreo gestionado (8.2.9)
    17. Monitoreo activo y alertas operacionales (8.2.11)
  8. Calidad y auditoría

    1. Pruebas end-to-end (7.1.3)
    2. Pruebas basadas en propiedades (7.1.7)
    3. Integración continua y despliegue continuo en pipelines (7.2.1)
    4. QA/QC (7.2.5)
    5. Documentación de calidad y trazabilidad (7.2.10)
    6. Evaluaciones post-lanzamiento y mantenimiento preventivo (7.2.12)

5. Nivel 4 — Senior

  1. Computación y sistemas

    1. Almacenamiento distribuido y sistemas de archivos (1.5)
  2. Diseño y software

    1. Diseño guiado por el dominio (Domain-Driven Design) (3.1.7)
    2. Arquitecturas dirigidas por eventos (3.1.9)
    3. Versionado de interfaces y ciclos de vida de APIs (3.1.10)
    4. Modularización y empaquetado de componentes reutilizables (3.1.12)
    5. Ingeniería de calidad de software (madurez y métricas) (3.3.8)
    6. Mejora continua y madurez operativa (3.3.12)
  3. Backend y servicios

    1. Almacenamiento analítico y sistemas orientados a BI (4.2.12)
    2. Integridad referencial y consistencia eventual (4.2.13)
    3. Event sourcing (4.3.7)
    4. Streaming de datos y captura de cambios (4.3.9)
    5. Patrones de microservicios (4.4.1)
    6. Descubrimiento de servicios y enrutamiento (4.4.2)
  4. Datos y ML

    1. Análisis de riesgos, fraude y anomalías (5.1.14)
    2. Modelos prescriptivos (qué deberíamos hacer) (5.3.4)
    3. Evaluación de impacto y uplift (5.3.11)
    4. PLN y embeddings (5.5.2)
    5. Recuperación aumentada con contexto y búsqueda semántica (5.5.3)
    6. Recomendación avanzada y personalización en tiempo real (5.5.4)
    7. Serving e inferencia en producción (5.5.5)
    8. Integración de modelos en el flujo de negocio (5.5.6)
    9. Ciclo de vida de modelos: entrenamiento, versionado, despliegue, rollback (5.5.7)
    10. Feature stores (5.5.8)
    11. Monitorización de deriva y degradación de modelos (5.5.9)
    12. Observabilidad de modelos (latencia, throughput, costo por predicción) (5.5.12)
  5. Ingeniería de datos y plataformas

    1. Modelado analítico orientado a negocio (5.2.1)
    2. Modelado dimensional (5.2.2)
    3. Warehousing y lakehouses de datos (5.2.3)
    4. Catálogo de datos, linaje y descubribilidad (5.2.4)
    5. Integración con BI y tableros (5.2.5)
    6. Exposición de datos como servicio (APIs analíticas) (5.2.6)
    7. ETL/ELT (5.2.7)
    8. Orquestación de tareas y flujos (5.2.10)
    9. Formatos columnar y orientados a análisis (5.2.15)
    10. Gobernanza de acceso a datos y permisos (5.2.16)
    11. Retención, archivado y ciclo de vida de los datos (5.2.17)
  6. Seguridad

    1. Hardening de sistemas operativos, contenedores y runtimes (6.2.2)
    2. Seguridad en redes: segmentación interna, firewalls, zonas de confianza (6.2.3)
    3. Control de tráfico interno (mTLS, políticas de red, service mesh) (6.2.4)
    4. Seguridad en la nube: configuración segura de recursos gestionados (6.2.5)
    5. Escaneo de vulnerabilidades en dependencias, imágenes y artefactos (6.2.8)
    6. Delegación de permisos y roles granulares (6.3.4)
    7. Acceso just-in-time y acceso de emergencia (6.3.5)
  7. Operación en producción

    1. Escalado horizontal y vertical (8.1.9)
    2. Control de tasa y mecanismos de alivio de presión (8.1.11)
    3. Estrategias avanzadas de control de versiones y ramas (8.2.1)
    4. CI/CD en entornos reales (8.2.2)
    5. Despliegue de múltiples servicios coordinados (8.2.4)
    6. Orquestación de contenedores y planificación de cargas (8.2.5)
    7. Infraestructura como código (8.2.7)
    8. Gestión de configuración y secretos centralizados (8.2.10)
    9. Trazas distribuidas de extremo a extremo (8.3.3)
    10. Auditoría y reconstrucción de incidentes (8.3.6)
    11. Tolerancia a fallos y aislamiento (8.4.1)
    12. Control de latencia y tiempos de espera (8.4.2)
    13. Reintentos seguros (8.4.3)
    14. Protección contra sobrecarga (8.4.4)
    15. Salud del servicio y autosanación (8.4.5)
    16. Recuperación y continuidad (8.4.6)
  8. Gestión técnica

    1. Estándares internos de código y guías (9.1.6)
    2. Comunicación con producto y otros equipos (9.1.7)
    3. Planificación de iteraciones y lanzamientos (9.1.8)
    4. Cultura de documentación viva (9.1.11)
    5. Inclusión, colaboración y seguridad psicológica (9.1.12)
    6. Gestión de proyectos (9.2.1)
    7. Estimación de esfuerzo y planificación técnica (9.2.2)
    8. Gestión de releases y control de cambios (9.2.5)
    9. Comunicación transversal (producto, QA, operaciones, datos) (9.2.6)
  9. Calidad y auditoría

    1. Pruebas no funcionales (rendimiento, carga, resiliencia) (7.2.9)
    2. Métricas de calidad operacional (densidad de defectos, etc.) (7.2.6)
  10. Cumplimiento y mejora 11. Accesibilidad e inclusión en diseño y UX (10.1.7) 12. Gobernanza de software libre y colaboración abierta (10.1.8) 13. Reproducibilidad técnica y científica (10.1.10) 14. Evaluación crítica de nuevas tecnologías (10.2.1) 15. Prototipos rápidos y pruebas de concepto (10.2.2) 16. Benchmarking técnico (10.2.3) 17. Observación de tendencias tecnológicas y estado del arte (10.2.4) 18. Comunidades técnicas y proyectos abiertos (10.2.5) 19. Planes de aprendizaje continuo y formación técnica (10.2.8) 20. Métricas de entrega y flujo de trabajo (10.3.1) 21. Métricas de confiabilidad y disponibilidad (10.3.2) 22. Métricas de calidad de código (10.3.3) 23. Ciclo de retroalimentación con clientes y stakeholders (10.3.7) 24. Gestión de backlog de mejoras operativas (10.3.9)

6. Nivel 5 — Staff

  1. Datos, ML y plataformas

    1. MLOps / LLMOps: automatización del pipeline de entrenamiento y despliegue (5.5.11)
    2. SLOs y SLAs para servicios de inferencia (5.5.13)
    3. Pipelines reproducibles y declarativos (5.2.11)
    4. Optimización y perfilado de pipelines de datos (5.2.12)
    5. Pruebas de calidad de datos y contratos de datos (5.2.13)
    6. Versionado de datos y de esquemas (5.2.14)
  2. Seguridad

    1. Seguridad de la cadena de suministro de software (supply chain security) (6.2.7)
    2. Detección de escalamiento lateral interno (6.4.7)
    3. Señales tempranas de compromiso (6.4.8)
    4. Plan de respuesta a incidentes de seguridad (6.5.1)
    5. Contención, erradicación y recuperación (6.5.2)
    6. Postmortems de seguridad sin cultura de culpa (6.5.4)
    7. Cultura de seguridad: concientización y formación continua (6.6.8)
    8. Políticas internas de seguridad y uso aceptable (6.6.1)
    9. Clasificación y manejo de datos sensibles (6.6.2)
    10. Revisión periódica de riesgos y exposiciones (6.6.4)
    11. Evaluación de terceros y proveedores (6.6.5)
    12. Controles preventivos y compensatorios (6.6.6)
  3. Operación y fiabilidad

    1. SRE interno y propiedad de servicio (9.3.1)
    2. Observabilidad organizacional (9.3.2)
    3. Gestión de alertas y fatiga de alarmas (9.3.4)
    4. Ciclos de despliegue seguro (9.3.5)
    5. Gestión de entornos (dev, staging, prod) (9.3.6)
    6. Controles de cambio y auditoría operativa (9.3.7)
  4. Gestión técnica y liderazgo

    1. Gestión de deuda técnica (9.1.2)
    2. Mentoría y liderazgo técnico (9.1.3)
    3. Respuesta a incidentes en producción (9.1.4)
    4. Postmortems y análisis de causa raíz sin culpas (9.1.5)
    5. Evaluación de decisiones técnicas y trade-offs (9.1.9)
    6. Hoja de ruta técnica y visión de plataforma (9.1.10)
    7. Desarrollo profesional y mentoría técnica (9.2.7)
    8. Evaluación de desempeño técnico (9.2.8)
    9. Registro y documentación de decisiones de arquitectura (9.2.9)
    10. Presentación técnica a audiencias no técnicas (9.2.10)
    11. Cultura de ingeniería basada en aprendizaje continuo (9.2.11)
    12. Prácticas de mejora continua tras incidentes (9.2.12)
    13. Gestión de capacidad y asignación de recursos (9.2.13)
  5. Calidad, cumplimiento y mejora

    1. Auditorías de seguridad y cumplimiento normativo (7.2.4)
    2. Cumplimiento de marcos y certificaciones de la industria (7.2.11)
    3. Privacidad y manejo responsable de datos (10.1.2)
    4. Responsabilidad profesional en ingeniería de software (10.1.1)
    5. Protección de datos personales y trazabilidad de acceso (10.1.9)
    6. Comunicación honesta y responsable con stakeholders (10.1.11)
    7. Innovación responsable, segura y sostenible (10.2.10)
    8. Cultura de experimentación y “hack time” (10.2.13)
    9. Procesos de mejora continua tipo Kaizen (10.3.6)
    10. Transparencia interna y reportes ejecutivos (10.3.11)

7. Nivel 6 — Tech Lead / Arquitecto / Head of Engineering

  1. Estrategia organizacional y cumplimiento

    1. Regulaciones y marcos legales aplicables (5.6.6)
    2. Evaluación de impacto social y de riesgo operacional (5.6.10)
    3. Gobernanza del ciclo de vida completo del dato y del modelo (5.6.11)
    4. Políticas internas de aprobación y revisión humana obligatoria (5.6.12)
    5. Sostenibilidad y costo energético de cómputo en IA (5.6.14)
    6. Continuidad operativa y resiliencia ante fallos del modelo en producción (5.6.15)
    7. Requisitos regulatorios y normativos aplicables (6.6.3)
    8. Trazabilidad, reportabilidad y obligaciones de notificación (6.6.7)
    9. Cumplimiento normativo y estándares de la industria (10.1.4)
    10. Propiedad intelectual y licenciamiento de software (10.1.3)
    11. Impacto social y ambiental del software (10.1.12)
    12. Soberanía de datos y cumplimiento regional (10.1.13)
    13. Gestión responsable de IA generativa (10.1.14)
  2. Operaciones y resiliencia a nivel empresa

    1. Gestión de SLAs, SLOs y SLIs (9.3.3)
    2. Ejercicios de continuidad operacional y DRP (9.3.8)
    3. Gestión de incidentes de seguridad (9.3.9)
    4. Comunicación durante incidentes críticos (9.3.10)
    5. Madurez de procesos DevSecOps (9.3.11)
    6. Análisis forense y preservación de evidencia técnica (6.5.3)
    7. Comunicación interna y externa durante incidentes (6.5.5)
    8. Planes de continuidad operativa y recuperación de negocio (6.5.6)
    9. Gestión coordinada con legal, compliance y stakeholders críticos (6.5.7)
  3. Estrategia de talento y organización

    1. Estrategia de contratación y onboarding técnico (9.2.14)
    2. Escalamiento organizacional y delegación (9.2.15)
  4. Innovación y transferencia tecnológica

    1. Innovación responsable, segura y sostenible (10.2.10)
    2. Estrategia de patentes y divulgación científica (10.2.11)
    3. Transferencia tecnológica y escalamiento a producción (10.2.12)
    4. Health checks organizacionales y madurez técnica (10.3.8)
    5. Automatización de controles y reportabilidad (10.3.10)
    6. Preparación para auditorías externas y certificaciones (10.3.12)
    7. Auditoría de seguridad y cumplimiento (organizacional) (10.3.4)
    8. Auditoría de acceso y trazabilidad (organizacional) (10.3.5)

4 - Ruta por rol y áreas de estudio

Ruta completa para formar a un ingeniero de software en distintos roles y áreas de estudio.
  1. Área común (todas las personas técnicas deben manejar esto al nivel adecuado a su seniority)

    1. Computación y sistemas fundamentales

      1. Autómatas y modelos de cómputo (1.1)
      2. Arquitectura de computadores (1.2)
      3. Sistemas operativos: procesos, hilos, memoria, planificación (1.3)
      4. Virtualización y contenedorización (1.4)
      5. Almacenamiento distribuido y sistemas de archivos (1.5)
      6. Redes y protocolos (1.6)
      7. Modelos cliente-servidor (1.7)
      8. Modelos peer-to-peer (1.7)
      9. Consistencia y tolerancia a fallos (1.8)
      10. Algoritmos distribuidos (1.9)
      11. Computación paralela y vectorizada (1.10)
      12. Computación en la nube y edge computing (1.11)
      13. Balanceo de carga (1.12)
      14. Redes de distribución de contenido (CDN) (1.12)
      15. Modelos de escalabilidad (1.13)
    2. Práctica general de desarrollo y operación básica en ambientes reales

      1. Fundamentos de sistemas tipo Unix (2.1.1)
      2. Comandos esenciales de línea de comando (2.1.2)
      3. Gestión de paquetes y entornos del sistema (2.1.3)
      4. Servicios del sistema, tareas programadas y demonios (2.1.4)
      5. Variables de entorno y configuración (2.1.5)
      6. Supervisión de procesos y recursos (2.1.6)
      7. Redes y puertos (2.1.7)
      8. Seguridad y control de acceso del sistema (2.1.8)
      9. Automatización y scripting en la línea de comando (2.1.9)
      10. Personalización del entorno de trabajo (2.1.10)
      11. Diagnóstico de rendimiento (2.1.11)
      12. Auditoría del sistema y logs (2.1.12)
    3. Fundamentos de lenguajes de programación

      1. Lenguajes formales y gramáticas (2.2.1)
      2. Parsing y construcción de analizadores (2.2.2)
      3. Semántica del lenguaje (2.2.3)
      4. Compilación e interpretación (2.2.4)
      5. Sintaxis y estructuras básicas (2.2.5)
      6. Tipos de datos y abstracción de datos (2.2.6)
      7. Control de flujo: condicionales, bucles, manejo de ramificaciones (2.2.7)
      8. Funciones, cierres y paso de datos (2.2.8)
      9. Paradigmas funcionales (2.2.9)
      10. Programación orientada a objetos: clases, interfaces, herencia, composición (2.2.10)
      11. Organización en módulos y paquetes (2.2.11)
      12. Tipado estático y anotaciones de tipo (2.2.12)
      13. Manejo de errores y excepciones (2.2.13)
      14. Gestión estructurada de recursos: scopes y contextos controlados (2.2.14)
      15. Iteradores, generadores y secuencias consumibles (2.2.15)
      16. Metaprogramación y reflexión (2.2.16)
      17. Serialización y deserialización de estructuras (2.2.17)
      18. Estilo, convenciones y mantenibilidad del código (2.2.18)
    4. Control de versiones y colaboración

      1. Fundamentos de control de versiones distribuido (2.4.1)
      2. Estrategias de ramificación: trunk-based, release branches (2.4.2)
      3. Rebase, merge, cherry-pick y manejo de trabajo en paralelo (2.4.3)
      4. Resolución de conflictos (2.4.4)
      5. Convenciones de commits y gestión semántica de versiones (2.4.5)
      6. Versionado semántico y etiquetado de lanzamientos (2.4.6)
      7. Gestión de submódulos (2.4.7)
      8. Gestión de monorepos (2.4.7)
      9. Gestión de multi-repos (2.4.7)
      10. Hooks y automatización del flujo de trabajo (2.4.8)
      11. Integración con revisión de código e integración continua (2.4.9)
      12. Políticas de revisión y ramas protegidas (2.4.10)
      13. Auditoría del historial y trazabilidad de cambios (2.4.11)
    5. Calidad y pruebas básicas

      1. Pruebas unitarias (7.1.1)
      2. Pruebas de integración (7.1.2)
      3. Pruebas de extremo a extremo (7.1.3)
      4. Pruebas de contrato entre servicios (7.1.4)
      5. Pruebas basadas en instantáneas y estados esperados (7.1.5)
      6. Simulación de dependencias externas y uso de dobles de prueba (7.1.6)
      7. Pruebas basadas en propiedades (7.1.7)
      8. Métricas de cobertura y criterios de calidad (7.1.8)
      9. Análisis estático y linters (7.1.9)
      10. Análisis de seguridad automatizado (7.1.10)
      11. Ejecución automática de pruebas en pipelines de entrega (7.1.11)
    6. Ética y responsabilidad profesional

      1. Responsabilidad profesional en ingeniería de software (10.1.1)
      2. Privacidad y manejo responsable de datos (10.1.2)
      3. Propiedad intelectual y licenciamiento de software (10.1.3)
      4. Cumplimiento normativo y estándares de la industria (10.1.4)
      5. Sesgos algorítmicos y transparencia en sistemas automatizados (10.1.6)
      6. Accesibilidad e inclusión en diseño y experiencia de usuario (10.1.7)
      7. Protección de datos personales y trazabilidad de acceso (10.1.9)
      8. Reproducibilidad técnica y científica (10.1.10)
      9. Comunicación honesta y responsable con las partes interesadas (10.1.11)
      10. Impacto social y ambiental del software (10.1.12)
    7. Comunicación técnica y trabajo en equipo

      1. Comunicación con producto y otros equipos (9.1.7)
      2. Revisión de código efectiva y empática (9.1.1)
      3. Cultura de documentación viva (9.1.11)
      4. Inclusión, colaboración y seguridad psicológica (9.1.12)
      5. Gestión del conocimiento y rotación de contexto (9.1.13)
    8. Seguridad básica común

      1. Principales vectores de ataque en aplicaciones web (6.1.1)
      2. Criptografía práctica y hashing seguro (6.1.2)
      3. Protección contra ataques comunes en la web: inyecciones, XSS, CSRF, etc. (6.1.4)
      4. Manejo seguro de credenciales, llaves y secretos (6.1.6)
      5. Política de mínimo privilegio en componentes internos (6.1.12)
      6. Seguridad en redes: segmentación interna, firewalls, zonas de confianza (6.2.3)
      7. Privacidad de datos y minimización de uso (5.6.1)
      8. Gobernanza, trazabilidad y auditoría de datos y modelos (5.6.2)
    9. Observabilidad mínima

      1. Logging estructurado y contextualizado (8.3.1)
      2. Monitoreo del desempeño de las aplicaciones (APM) (8.3.2)
      3. Métricas personalizadas y verificaciones de salud (8.3.4)
      4. Alertas basadas en umbrales y tendencias (8.3.5)
    10. Gestión básica de incidentes

      1. Respuesta a incidentes en producción (9.1.4)
      2. Postmortems y análisis de causa raíz sin culpas (9.1.5)
      3. Comunicación durante incidentes críticos (9.3.10)
    11. Nota sobre acumulación de roles 5. Toda persona que ejerce rol de Security Engineer debe dominar el Área común completa y Seguridad (6) completa. 6. Toda persona que ejerce rol de Engineering Manager / Tech Lead / Líder Técnico debe dominar el Área común completa, más Gestión técnica (9) y Cumplimiento y mejora (10). 7. Toda persona que ejerce rol de CTO / Dirección Técnica Estratégica o Product/Platform Manager Técnico debe tener entendimiento funcional de todas las áreas, especialmente 3, 4, 5, 6, 8, 9 y 10, con foco en impacto organizacional y riesgo.

  2. Developer

    1. Otros requisitos

      1. El rol Developer incluye todo el contenido del Área común (1).
      2. También es prerequisito directo para Data Engineer / Analytics, ML / AI Engineer, y en general cualquier rol técnico especializado.
    2. Práctica del desarrollador diario

      1. Entornos aislados y gestión de dependencias (2.3.1)
      2. Control de versiones de configuraciones y datos (2.3.2)
      3. Plantillas de proyectos y generación de esqueletos de servicio (2.3.3)
      4. Ejecutores de tareas y automatización repetible: scripts, makefiles, job runners (2.3.4)
      5. Documentación viva y navegable: documentación generada y verificada automáticamente (2.3.5)
      6. Creación de herramientas de línea de comando para flujos internos (2.3.6)
      7. Integración y configuración avanzada del entorno de desarrollo: editores, IDEs (2.3.7)
      8. Perfilado y depuración interactiva (2.3.8)
      9. Chequeo estático de tipos y análisis estático (2.3.9)
      10. Formateo automático y validaciones previas al commit (2.3.10)
      11. Plantillas de integración continua y entrega continua (2.3.11)
      12. Entornos de desarrollo reproducibles y remotos (2.3.12)
    3. Diseño y arquitectura de software local / de servicio

      1. Principios de diseño orientado a mantenibilidad (3.1.1)
      2. Principios como evitar repetición innecesaria y mantener la simplicidad (3.1.2)
      3. Patrones de diseño: creacionales, estructurales y de comportamiento (3.1.3)
      4. Arquitectura en capas (3.1.4)
      5. Arquitectura limpia (3.1.5)
      6. Arquitectura hexagonal y separación de puertos/adaptadores (3.1.6)
      7. Diseño guiado por el dominio (Domain-Driven Design) (3.1.7)
      8. Monolitos modulares (3.1.8)
      9. Microservicios (3.1.8)
      10. Arquitecturas dirigidas por eventos (3.1.9)
      11. Versionado de interfaces y ciclos de vida de APIs (3.1.10)
      12. Documentación técnica orientada a desarrolladores y mantenimiento (3.1.11)
      13. Modularización y empaquetado de componentes reutilizables (3.1.12)
    4. Backend y servicios

      1. Tipos y arquitecturas web (4.1.1)
      2. Comunicación bidireccional y tiempo real: sockets y streaming (4.1.2)
      3. Middleware, interceptores y filtros (4.1.3)
      4. Validación y serialización de datos de entrada y salida (4.1.4)
      5. Autenticación y autorización a nivel de servicio (4.1.5)
      6. Limitación de tasa, paginación y control de abuso (4.1.6)
      7. Versionado de APIs (4.1.7)
      8. Especificaciones y documentación de APIs: contratos máquina-legibles (4.1.8)
    5. Bases de datos y persistencia

      1. Lenguajes de consulta estructurados (4.2.1)
      2. Modelado relacional (4.2.2)
      3. Normalización (4.2.3)
      4. Desnormalización (4.2.3)
      5. Transacciones, atomicidad y aislamiento (4.2.4)
      6. Índices, vistas y disparadores (4.2.5)
      7. Procedimientos almacenados y lógica en base de datos (4.2.6)
      8. Mapeo objeto-relacional y capas de acceso a datos (4.2.7)
      9. Migraciones estructuradas y controladas de esquema (4.2.8)
      10. Pools de conexiones y eficiencia de acceso concurrente (4.2.9)
      11. Almacenamiento no relacional (4.2.10)
      12. Motores de búsqueda y consulta de texto libre (4.2.11)
      13. Almacenamiento analítico y sistemas orientados a consultas de negocio (4.2.12)
      14. Integridad referencial y consistencia eventual (4.2.13)
    6. Integraciones y comunicación entre servicios

      1. Mensajería asíncrona y colas de mensajes (4.3.1)
      2. RPC eficiente y contratos binarios (4.3.2)
      3. Webhooks, notificaciones y callbacks externos (4.3.3)
      4. Integración con servicios de terceros (4.3.4)
      5. Estrategias de reintento y colas de mensajes muertos (4.3.5)
      6. Serialización binaria y formatos compactos (4.3.6)
      7. Arquitecturas basadas en eventos y event sourcing (4.3.7)
      8. Modelos de publicación/suscripción (4.3.8)
      9. Streaming de datos en tiempo real y captura de cambios (4.3.9)
    7. Concurrencia y rendimiento de servicios

      1. Modelos asíncronos y bucles de eventos (8.1.1)
      2. Paralelismo con hilos y procesos (8.1.2)
      3. Tareas diferidas y trabajo en segundo plano (8.1.3)
      4. Futuros, promesas y unidades de trabajo asíncronas (8.1.4)
      5. Caching en memoria y distribuido (8.1.5)
      6. Perfilado de CPU y memoria (8.1.6)
      7. Cuellos de botella de entrada/salida frente a cómputo (8.1.7)
      8. Medición de rendimiento y benchmarking (8.1.8)
      9. Estrategias de escalado horizontal y vertical (8.1.9)
      10. Colas de trabajo y orquestadores de tareas (8.1.10)
      11. Control de tasa y mecanismos de alivio de presión (8.1.11)
      12. Bloqueos, semáforos y estructuras de sincronización (8.1.12)
    8. Seguridad de aplicaciones

      1. Principales vectores de ataque en aplicaciones web (6.1.1)
      2. Criptografía práctica y hashing seguro (6.1.2)
      3. Canales seguros y certificados: cifrado en tránsito extremo a extremo (6.1.3)
      4. Protección contra ataques comunes en la web: inyecciones, XSS, CSRF, etc. (6.1.4)
      5. Autenticación y autorización: federación de identidad y single sign-on (6.1.5)
      6. Manejo seguro de credenciales, llaves y secretos (6.1.6)
      7. Seguridad en bases de datos y control de acceso a datos sensibles (6.1.7)
      8. Registro de eventos de seguridad y trazabilidad (6.1.8)
      9. Sanitización y validación de entrada (6.1.9)
      10. Modelado de amenazas y pruebas básicas de penetración (6.1.10)
      11. Gestión de sesiones y mitigación de secuestro de sesión (6.1.11)
      12. Política de mínimo privilegio en componentes internos (6.1.12)
    9. Observabilidad y confiabilidad básica en runtime

      1. Logging estructurado y contextualizado (8.3.1)
      2. Monitoreo del desempeño de las aplicaciones (APM) (8.3.2)
      3. Trazas distribuidas de extremo a extremo (8.3.3)
      4. Métricas personalizadas y verificaciones de salud (8.3.4)
      5. Alertas basadas en umbrales y tendencias (8.3.5)
      6. Auditoría y reconstrucción de incidentes (8.3.6)
    10. Procesos de ingeniería de software

      1. Requisitos de software (3.3.1)
      2. Análisis, especificación y trazabilidad de requisitos (3.3.2)
      3. Diseño de software (3.3.3)
      4. Construcción y estándares de codificación (3.3.4)
      5. Verificación y validación (3.3.5)
      6. Mantenimiento evolutivo y correctivo (3.3.6)
      7. Gestión de la configuración (3.3.7)
      8. Ingeniería de calidad de software (3.3.8)
      9. Procesos de desarrollo (3.3.9)
      10. Métricas de productividad y calidad del software (3.3.10)
      11. Herramientas de soporte al ciclo de vida del software (3.3.11)
      12. Mejora continua de procesos y madurez operativa (3.3.12)
  3. QA / QC (Quality Assurance / Control de Calidad)

    1. Estrategia y diseño de pruebas

      1. Definición de criterios de aceptación funcional y no funcional (7.2.3)
      2. Diseño de pruebas unitarias, de integración y extremo a extremo (7.1.1) (7.1.2) (7.1.3)
      3. Pruebas de contrato entre servicios (7.1.4)
      4. Pruebas basadas en instantáneas y estados esperados (7.1.5)
      5. Simulación de dependencias externas y uso de dobles de prueba (7.1.6)
      6. Pruebas basadas en propiedades (7.1.7)
      7. Pruebas de regresión y aceptación (7.2.7)
    2. Automatización y pipelines de calidad

      1. Ejecución automática de pruebas en pipelines de entrega continua (7.1.11)
      2. Integración continua y despliegue continuo (7.2.1)
      3. Control de versiones de dependencias externas y entornos reproducibles (7.2.2)
      4. Estándares de codificación y criterios de aprobación antes del release (7.2.8)
      5. Auditoría de cambios y trazabilidad de builds (2.4.11) (7.2.10)
    3. Calidad no funcional

      1. Métricas de cobertura y criterios de calidad (7.1.8)
      2. Pruebas no funcionales: rendimiento, carga, resiliencia (7.2.9)
      3. Perfilado y benchmarking de rendimiento (8.1.6) (8.1.8)
      4. Observabilidad de la aplicación para validar salud (8.3.1) (8.3.2) (8.3.4)
      5. Gestión de SLAs, SLOs y SLIs como parte de la validación de servicio (9.3.3)
    4. Seguridad y cumplimiento en el ciclo de entrega

      1. Análisis de seguridad automatizado (7.1.10)
      2. Auditorías de seguridad y cumplimiento normativo en releases (7.2.4)
      3. Validación de autenticación, autorización y manejo seguro de credenciales (6.1.5) (6.1.6)
      4. Validación de privacidad de datos, trazabilidad y acceso mínimo (10.1.2) (10.1.9)
      5. Evaluación de riesgo en cambios, especialmente en servicios críticos y datos sensibles (6.6.2) (6.6.4)
    5. Control de calidad en producción y post-lanzamiento

      1. Aseguramiento de calidad (QA) y control de calidad (QC) continuo post-despliegue (7.2.5)
      2. Métricas de calidad operacional (densidad de defectos, severidad, MTTR) (7.2.6)
      3. Monitoreo de errores y alertas tras el lanzamiento (8.3.5) (9.3.4)
      4. Evaluaciones posteriores al lanzamiento y mantenimiento preventivo (7.2.12)
      5. Participación en respuesta a incidentes y postmortems sin culpa (9.1.4) (9.1.5)
    6. Gobernanza del proceso de entrega

      1. Comunicación honesta hacia stakeholders sobre estado de calidad (10.1.11)
      2. Preparación de documentación de conformidad y trazabilidad para auditorías (7.2.10) (10.3.12)
      3. Validación de criterios de aceptación de negocio y riesgo reputacional (10.1.12) (10.1.14)
      4. Gestión de backlog de mejoras operativas de calidad (10.3.9)
    7. Nota de acumulación

      1. QA / QC requiere entendimiento práctico de Developer (2) en lo referente a testing, versionado, automatización y CI/CD.
      2. QA / QC colabora estrechamente con DevOps / SRE / Platform (3) en observabilidad, despliegue seguro y validación de resiliencia.
      3. QA / QC participa con Security Engineer (7) en validaciones de seguridad y compliance antes de liberar cambios.
      4. QA / QC alimenta a EM (8), Tech Lead (9), PM Técnico (11) y CTO (10) con métricas objetivas de calidad, riesgo y deuda operativa.
  4. DevOps / SRE / Platform

    1. Otros requisitos

      1. El rol DevOps / SRE / Platform incluye todo el Área común (1) al nivel de autonomía operativa.
      2. Además incluye toda la sección Observabilidad, Resiliencia, Operación en producción y Gestión técnica operativa (8 y 9).
      3. Este rol comparte responsabilidad directa con Security Engineer en secciones 6.2, 6.4, 6.5, 6.6.
    2. Infraestructura y operaciones

      1. Estrategias avanzadas de control de versiones y ramas (8.2.1)
      2. Integración continua / entrega continua en entornos reales (8.2.2)
      3. Contenedores y definición de entornos portables (8.2.3)
      4. Despliegue de múltiples servicios coordinados (8.2.4)
      5. Orquestación de contenedores y planificación de cargas (8.2.5)
      6. Monitoreo de infraestructura y pantallas/paneles de visualización (8.2.6)
      7. Infraestructura como código (8.2.7)
      8. Plataformas en la nube: cómputo, redes, almacenamiento (8.2.8)
      9. Almacenamiento de objetos, ejecución sin servidor, monitoreo gestionado (8.2.9)
      10. Gestión de configuración y secretos centralizados (8.2.10)
      11. Monitoreo activo y alertas operacionales (8.2.11)
      12. Optimización de costos y escalado automático (8.2.12)
    3. Arquitecturas distribuidas y microservicios

      1. Patrones de microservicios (4.4.1)
      2. Descubrimiento de servicios y enrutamiento (4.4.2)
    4. Resiliencia operativa

      1. Tolerancia a fallos y aislamiento (8.4.1)
      2. Control de latencia y tiempo de espera (8.4.2)
      3. Reintentos seguros (8.4.3)
      4. Protección contra sobrecarga (8.4.4)
      5. Salud del servicio y autosanación (8.4.5)
      6. Recuperación y continuidad (8.4.6)
    5. Monitoreo, detección y respuesta temprana

      1. Detección de comportamientos anómalos y abuso (6.4.1)
      2. Alertas de actividad sospechosa en autenticación y uso de APIs (6.4.2)
      3. Correlación de eventos de seguridad en logs centralizados (6.4.3)
      4. Protección contra fuga de datos y exfiltración (6.4.4)
      5. Trazabilidad completa de acciones de alto riesgo (6.4.5)
      6. Simulación de incidentes tipo “fire drill” (6.4.6)
      7. Detección de escalamiento lateral interno (6.4.7)
      8. Señales tempranas de compromiso en entornos críticos (6.4.8)
    6. Respuesta a incidentes y continuidad operativa

      1. Plan de respuesta a incidentes de seguridad (6.5.1)
      2. Contención, erradicación y recuperación (6.5.2)
      3. Análisis forense y preservación de evidencia técnica (6.5.3)
      4. Postmortems de seguridad sin cultura de culpa (6.5.4)
      5. Comunicación interna y externa durante incidentes (6.5.5)
      6. Planes de continuidad operativa y recuperación de negocio (6.5.6)
      7. Gestión coordinada con legal, compliance y stakeholders críticos (6.5.7)
    7. Observabilidad avanzada

      1. Monitoreo del desempeño de las aplicaciones (APM) (8.3.2)
      2. Trazas distribuidas de extremo a extremo (8.3.3)
      3. Auditoría y reconstrucción de incidentes (8.3.6)
      4. Observabilidad organizacional (9.3.2)
    8. SRE interno y propiedad de servicio

      1. SRE interno y propiedad de servicio (9.3.1)
      2. Gestión de SLAs, SLOs y SLIs (9.3.3)
      3. Gestión de alertas y fatiga de alarmas (9.3.4)
      4. Ciclos de despliegue seguro (9.3.5)
      5. Gestión de entornos: dev, staging, prod (9.3.6)
      6. Controles de cambio y auditoría operativa (9.3.7)
      7. Ejercicios de continuidad operacional y DRP (9.3.8)
      8. Gestión de incidentes de seguridad (9.3.9)
      9. Comunicación durante incidentes críticos (9.3.10)
      10. Madurez de procesos DevSecOps (9.3.11)
    9. Seguridad de infraestructura y plataforma

      1. Aislamiento entre servicios y entornos: producción, staging, desarrollo (6.2.1)
      2. Endurecimiento (hardening) de sistemas operativos, contenedores y runtimes (6.2.2)
      3. Seguridad en redes: segmentación interna, firewalls, zonas de confianza (6.2.3)
      4. Control de tráfico interno entre servicios: mTLS, políticas de red, service mesh (6.2.4)
      5. Seguridad en la nube: configuración segura de recursos gestionados (6.2.5)
      6. Protección de datos en reposo: cifrado en disco, cifrado por objeto (6.2.6)
      7. Seguridad de la cadena de suministro de software (supply chain security) (6.2.7)
      8. Escaneo de vulnerabilidades en dependencias, imágenes y artefactos (6.2.8)
      9. Gestión de parches y actualizaciones de seguridad (6.2.9)
      10. Backups seguros y recuperación ante desastres (6.2.10)
    10. Cumplimiento y riesgo organizacional (visión operativa)

      1. Políticas internas de seguridad y uso aceptable (6.6.1)
      2. Clasificación y manejo de datos sensibles (6.6.2)
      3. Requisitos regulatorios y normativos aplicables (6.6.3)
      4. Revisión periódica de riesgos y exposiciones (6.6.4)
      5. Evaluación de terceros y proveedores: riesgo de cadena de suministro (6.6.5)
      6. Controles preventivos y controles compensatorios (6.6.6)
      7. Trazabilidad, reportabilidad y obligaciones de notificación (6.6.7)
      8. Cultura de seguridad: concientización y formación continua en el equipo (6.6.8)
  5. Data Engineer / Analytics

    1. Otros requisitos

      1. El rol Data Engineer / Analytics incluye todo el Área común (1).
      2. Además requiere muchas habilidades de Developer (2), sobre todo en automatización, versionado, calidad y despliegue controlado.
      3. Este rol es prerequisito natural para ML / AI Engineer en cuanto a madurez de datos, calidad y linaje.
    2. Fundamentos de datos y análisis cuantitativo

      1. Fundamentos de estadística y probabilidad (5.1.1)
      2. Álgebra lineal y optimización básica aplicada a modelos (5.1.2)
      3. Muestreo, estimación e inferencia estadística (5.1.3)
      4. Diseño experimental y significancia estadística (5.1.4)
      5. Manipulación y transformación de datos estructurados y semiestructurados (5.1.5)
      6. Limpieza, normalización y validación de datos (5.1.6)
      7. Series temporales, agregaciones y ventanas de tiempo (5.1.7)
      8. Métricas de negocio y definición de KPI (5.1.8)
      9. Análisis exploratorio y visualización (5.1.9)
      10. Análisis causal y correlación vs causalidad (5.1.10)
      11. Segmentación, cohortes y comportamiento de usuarios (5.1.11)
      12. Analítica de producto y telemetría de uso (5.1.12)
      13. Análisis geoespacial y datos con localización (5.1.13)
      14. Análisis de riesgos, fraude y anomalías (5.1.14)
      15. Storytelling con datos y comunicación ejecutiva (5.1.15)
    3. Ingeniería de datos y plataformas de datos

      1. Modelado analítico orientado a negocio (5.2.1)
      2. Modelado dimensional (hechos y dimensiones) (5.2.2)
      3. Warehousing y lakehouses de datos (5.2.3)
      4. Catálogo de datos, linaje y descubribilidad (5.2.4)
      5. Integración con herramientas de inteligencia de negocio y tableros (5.2.5)
      6. Exposición de datos como servicio: APIs analíticas (5.2.6)
      7. Extracción, transformación y carga (ETL y ELT) (5.2.7)
      8. Procesamiento de datos en flujo continuo (streaming) (5.2.8)
      9. Procesamiento batch a gran escala (5.2.9)
      10. Orquestación de tareas y flujos de datos (5.2.10)
      11. Pipelines reproducibles y declarativos (5.2.11)
      12. Optimización y perfilado de pipelines de datos (5.2.12)
      13. Pruebas de calidad de datos y contratos de datos (5.2.13)
      14. Versionado de datos y de esquemas (5.2.14)
      15. Formatos columnar y almacenamiento orientado a análisis (5.2.15)
      16. Gobernanza de acceso a datos y control de permisos (5.2.16)
      17. Retención, archivado y ciclo de vida de los datos (5.2.17)
    4. Ciencia de datos aplicada al negocio

      1. Modelos descriptivos: qué pasó (5.3.1)
      2. Modelos de diagnóstico: por qué pasó (5.3.2)
      3. Modelos predictivos: qué va a pasar (5.3.3)
      4. Modelos prescriptivos: qué deberíamos hacer (5.3.4)
      5. Scoring y ranking: priorización de leads (5.3.5)
      6. Detección de anomalías y fraude (5.3.6)
      7. Forecasting de demanda / series temporales (5.3.7)
      8. Segmentación de usuarios y clustering (5.3.8)
      9. Recomendadores básicos: similaridad y filtrado colaborativo clásico (5.3.9)
      10. A/B testing y experimentación controlada (5.3.10)
      11. Evaluación de impacto y uplift (5.3.11)
      12. Métricas de rendimiento de modelos en negocio: precisión, recall, F1, métrica custom (5.3.12)
      13. Interpretabilidad básica para stakeholders no técnicos (5.3.13)
      14. Ciclo de entrega de insights a decisión operativa (5.3.14)
    5. Cumplimiento, ética y responsabilidad en datos

      1. Privacidad de datos y minimización de uso (5.6.1)
      2. Gobernanza, trazabilidad y auditoría de datos y modelos (5.6.2)
      3. Sesgos algorítmicos y equidad (5.6.4)
      4. Uso responsable de datos personales y datos sensibles (5.6.5)
      5. Regulaciones y marcos legales aplicables (5.6.6)
      6. Control de acceso, clasificación de datos y dominios de seguridad (5.6.7)
      7. Versionado de datasets y reproducibilidad científica (5.6.8)
      8. Ética de modelos generativos y riesgo reputacional (5.6.9)
      9. Evaluación de impacto social y de riesgo operacional (5.6.10)
      10. Gobernanza del ciclo de vida completo del dato y del modelo (5.6.11)
      11. Políticas internas de aprobación y revisión humana obligatoria (5.6.12)
      12. Transparencia frente a usuarios y stakeholders (5.6.13)
  6. ML / AI Engineer

    1. Otros requisitos

      1. El rol ML / AI Engineer incluye todo el Área común (1).
      2. Además requiere todo Developer (2), porque el ML/AI Engineer despliega servicios de inferencia reales.
      3. Además requiere todo Data Engineer / Analytics (4), porque sin calidad de datos ni linaje no hay IA operable.
      4. Este rol también comparte responsabilidades de observabilidad y despliegue con DevOps / SRE / Platform (3), especialmente 8.2, 8.3, 8.4.
    2. Aprendizaje automático clásico

      1. Fundamentos de aprendizaje supervisado y no supervisado (5.4.1)
      2. Modelos clásicos de machine learning: regresión, árboles, ensembles, boosting (5.4.2)
      3. Regularización y control de sobreajuste (5.4.3)
      4. Selección de variables y engineering de atributos (feature engineering) (5.4.4)
      5. Evaluación, validación cruzada y partición de datos (5.4.5)
      6. Balanceo de clases y tratamiento de desbalance extremo (5.4.6)
      7. Métricas de clasificación, regresión y ranking (5.4.7)
      8. Detección de outliers y ruido (5.4.8)
      9. Reducción de dimensionalidad (5.4.9)
      10. Series temporales con ML tradicional (5.4.10)
      11. AutoML y búsqueda de hiperparámetros (5.4.11)
      12. Aprendizaje semi-supervisado y débilmente supervisado (5.4.12)
      13. Aprendizaje por refuerzo: vista general conceptual (5.4.13)
    3. IA aplicada, despliegue de modelos y operación continua

      1. Redes neuronales y modelos profundos (5.5.1)
      2. Procesamiento de lenguaje natural y embeddings (5.5.2)
      3. Recuperación aumentada con contexto externo y búsqueda semántica (5.5.3)
      4. Motores de recomendación avanzados y personalización en tiempo real (5.5.4)
      5. Modelos generativos y modelos de lenguaje grandes (5.5.5)
      6. Exposición de modelos como servicios: serving e inferencia en producción (5.5.6)
      7. Integración de modelos en el flujo de negocio: automatización de decisiones, asistentes internos, scoring en línea (5.5.7)
      8. Ciclo de vida de modelos: entrenamiento, versionado, despliegue, rollback (5.5.8)
      9. Gestión de características (feature stores) (5.5.9)
      10. Monitorización de deriva y degradación de modelos (5.5.10)
      11. MLOps / LLMOps: automatización del pipeline de entrenamiento y despliegue (5.5.11)
      12. Observabilidad de modelos: latencia, throughput, costo por predicción (5.5.12)
      13. Testing de modelos en producción y validación previa al rollout (5.5.13)
      14. SLOs y SLAs para servicios de inferencia (5.5.14)
    4. Cumplimiento, ética y responsabilidad en IA

      1. Explicabilidad y justificabilidad de decisiones automatizadas (5.6.3)
      2. Sesgos algorítmicos y equidad (5.6.4)
      3. Uso responsable de datos personales y datos sensibles (5.6.5)
      4. Regulaciones y marcos legales aplicables (5.6.6)
      5. Ética de modelos generativos y riesgo reputacional (5.6.9)
      6. Evaluación de impacto social y de riesgo operacional (5.6.10)
      7. Gobernanza del ciclo de vida completo del dato y del modelo (5.6.11)
      8. Políticas internas de aprobación y revisión humana obligatoria (5.6.12)
      9. Transparencia frente a usuarios y stakeholders (5.6.13)
      10. Sostenibilidad y costo energético de cómputo en IA (5.6.14)
      11. Continuidad operativa y resiliencia ante fallos del modelo en producción (5.6.15)
  7. Arquitecto/a / Staff Engineer

    1. Otros requisitos

      1. El rol Arquitecto/a / Staff Engineer incluye todo el Área común (1).
      2. Además incluye Developer (2), DevOps / SRE / Platform (3), Data Engineer / Analytics (4) y ML / AI Engineer (5) a nivel de comprensión y diseño, aunque no necesariamente a nivel de ejecución diaria.
      3. Este rol es el primer rol explícitamente responsable de equilibrar velocidad de entrega, fiabilidad, seguridad, costo y riesgo reputacional.
    2. Diseño y arquitectura de software a nivel ecosistema

      1. Principios de diseño orientado a mantenibilidad (3.1.1)
      2. Principios como evitar repetición innecesaria y mantener la simplicidad (3.1.2)
      3. Patrones de diseño: creacionales, estructurales y de comportamiento (3.1.3)
      4. Arquitectura en capas (3.1.4)
      5. Arquitectura limpia (3.1.5)
      6. Arquitectura hexagonal y separación de puertos/adaptadores (3.1.6)
      7. Diseño guiado por el dominio (Domain-Driven Design) (3.1.7)
      8. Monolitos modulares y microservicios (3.1.8)
      9. Arquitecturas dirigidas por eventos (3.1.9)
      10. Versionado de interfaces y ciclos de vida de APIs (3.1.10)
      11. Documentación técnica orientada a desarrolladores y mantenimiento (3.1.11)
      12. Modularización y empaquetado de componentes reutilizables (3.1.12)
    3. Arquitecturas distribuidas y plataformas

      1. Modelos cliente-servidor (1.7)
      2. Modelos peer-to-peer (1.7)
      3. Consistencia y tolerancia a fallos (1.8)
      4. Algoritmos distribuidos (1.9)
      5. Computación paralela y vectorizada (1.10)
      6. Computación en la nube y edge computing (1.11)
      7. Balanceo de carga y redes de distribución de contenido (CDN) (1.12)
      8. Modelos de escalabilidad (1.13)
      9. Patrones de microservicios (4.4.1)
      10. Descubrimiento de servicios y enrutamiento (4.4.2)
      11. Infraestructura como código (8.2.7)
      12. Orquestación de contenedores y planificación de cargas (8.2.5)
    4. Procesos de ingeniería y madurez técnica

      1. Requisitos de software (3.3.1)
      2. Trazabilidad de requisitos (3.3.2)
      3. Estándares de codificación (3.3.4)
      4. Verificación y validación (3.3.5)
      5. Mantenimiento evolutivo y correctivo (3.3.6)
      6. Ingeniería de calidad de software (3.3.8)
      7. Procesos de desarrollo (3.3.9)
      8. Métricas de productividad y calidad del software (3.3.10)
      9. Herramientas de soporte al ciclo de vida del software (3.3.11)
      10. Mejora continua de procesos y madurez operativa (3.3.12)
      11. Integración continua y entrega continua en entornos reales (8.2.2)
      12. Ciclos de despliegue seguro (9.3.5)
      13. Gestión de entornos: dev, staging, prod (9.3.6)
    5. Observabilidad, fiabilidad y SRE organizacional

      1. Observabilidad organizacional (9.3.2)
      2. Gestión de SLAs, SLOs y SLIs (9.3.3)
      3. Gestión de alertas y fatiga de alarmas (9.3.4)
      4. Postmortems y análisis de causa raíz sin culpas (9.1.5)
      5. Madurez de procesos DevSecOps (9.3.11)
    6. Seguridad e infraestructura como requisito de diseño

      1. Aislamiento entre servicios y entornos (6.2.1)
      2. Endurecimiento de sistemas operativos, contenedores y runtimes (6.2.2)
      3. Control de tráfico interno entre servicios: mTLS, políticas de red, service mesh (6.2.4)
      4. Seguridad en la nube: configuración segura de recursos gestionados (6.2.5)
      5. Seguridad de la cadena de suministro de software (6.2.7)
      6. Escaneo de vulnerabilidades en dependencias, imágenes y artefactos (6.2.8)
      7. Gestión de parches y actualizaciones de seguridad (6.2.9)
    7. Gestión técnica transversal

      1. Gestión de deuda técnica (9.1.2)
      2. Mentoría y liderazgo técnico (9.1.3)
      3. Respuesta a incidentes en producción (9.1.4)
      4. Estándares internos de código y guías (9.1.6)
      5. Comunicación con producto y otros equipos (9.1.7)
      6. Planificación de iteraciones y lanzamientos (9.1.8)
      7. Evaluación de decisiones técnicas y trade-offs (9.1.9)
      8. Hoja de ruta técnica y visión de plataforma (9.1.10)
      9. Cultura de documentación viva (9.1.11)
      10. Inclusión, colaboración y seguridad psicológica (9.1.12)
      11. Gestión del conocimiento y rotación de contexto (9.1.13)
    8. Cumplimiento, riesgo y gobernanza tecnológica

      1. Cumplimiento normativo y estándares de la industria (10.1.4)
      2. Riesgos de dependencia de un único proveedor y cierre tecnológico (10.1.5)
      3. Gobernanza de software libre y colaboración abierta (10.1.8)
      4. Soberanía de datos y cumplimiento regional (10.1.13)
      5. Gestión responsable de IA generativa (10.1.14)
      6. Evaluación crítica de nuevas tecnologías (10.2.1)
      7. Medición comparativa y benchmarking técnico (10.2.3)
      8. Observación de tendencias tecnológicas y estado del arte (10.2.4)
      9. Innovación responsable, segura y sostenible (10.2.10)
  8. Security Engineer

    1. Otros requisitos

      1. Security Engineer incluye el Área común (1).
      2. También extiende DevOps / SRE / Platform (3) en temas de seguridad operativa, IAM, respuesta a incidentes, gestión de secretos y cumplimiento.
      3. Security Engineer asesora directamente a Arquitecto/a / Staff Engineer (6) y a EM / Tech Lead (8 y 9) en riesgo técnico.
    2. Seguridad de aplicaciones y servicios

      1. Principales vectores de ataque en aplicaciones web (6.1.1)
      2. Criptografía práctica y hashing seguro (6.1.2)
      3. Canales seguros y certificados: cifrado en tránsito extremo a extremo (6.1.3)
      4. Protección contra ataques comunes en la web: inyecciones, XSS, CSRF, etc. (6.1.4)
      5. Autenticación y autorización: federación de identidad y single sign-on (6.1.5)
      6. Manejo seguro de credenciales, llaves y secretos (6.1.6)
      7. Seguridad en bases de datos y control de acceso a datos sensibles (6.1.7)
      8. Registro de eventos de seguridad y trazabilidad (6.1.8)
      9. Sanitización y validación de entrada (6.1.9)
      10. Modelado de amenazas y pruebas básicas de penetración (6.1.10)
      11. Gestión de sesiones y mitigación de secuestro de sesión (6.1.11)
      12. Política de mínimo privilegio en componentes internos (6.1.12)
    3. Seguridad de infraestructura y plataforma

      1. Aislamiento entre servicios y entornos: producción, staging, desarrollo (6.2.1)
      2. Endurecimiento (hardening) de sistemas operativos, contenedores y runtimes (6.2.2)
      3. Seguridad en redes: segmentación interna, firewalls, zonas de confianza (6.2.3)
      4. Control de tráfico interno entre servicios: mTLS, políticas de red, service mesh (6.2.4)
      5. Seguridad en la nube: configuración segura de recursos gestionados (6.2.5)
      6. Protección de datos en reposo: cifrado en disco, cifrado por objeto (6.2.6)
      7. Seguridad de la cadena de suministro de software (supply chain security) (6.2.7)
      8. Escaneo de vulnerabilidades en dependencias, imágenes y artefactos (6.2.8)
      9. Gestión de parches y actualizaciones de seguridad (6.2.9)
      10. Backups seguros y recuperación ante desastres (6.2.10)
    4. Identidad, acceso y control de privilegios

      1. Gestión de identidad y acceso (IAM) (6.3.1)
      2. Autenticación multifactor (MFA) (6.3.2)
      3. Rotación periódica de credenciales y llaves (6.3.3)
      4. Delegación de permisos y roles granulares (6.3.4)
      5. Acceso just-in-time y acceso de emergencia controlado (6.3.5)
      6. Auditoría de quién accede a qué y cuándo (6.3.6)
      7. Separación de funciones críticas (segregation of duties) (6.3.7)
      8. Gobierno de cuentas de servicio y claves de API (6.3.8)
      9. Revocación y desactivación segura de accesos (6.3.9)
    5. Monitoreo, detección y respuesta temprana

      1. Detección de comportamientos anómalos y abuso (6.4.1)
      2. Alertas de actividad sospechosa en autenticación y uso de APIs (6.4.2)
      3. Correlación de eventos de seguridad en logs centralizados (6.4.3)
      4. Protección contra fuga de datos y exfiltración (6.4.4)
      5. Trazabilidad completa de acciones de alto riesgo (6.4.5)
      6. Simulación de incidentes: ejercicios tipo “fire drill” (6.4.6)
      7. Detección de escalamiento lateral interno (6.4.7)
      8. Señales tempranas de compromiso en entornos críticos (6.4.8)
    6. Respuesta a incidentes y continuidad operativa

      1. Plan de respuesta a incidentes de seguridad (6.5.1)
      2. Contención, erradicación y recuperación (6.5.2)
      3. Análisis forense y preservación de evidencia técnica (6.5.3)
      4. Postmortems de seguridad sin cultura de culpa (6.5.4)
      5. Comunicación interna y externa durante incidentes (6.5.5)
      6. Planes de continuidad operativa y recuperación de negocio (6.5.6)
      7. Gestión coordinada con legal, compliance y stakeholders críticos (6.5.7)
    7. Cumplimiento y riesgo organizacional

      1. Políticas internas de seguridad y uso aceptable (6.6.1)
      2. Clasificación y manejo de datos sensibles (6.6.2)
      3. Requisitos regulatorios y normativos aplicables (6.6.3)
      4. Revisión periódica de riesgos y exposiciones (6.6.4)
      5. Evaluación de terceros y proveedores: riesgo de cadena de suministro (6.6.5)
      6. Controles preventivos y controles compensatorios (6.6.6)
      7. Trazabilidad, reportabilidad y obligaciones de notificación (6.6.7)
      8. Cultura de seguridad: concientización y formación continua en el equipo (6.6.8)
  9. Tech Lead / Líder Técnico de Equipo

    1. Otros requisitos

      1. Tech Lead / Líder Técnico de Equipo incluye todo el Área común (1).
      2. También incluye Developer (2) en detalle, y entiende DevOps / SRE / Platform (3) para producción.
      3. Tech Lead ejecuta la visión de Arquitecto/a / Staff Engineer (6) en el contexto del equipo.
      4. Tech Lead comparte responsabilidad de madurez operativa con EM (8), pero con manos más adentro del código.
    2. Liderazgo técnico directo en la implementación

      1. Estándares internos de código y guías (9.1.6)
      2. Revisión de código efectiva y empática (9.1.1)
      3. Mentoría y liderazgo técnico (9.1.3)
      4. Gestión de deuda técnica (9.1.2)
      5. Planificación de iteraciones y lanzamientos (9.1.8)
      6. Evaluación de decisiones técnicas y trade-offs (9.1.9)
      7. Hoja de ruta técnica y visión de plataforma (9.1.10)
      8. Cultura de documentación viva (9.1.11)
    3. Calidad, fiabilidad y seguridad técnica en el equipo

      1. Aseguramiento de calidad y control de calidad (7.2.5)
      2. Métricas de calidad operacional: densidad de defectos (7.2.6)
      3. Pruebas de aceptación y regresión (7.2.7)
      4. Pruebas no funcionales: rendimiento, carga, resiliencia (7.2.9)
      5. Documentación de calidad y trazabilidad (7.2.10)
      6. Auditorías de seguridad y cumplimiento normativo (7.2.4)
      7. Observabilidad organizacional (9.3.2)
      8. Gestión de SLAs, SLOs y SLIs (9.3.3)
      9. Gestión de alertas y fatiga de alarmas (9.3.4)
      10. Comunicación durante incidentes críticos (9.3.10)
    4. Operación y soporte de producción

      1. Respuesta a incidentes en producción (9.1.4)
      2. Postmortems y análisis de causa raíz sin culpas (9.1.5)
      3. Ciclos de despliegue seguro (9.3.5)
      4. Gestión de entornos: dev, staging, prod (9.3.6)
      5. Controles de cambio y auditoría operativa (9.3.7)
    5. Relación con EM / Arquitecto / Seguridad

      1. Comunicación con producto y otros equipos (9.1.7)
      2. Inclusión, colaboración y seguridad psicológica (9.1.12)
      3. Gestión del conocimiento y rotación de contexto (9.1.13)
      4. Gestión de incidentes de seguridad (9.3.9)
      5. Cumplimiento normativo y estándares de la industria (10.1.4)
      6. Manejo responsable de datos y privacidad (10.1.2)
      7. Sesgos algorítmicos y transparencia en sistemas automatizados (10.1.6)
  10. Engineering Manager (EM)

    1. Otros requisitos

      1. EM incluye la parte humana, operativa y de madurez de todo lo anterior.
      2. EM debe comprender Developer (2), DevOps / SRE / Platform (3), Seguridad (7) y Arquitectura (6) lo suficiente para priorizar trabajo, riesgos y trade-offs.
      3. EM comparte terreno con Product/Platform Manager Técnico (10) en priorización y con Tech Lead (9) en estándares técnicos.
    2. Gestión técnica y cultura de equipo

      1. Revisión de código efectiva y empática (9.1.1)
      2. Gestión de deuda técnica (9.1.2)
      3. Mentoría y liderazgo técnico (9.1.3)
      4. Respuesta a incidentes en producción (9.1.4)
      5. Postmortems y análisis de causa raíz sin culpas (9.1.5)
      6. Estándares internos de código y guías (9.1.6)
      7. Comunicación con producto y otros equipos (9.1.7)
      8. Planificación de iteraciones y lanzamientos (9.1.8)
      9. Evaluación de decisiones técnicas y trade-offs (9.1.9)
      10. Hoja de ruta técnica y visión de plataforma (9.1.10)
      11. Cultura de documentación viva (9.1.11)
      12. Inclusión, colaboración y seguridad psicológica (9.1.12)
      13. Gestión del conocimiento y rotación de contexto (9.1.13)
    3. Procesos, madurez y fiabilidad operativa

      1. Observabilidad organizacional (9.3.2)
      2. Gestión de SLAs, SLOs y SLIs (9.3.3)
      3. Gestión de alertas y fatiga de alarmas (9.3.4)
      4. Ciclos de despliegue seguro (9.3.5)
      5. Gestión de entornos: dev, staging, prod (9.3.6)
      6. Controles de cambio y auditoría operativa (9.3.7)
      7. Ejercicios de continuidad operacional y DRP (9.3.8)
      8. Gestión de incidentes de seguridad (9.3.9)
      9. Comunicación durante incidentes críticos (9.3.10)
      10. Madurez de procesos DevSecOps (9.3.11)
    4. Cumplimiento y mejora continua

      1. Integración continua y despliegue continuo (7.2.1)
      2. Control de versiones de dependencias externas (7.2.2)
      3. Revisión de código estructurada y guías internas (7.2.3)
      4. Auditorías de seguridad y cumplimiento normativo (7.2.4)
      5. Aseguramiento de calidad (QA) y control de calidad (QC) (7.2.5)
      6. Métricas de calidad operacional: densidad de defectos (7.2.6)
      7. Pruebas de aceptación y regresión (7.2.7)
      8. Estándares de codificación y criterios de aprobación (7.2.8)
      9. Pruebas no funcionales: rendimiento, carga, resiliencia (7.2.9)
      10. Documentación de calidad y trazabilidad (7.2.10)
      11. Cumplimiento de marcos y certificaciones de la industria (7.2.11)
      12. Evaluaciones posteriores al lanzamiento y mantenimiento preventivo (7.2.12)
    5. Cumplimiento ético y responsabilidad

      1. Responsabilidad profesional en ingeniería de software (10.1.1)
      2. Privacidad y manejo responsable de datos (10.1.2)
      3. Propiedad intelectual y licenciamiento de software (10.1.3)
      4. Cumplimiento normativo y estándares de la industria (10.1.4)
      5. Sesgos algorítmicos y transparencia en sistemas automatizados (10.1.6)
      6. Accesibilidad e inclusión en diseño y experiencia de usuario (10.1.7)
      7. Comunicación honesta y responsable con las partes interesadas (10.1.11)
      8. Impacto social y ambiental del software (10.1.12)
      9. Soberanía de datos y cumplimiento regional (10.1.13)
      10. Gestión responsable de IA generativa (10.1.14)
  11. Product / Platform Manager Técnico

    1. Otros requisitos

      1. Product / Platform Manager Técnico debe entender Developer (2), DevOps / SRE / Platform (3) y Arquitectura (6) al nivel suficiente para priorizar, justificar inversión y negociar deuda técnica vs features.
      2. Comparte territorio con CTO (10) en comunicación ejecutiva, riesgo reputacional, cumplimiento y sostenibilidad.
      3. Es puente entre negocio y operación continua, responsable de bajar estrategia a ejecución sin romper compliance ni SLOs.
    2. Priorización técnica alineada a valor de negocio

      1. Planificación de iteraciones y lanzamientos (9.1.8)
      2. Evaluación de decisiones técnicas y trade-offs (9.1.9)
      3. Hoja de ruta técnica y visión de plataforma (9.1.10)
      4. Ciclos de despliegue seguro (9.3.5)
      5. Gestión de entornos: dev, staging, prod (9.3.6)
      6. Controles de cambio y auditoría operativa (9.3.7)
      7. Métricas de entrega y flujo de trabajo (10.3.1)
      8. Métricas de confiabilidad y disponibilidad (10.3.2)
      9. Métricas de calidad de código (10.3.3)
    3. Gobierno de plataforma y madurez de servicios internos

      1. Observabilidad organizacional (9.3.2)
      2. Gestión de SLAs, SLOs y SLIs (9.3.3)
      3. Gestión de alertas y fatiga de alarmas (9.3.4)
      4. Gestión de incidentes de seguridad (9.3.9)
      5. Comunicación durante incidentes críticos (9.3.10)
      6. Madurez de procesos DevSecOps (9.3.11)
      7. Gestión de capacidad y asignación de recursos (9.2.13)
      8. Escalamiento organizacional y delegación (9.2.15)
    4. Cumplimiento, riesgo y relación con stakeholders

      1. Cumplimiento normativo y estándares de la industria (10.1.4)
      2. Riesgos de dependencia de un único proveedor y cierre tecnológico (10.1.5)
      3. Protección de datos personales y trazabilidad de acceso (10.1.9)
      4. Comunicación honesta y responsable con las partes interesadas (10.1.11)
      5. Impacto social y ambiental del software (10.1.12)
      6. Soberanía de datos y cumplimiento regional (10.1.13)
      7. Gestión responsable de IA generativa (10.1.14)
      8. Transparencia interna y reportes ejecutivos (10.3.11)
    5. Mejora continua y escalamiento sostenible

      1. Procesos de mejora continua tipo Kaizen (10.3.6)
      2. Ciclo de retroalimentación con clientes y stakeholders (10.3.7)
      3. Gestión de backlog de mejoras operativas (10.3.9)
      4. Automatización de controles y reportabilidad (10.3.10)
      5. Preparación para auditorías externas y certificaciones (10.3.12)
      6. Cultura interna de experimentación y hack time (10.2.13)
      7. Planes de aprendizaje continuo y formación técnica (10.2.8)
  12. CTO / Dirección Técnica Estratégica

    1. Otros requisitos

      1. CTO / Dirección Técnica Estratégica incluye comprensión global de todas las áreas técnicas (1 a 8), más Gestión técnica (9) y Cumplimiento y mejora (10).
      2. También incorpora estrategia, cultura y riesgo reputacional a nivel compañía.
      3. Este rol requiere lenguaje hacia negocio, riesgo legal, stakeholders externos y sustentabilidad a largo plazo.
    2. Dirección técnica y estrategia de plataforma

      1. Hoja de ruta técnica y visión de plataforma (9.1.10)
      2. Evaluación de decisiones técnicas y trade-offs (9.1.9)
      3. Observación de tendencias tecnológicas y estado del arte (10.2.4)
      4. Evaluación crítica de nuevas tecnologías (10.2.1)
      5. Prototipos rápidos y pruebas de concepto (10.2.2)
      6. Medición comparativa y benchmarking técnico (10.2.3)
      7. Innovación responsable, segura y sostenible (10.2.10)
      8. Estrategia de patentes y divulgación científica (10.2.11)
      9. Transferencia tecnológica y escalamiento a producción (10.2.12)
    3. Riesgo, compliance y reputación técnica de la organización

      1. Cumplimiento normativo y estándares de la industria (10.1.4)
      2. Riesgos de dependencia de un único proveedor y cierre tecnológico (10.1.5)
      3. Sesgos algorítmicos y transparencia en sistemas automatizados (10.1.6)
      4. Gobernanza de software libre y colaboración abierta (10.1.8)
      5. Protección de datos personales y trazabilidad de acceso (10.1.9)
      6. Comunicación honesta y responsable con las partes interesadas (10.1.11)
      7. Impacto social y ambiental del software (10.1.12)
      8. Soberanía de datos y cumplimiento regional (10.1.13)
      9. Gestión responsable de IA generativa (10.1.14)
      10. Transparencia interna y reportes ejecutivos (10.3.11)
      11. Preparación para auditorías externas y certificaciones (10.3.12)
    4. Excelencia operacional a escala

      1. Observabilidad organizacional (9.3.2)
      2. Gestión de SLAs, SLOs y SLIs (9.3.3)
      3. Gestión de alertas y fatiga de alarmas (9.3.4)
      4. Madurez de procesos DevSecOps (9.3.11)
      5. Gestión de incidentes de seguridad (9.3.9)
      6. Comunicación durante incidentes críticos (9.3.10)
      7. Estrategia de contratación y onboarding técnico (9.2.14)
      8. Escalamiento organizacional y delegación (9.2.15)
      9. Gestión de capacidad y asignación de recursos (9.2.13)
    5. Cultura técnica y sostenibilidad organizacional

      1. Inclusión, colaboración y seguridad psicológica (9.1.12)
      2. Cultura de documentación viva (9.1.11)
      3. Cultura interna de experimentación y hack time (10.2.13)
      4. Planes de aprendizaje continuo y formación técnica (10.2.8)
      5. Participación en comunidades técnicas y proyectos abiertos (10.2.5)
      6. Diseño centrado en el usuario para resolver problemas reales (10.2.7)
      7. Ciclo de retroalimentación con clientes y stakeholders (10.3.7)
      8. Health checks organizacionales y madurez técnica (10.3.8)
    6. Métricas y auditoría ejecutiva

      1. Métricas de entrega y flujo de trabajo (10.3.1)
      2. Métricas de confiabilidad y disponibilidad (10.3.2)
      3. Métricas de calidad de código (10.3.3)
      4. Auditoría de seguridad y cumplimiento (10.3.4)
      5. Auditoría de acceso y trazabilidad (10.3.5)
      6. Procesos de mejora continua tipo Kaizen (10.3.6)
      7. Gestión de backlog de mejoras operativas (10.3.9)
      8. Automatización de controles y reportabilidad (10.3.10)
      9. Transparencia interna y reportes ejecutivos (10.3.11)
      10. Preparación para auditorías externas y certificaciones (10.3.12)

Tabla resumen de roles y áreas de conocimiento

Leyenda

SímboloSignificado
Experto
Necesario básico
Opcional
No requerido
#ÁreaDeveloperQA / QCDevOps / SRE / PlatformData Engineer / AnalyticsML / AI EngineerArq / Staff EngSecurity EngTech LeadEngineering ManagerPM Técnico PlataformaCTO / Dirección Técnica
1Fundamentos de computación, SO, redes (arquitectura HW, SO, redes, dist., nube, escalabilidad)
2Linux / operación del sistema / automatización shell
3Lenguajes de programación y diseño de código (tipos, funciones, OOP, estilos, manejo de errores)
4Control de versiones y colaboración (ramas, merge, rebase, trazabilidad)
5Herramientas de desarrollo, entornos reproducibles, CI/CD básica
6Arquitectura de software y diseño (DDD, hexagonal, microservicios, eventos, modularización)
7Backend / APIs / servicios / integración entre servicios (auth, rate limiting, contratos, mensajería)
8Bases de datos y persistencia (modelo relacional/no relacional, transacciones, migraciones, pools)
9Concurrencia, rendimiento y escalabilidad (async, threads, colas, caching, benchmarking)
10Observabilidad, logging, métricas y trazas distribuidas
11Operación en producción / despliegue / contenedores / IaC / nube / orquestación
12Resiliencia, tolerancia a fallos, continuidad operativa, SRE, SLAs/SLOs
13Seguridad de aplicaciones y servicios (OWASP, authn/authz, secretos, validación de entrada)
14Seguridad de infraestructura, IAM, monitoreo de abuso, respuesta a incidentes
15Ingeniería de datos y plataforma de datos (ETL/ELT, orquestación, linaje, catálogos, contratos de datos)
16Análisis cuantitativo / analítica de producto / BI / storytelling con datos
17Ciencia de datos aplicada al negocio (modelos descriptivos/predictivos, A/B testing, impacto)
18Machine Learning / Deep Learning / MLOps (serving, feature stores, deriva, rollback de modelos)
19Ética, privacidad y cumplimiento en datos e IA (sesgos, trazabilidad, soberanía de datos, regulación)
20Procesos de ingeniería, calidad y testing (QA, CI/CD, cobertura, seguridad, estándares de codificación)
21Gestión técnica de equipo, mentoría, cultura, postmortems sin culpa
22Gestión operativa de plataforma, DevSecOps, gobernanza operativa, gestión de incidentes
23Estrategia tecnológica, arquitectura global, riesgo proveedor, innovación, roadmap técnico
24Producto, priorización, stakeholders, compliance organizacional, reporting ejecutivo

5 - Estructura de la guía

6 - Computación y sistemas

  1. Computación y sistemas
    1. Autómatas y modelos de cómputo
      1. Máquinas de Turing
        1. Modelo formal y funcionamiento básico
        2. Determinismo vs no determinismo
        3. Máquinas multicinta y variantes extendidas
        4. Máquina de Turing universal y auto-interpretación
        5. Máquinas con oráculo y relativización
        6. Alternancia y ramificación de estados
        7. Modelos cuánticos de Turing
        8. Complejidad de tiempo y espacio asociada
        9. Codificación de lenguajes de decisión y verificación
        10. Límites de decidibilidad y no computabilidad
      2. Autómatas finitos deterministas y no deterministas (DFA / NFA)
        1. Definición formal de DFA / NFA
        2. Transiciones ε y no determinismo
        3. Conversión NFA → DFA
        4. Minimización de autómatas
        5. Equivalencia con expresiones regulares
        6. Propiedades de cierre de lenguajes regulares
        7. Autómatas probabilísticos
        8. Autómatas alternantes
        9. Decidibilidad de pertenencia y vacuidad
        10. Limitaciones de memoria y poder expresivo
      3. Autómatas con pila (PDA) y lenguajes libres de contexto
        1. PDA deterministas vs no deterministas
        2. Lenguajes libres de contexto y gramáticas asociadas
        3. Forma normal de Chomsky y transformaciones
        4. Ambigüedad en gramáticas y lenguajes ambiguos
        5. Parsing descendente (LL) y ascendente (LR)
        6. Autómatas de pila vacía vs aceptación por estado final
        7. Propiedades de cierre de lenguajes libres de contexto
        8. Árboles sintácticos y derivaciones
        9. Limitaciones frente a lenguajes sensibles al contexto
        10. Aplicaciones en análisis sintáctico de lenguajes de programación
      4. Gramáticas formales y jerarquía de Chomsky
        1. Gramáticas regulares (tipo 3)
        2. Gramáticas libres de contexto (tipo 2)
        3. Gramáticas sensibles al contexto (tipo 1)
        4. Gramáticas recursivamente enumerables (tipo 0)
        5. Gramáticas lineales izquierdas y derechas
        6. Gramáticas atribuidas y semántica asociada
        7. Gramáticas dependientes del contexto
        8. Poder expresivo por nivel de la jerarquía
        9. Relación con modelos de cómputo equivalentes
        10. Uso práctico en lenguajes formales y compiladores
      5. Computabilidad y decidibilidad
        1. Funciones recursivas primitivas y generales
        2. Problema de la parada y su indecidibilidad
        3. Lenguajes recursivos y recursivamente enumerables
        4. Grados de Turing y reducción de dificultad
        5. Teoremas de indecidibilidad (Rice y variantes)
        6. Reducciones many-one y Turing
        7. Problemas parcialmente decidibles
        8. Demostraciones por reducción
        9. Barreras fundamentales de automatización
        10. Clases de problemas sin solución algorítmica
      6. Complejidad computacional
        1. Clases P, NP y co-NP
        2. PSPACE y NPSPACE
        3. EXP y NEXP
        4. Jerarquía polinómica (PH)
        5. #P y complejidad de conteo
        6. Complejidad en tiempo vs complejidad en espacio
        7. Relaciones abiertas (P vs NP, etc.)
        8. Complejidad de aproximación
        9. Complejidad parametrizada y FPT
        10. Clases de complejidad para verificación probabilística
      7. Reducciones y completitud
        1. Reducciones en tiempo polinomial
        2. Problemas NP-completos
        3. Problemas PSPACE-completos
        4. Reducciones logspace y clases L / NL
        5. Reducciones de parsimonia y conteo
        6. Problemas canónicos (SAT, 3-SAT, CLIQUE, VERTEX-COVER)
        7. Hardness bajo distintos modelos de cómputo
        8. Uso de reducciones para demostrar imposibilidad
        9. Reducciones entre problemas de optimización
        10. Impacto de completitud en diseño de algoritmos prácticos
      8. Computación aproximada y aleatorizada
        1. Clases probabilísticas (BPP, RP, co-RP, ZPP)
        2. Esquemas de aproximación PTAS / FPTAS
        3. Reducciones de aproximación
        4. Dificultad de aproximar (PCP y hardness)
        5. Algoritmos Monte Carlo
        6. Algoritmos Las Vegas
        7. Randomización para romper simetrías
        8. Métodos probabilísticos para optimización
        9. Amplificación de probabilidad de éxito
        10. Modelos de complejidad aleatorizada vs determinista
      9. Lógica y especificación formal de cómputo
        1. Lógica proposicional y satisfacibilidad (SAT)
        2. Lógica de primer orden y cuantificación
        3. Lógicas temporales (LTL / CTL / CTL*)
        4. Verificación formal y model checking
        5. Lógica de Hoare y razonamiento sobre programas
        6. Tipos dependientes y corrección por construcción
        7. Solvers SMT y automatización de pruebas
        8. Especificación formal de propiedades del sistema
        9. Pruebas asistidas vs pruebas automáticas
        10. Garantías de seguridad y ausencia de clases de error
      10. Computación cuántica como modelo alternativo
        1. Qubits, superposición y medición
        2. Puertas unitarias y circuitos cuánticos
        3. Entrelazamiento y no localidad
        4. Algoritmo de Shor (factoreo)
        5. Algoritmo de Grover (búsqueda acelerada)
        6. Clase BQP y capacidad de cómputo cuántico
        7. Computación cuántica adiabática
        8. Corrección de errores cuánticos
        9. Limitaciones físicas y ruido en hardware cuántico
        10. Comparación con modelos clásicos y límites prácticos
      11. Límites físicos del cómputo
        1. Termodinámica de la información y límite de Landauer
        2. Computación reversible
        3. Límites teóricos de velocidad (cota de Bremermann)
        4. Restricciones relativistas y causalidad
        5. Computación analógica
        6. Modelos hipercomputacionales
        7. Costos energéticos del cómputo masivo
        8. Estabilidad y errores físicos
        9. Límites de miniaturización y escala atómica
        10. Cómputo cercano a memoria y cómputo in-memory
    2. Arquitectura de computadores
      1. Modelos de arquitectura (von Neumann, Harvard)
        1. Arquitectura von Neumann clásica
        2. Arquitectura Harvard y separación de datos/instrucciones
        3. Harvard modificada en procesadores modernos
        4. Arquitecturas basadas en flujo de datos
        5. Arquitecturas orientadas a pila
        6. Máquinas orientadas a registros
        7. Arquitecturas VLIW (instrucciones muy largas)
        8. Arquitecturas vectoriales / SIMD
        9. Arquitecturas orientadas a transacciones
        10. Arquitecturas reconfigurables y especializadas
      2. CPU y microarquitectura
        1. Unidad de control (cableada vs microprogramada)
        2. ALU y FPU
        3. Pipeline y segmentación en etapas
        4. Ejecución fuera de orden
        5. Emisión múltiple y diseños superscalar
        6. Predicción de saltos y especulación
        7. Renombrado de registros y eliminación de dependencias
        8. Reordenamiento de instrucciones (ROB y buffers)
        9. Caché de micro-operaciones y front-end del procesador
        10. Hyper-Threading / SMT y paralelismo interno
        11. Unidades vectoriales / SIMD dedicadas
        12. Separación entre front-end y back-end
      3. Jerarquía de memoria
        1. Registros arquitectónicos y físicos
        2. Caché L1 de datos e instrucciones
        3. Caché L2 privada por núcleo
        4. Caché L3 compartida multinúcleo
        5. Políticas de reemplazo (LRU, pseudo-LRU, FIFO)
        6. Políticas de escritura (write-through / write-back)
        7. Memoria principal DRAM / DDR
        8. Memoria de alto ancho de banda (HBM)
        9. Memoria persistente rápida (NVRAM / PMem)
        10. Memoria virtual y TLB
        11. Paging, segmentación y protección
        12. NUMA y afinidad de memoria
      4. Conjuntos de instrucciones (ISA)
        1. CISC (por ejemplo, x86 / x86-64)
        2. RISC (por ejemplo, ARM / RISC-V)
        3. ISAs reducidas embebidas (microcontroladores)
        4. VLIW e instrucciones empaquetadas
        5. Extensiones SIMD y vectoriales (SSE, AVX, NEON, SVE)
        6. Extensiones orientadas a IA / matrices (AMX, Tensor ops)
        7. Instrucciones atómicas y sincronización
        8. Modos privilegiados y separación user/kernel
        9. Conjuntos de instrucciones comprimidas
        10. Extensiones criptográficas hardware (AES, SHA)
      5. Paralelismo a nivel de instrucción
        1. Pipelining básico y profundo
        2. Superscalar y emisión múltiple
        3. Algoritmo de Tomasulo y scheduling dinámico
        4. Ejecución especulativa segura
        5. Predicación y ejecución condicional
        6. VLIW e ILP explícito
        7. Desenrollado de bucles (loop unrolling)
        8. Software pipelining
        9. Fusión de instrucciones y macro-op fusion
        10. Limitaciones físicas y de seguridad del ILP
      6. Arquitecturas multinúcleo y multiprocesador
        1. SMP (multiprocesamiento simétrico)
        2. CMP homogéneo multinúcleo
        3. Heterogeneous / big.LITTLE
        4. Manycore y paralelismo masivo
        5. Paralelismo estilo GPU
        6. NUMA y acceso no uniforme a memoria
        7. Directorios de coherencia distribuidos
        8. Protocolos de coherencia (MESI / MOESI / MESIF)
        9. Interconexiones cache-snoop
        10. Virtualización asistida por hardware multinúcleo
      7. Aceleradores de propósito específico
        1. GPU (paralelismo SIMT)
        2. TPU / NPU / aceleradores de inferencia
        3. DSP para señal y audio
        4. FPGA reconfigurable
        5. ASIC dedicados a tareas fijas
        6. Aceleradores criptográficos
        7. Aceleradores de red (offload cifrado / compresión)
        8. Codificadores / decodificadores multimedia
        9. Offload de almacenamiento y descarga de CPU
        10. SmartNIC / DPU para plano de datos
      8. Interconexiones y buses del sistema
        1. Buses tradicionales (FSB)
        2. Controladores de memoria integrados
        3. PCI Express y extensiones
        4. Interconexiones punto a punto (QPI, UPI, Infinity Fabric)
        5. Redes en chip (NoC)
        6. Topologías en chip (malla, anillo, crossbar, árbol gordo)
        7. Latencia vs ancho de banda en interconexión
        8. Coherencia de caché sobre el bus/interconexión
        9. Interconexiones ópticas / fotónicas emergentes
        10. Escalabilidad en sistemas multinodo / multiprocesador
      9. Entrada / Salida (I/O) y controladores
        1. Controladores DMA y acceso directo a memoria
        2. Controladores de almacenamiento (SATA, NVMe)
        3. Controladores de red (NIC tradicionales y SmartNIC)
        4. Buses periféricos (USB, Thunderbolt)
        5. Controladoras PCIe raíz y bridges
        6. Mapeo de memoria de E/S (MMIO)
        7. E/S programada (PIO) vs E/S basada en interrupciones
        8. Interrupciones y control de IRQ
        9. APIC / LAPIC / IOAPIC
        10. MSI / MSI-X y señales avanzadas
      10. Gestión de energía y rendimiento térmico
        1. Escalado dinámico de voltaje y frecuencia (DVFS)
        2. Apagado/bloqueo de unidades (power gating / clock gating)
        3. Thermal throttling y control térmico
        4. Presupuesto de potencia (TDP / power budget)
        5. Sensores térmicos en chip
        6. Balance térmico entre núcleos
        7. Estados de ahorro de energía (C / P / S states)
        8. Escalamiento adaptativo según carga
        9. Políticas de firmware / BIOS
        10. Diseño térmico y disipación física
    3. Sistemas operativos (procesos, hilos, memoria, planificación)
      1. Diseño del núcleo (kernel)
        1. Kernel monolítico
        2. Microkernel
        3. Kernel híbrido y variaciones mixtas
        4. Exokernel y mínimo privilegio
        5. Núcleo modular con carga dinámica
        6. Control de interrupciones y manejo de excepciones
        7. Servicios del kernel vs servicios en espacio usuario
        8. Interfaces estables (ABI/driver ABI)
        9. Separación de privilegios y modos de ejecución
        10. Evolución del kernel y compatibilidad binaria
      2. Procesos
        1. Creación y terminación de procesos
        2. Estados clásicos (ready / running / blocked / zombie)
        3. Espacio de direcciones y aislamiento
        4. PCB (Process Control Block) y metadatos
        5. Carga y enlace de ejecutables
        6. Señales y manejo de señales
        7. fork / exec / wait y herencia de contexto
        8. Prioridad, niceness y política de scheduling
        9. Límites de recursos y cuotas
        10. Control de credenciales e identidad de proceso
      3. Hilos (threads)
        1. Hilos de usuario vs hilos del kernel
        2. Modelos 1:1, M:1 y M:N
        3. Cambio de contexto entre hilos
        4. Almacenamiento local de hilo (TLS)
        5. Pools de hilos y reutilización
        6. Fibers y corutinas ligeras
        7. Afinidad de CPU y pinning
        8. Planificación a nivel de hilo en SMT/Hyper-Threading
        9. Sincronización entre hilos en espacio compartido
        10. Costos de concurrencia masiva
      4. Planificación (CPU scheduling)
        1. Planificación cooperativa vs preventiva
        2. Round Robin y reparto justo
        3. Planificación por prioridad fija
        4. Multi-level feedback queue (MLFQ)
        5. Completely Fair Scheduler (CFS) y equivalentes
        6. Scheduling con deadlines y tiempo real
        7. Afinidad de CPU y balance de carga
        8. Inversión de prioridad y herencia de prioridad
        9. Latencia de despacho y quantum
        10. Políticas específicas para servidores y baja latencia
      5. Gestión de memoria
        1. Espacios de direcciones virtuales aislados
        2. Paginación por demanda
        3. Tablas de páginas multinivel
        4. TLB y fallos de TLB
        5. Swapping y memoria secundaria
        6. Copy-on-write y compartición eficiente
        7. ASLR (Address Space Layout Randomization)
        8. Huge pages / superpages
        9. Archivos mapeados a memoria (mmap)
        10. Reclamación de páginas y políticas de reemplazo
        11. Gestión de memoria NUMA-aware
        12. Protección contra ejecución y regiones marcadas NX
      6. Sincronización y concurrencia
        1. Mutexes y locks básicos
        2. Semáforos y contadores
        3. Monitores y variables de condición
        4. Secciones críticas y exclusión mutua
        5. Barreras de sincronización
        6. Spinlocks y locks activos
        7. Read-Copy-Update (RCU)
        8. Operaciones atómicas (CAS / LL-SC)
        9. Deadlock, livelock y starvation
        10. Técnicas lock-free y wait-free
      7. Comunicación entre procesos (IPC)
        1. Pipes y FIFOs
        2. Sockets locales / de red
        3. Memoria compartida
        4. Señales y notificaciones
        5. Colas de mensajes
        6. RPC / gRPC local
        7. Llamadas al kernel asincrónicas
        8. Serialización y marshalling de datos
        9. Sincronización de acceso compartido
        10. Seguridad y control de permisos en IPC
      8. Sistema de archivos y VFS (Virtual File System)
        1. Inodos, metadatos y descriptores
        2. Árbol jerárquico de directorios
        3. Sistemas con journaling y consistencia tras fallos
        4. Sistemas copy-on-write (ZFS, btrfs)
        5. Montaje, namespaces y espacios aislados
        6. Page cache y buffer cache
        7. Bloqueo y concurrencia en archivos
        8. Permisos POSIX y ACLs extendidas
        9. Sistemas de archivos distribuidos / en red
        10. FUSE y sistemas en espacio de usuario
      9. Gestión de E/S y controladores
        1. Controladores en kernel vs user-space
        2. Manejo de interrupciones y IRQ
        3. DMA y transferencia directa a memoria
        4. Operaciones bloqueantes vs no bloqueantes
        5. Polling, select, epoll, kqueue
        6. io_uring y E/S asincrónica moderna
        7. Planificadores de disco y prioridad de I/O
        8. Buffering y caché de E/S
        9. Hotplug y reconocimiento dinámico de hardware
        10. Gestión avanzada de dispositivos de red y almacenamiento
      10. Seguridad y aislamiento
        1. Modos usuario / kernel y privilegios
        2. Permisos de archivo y control de acceso
        3. Gestión de usuarios, grupos y credenciales
        4. Sandboxing (seccomp, pledge, capsicum)
        5. Namespaces y cgroups para aislamiento
        6. Control de acceso obligatorio (SELinux, AppArmor)
        7. Protección contra ejecución (NX / DEP)
        8. Aislamiento de memoria entre procesos
        9. KPTI y mitigaciones de fuga de kernel
        10. Verificación de binarios firmados
      11. Syscalls y modos de ejecución
        1. Entrada al kernel (syscall/sysenter/trap)
        2. ABI de llamadas al sistema
        3. Transición user space → kernel space
        4. Emulación y compatibilidad de syscalls
        5. Llamadas bloqueantes vs no bloqueantes
        6. Virtualización / contenedorización de syscalls
        7. Capa libc / runtime como envoltorio
        8. Costos y latencia de cambio de modo
        9. Trazabilidad de llamadas al sistema
        10. Seguridad y filtrado de syscalls sensibles
      12. Contabilidad, monitoreo y métricas
        1. Estadísticas de CPU, memoria y E/S por proceso
        2. Contadores de rendimiento (perf, PMU)
        3. Trazas de kernel (ftrace, eBPF)
        4. Auditoría de seguridad y eventos críticos
        5. Control de recursos con cgroups y cuotas
        6. Telemetría de syscalls y perfiles de uso
        7. Registro centralizado de eventos del kernel
        8. Cuotas de disco, CPU y memoria
        9. Observabilidad en tiempo real para diagnóstico
        10. Perfilado continuo y análisis postmortem
    4. Virtualización y contenedorización
      1. Conceptos de virtualización
        1. Virtualización completa de hardware
        2. Paravirtualización y reducción de overhead
        3. Aceleración por hardware (VT-x, AMD-V)
        4. Emulación completa de plataforma
        5. Unikernels y sistemas especializados mínimos
        6. Virtualización anidada (nested virtualization)
        7. Sandboxing reforzado por software
        8. MicroVM y entornos ultraligeros
        9. Aislamiento de recursos y seguridad por capa
        10. Trade-offs entre flexibilidad, overhead y densidad
      2. Hipervisores
        1. Hipervisor tipo 1 (bare metal)
        2. Hipervisor tipo 2 (hosted)
        3. KVM y virtualización en Linux
        4. Xen y separación dominio huésped/control
        5. VMware ESXi y virtualización empresarial
        6. Hyper-V y entornos Windows
        7. QEMU y emulación completa
        8. Device passthrough (VFIO, SR-IOV)
        9. virtio y drivers paravirtualizados
        10. Gestión de dispositivos virtualizados y hotplug
      3. Virtualización de hardware vs virtualización a nivel de SO
        1. Máquinas virtuales completas (guest OS completo)
        2. Contenedores aislados por kernel compartido
        3. Jail / chroot y aislamiento básico
        4. Zones / LDOMs y particiones lógicas
        5. MicroVMs (Firecracker, etc.)
        6. Sandboxing por usuario / proceso restringido
        7. Aislamiento de namespaces
        8. Aislamiento de cgroups y cuotas
        9. Seguridad reforzada por política obligatoria
        10. Costos de overhead y densidad por tipo
      4. Contenedores
        1. Runtimes de contenedor (Docker, containerd, CRI-O)
        2. Estándares OCI y compatibilidad de runtimes
        3. Contenedores rootless y minimización de privilegios
        4. Pods y agrupación de contenedores
        5. Volúmenes, mounts y persistencia de estado
        6. Patrones sidecar y contenedores auxiliares
        7. Inyección de configuración y secretos
        8. Versionado y despliegue inmutable
        9. Políticas de recursos por contenedor
        10. Reuso de imágenes base comunes
      5. Namespaces y cgroups
        1. Namespaces de PID
        2. Namespaces de red
        3. Namespaces de montaje
        4. Namespaces UTS / hostname
        5. Namespaces IPC
        6. Namespaces de usuario (user namespace)
        7. cgroups v1 y control jerárquico
        8. cgroups v2 unificado
        9. Límites de CPU / memoria / I/O por grupo
        10. Priorización y fair sharing de recursos
      6. Construcción y gestión de imágenes
        1. Dockerfile y builds multi-stage
        2. Capas (layers) y union filesystems (overlayfs)
        3. Imágenes inmutables y reproducibles
        4. Imágenes distroless y superficie mínima
        5. Firmas, atestación e integridad de imágenes
        6. Registries / repositorios privados y públicos
        7. SBOM y supply chain security
        8. Versionado y etiquetado (tags / digests)
        9. Reducción de tamaño y ataque de superficie
        10. Gestión de dependencias base comunes entre servicios
      7. Redes virtuales y SDN (Software-Defined Networking)
        1. Puentes virtuales y switches de software
        2. NAT, port forwarding y conectividad externa
        3. Redes overlay (VXLAN, GRE, Geneve)
        4. Open vSwitch y switching programable
        5. CNI (Container Network Interface) y plugins
        6. Service mesh y control L7
        7. Balanceadores L4 / L7 internos
        8. Políticas de red (network policies)
        9. Control de ingress / egress
        10. Segmentación multi-tenant y aislamiento de tráfico
      8. Orquestación de contenedores
        1. Kubernetes y el plano de control
        2. Scheduler de pods y asignación de nodos
        3. Recursos declarativos (Deployment, StatefulSet, DaemonSet, Job, CronJob)
        4. Services, load balancing interno y DNS del cluster
        5. ConfigMaps, Secrets y configuración dinámica
        6. Autoscaling horizontal y vertical
        7. Operators / CRD y extensibilidad
        8. Afinidad, tolerations y taints
        9. Separación control plane vs data plane
        10. Actualizaciones rolling, canary y rollback seguro
      9. Seguridad y aislamiento multi-tenant
        1. seccomp y filtrado de syscalls
        2. SELinux / AppArmor y control mandatorio
        3. Linux capabilities y privilegios mínimos
        4. Runtimes rootless y espacios de usuario aislados
        5. Admission controllers y enforcement de políticas
        6. gVisor / Kata Containers y sandbox por VM ligera
        7. Firmas y validación criptográfica de imágenes
        8. Prevención y detección de escapes de contenedor
        9. Políticas de red por tenant / namespace
        10. Confidential computing y aislamiento por hardware
      10. Observabilidad y debugging en entornos virtualizados
        1. Recolección centralizada de logs de contenedores
        2. Métricas de recursos (CPU, memoria, I/O, red)
        3. Trazas distribuidas entre servicios
        4. eBPF para inspección ligera del kernel
        5. Profiling continuo de rendimiento (perf, pprof)
        6. Contenedores de debug / inspección efímera
        7. Port forwarding y acceso introspectivo
        8. Health checks (liveness / readiness / startup)
        9. Observación de eventos del scheduler / runtime
        10. Auditoría de syscalls, cambios de política y seguridad
    5. Almacenamiento distribuido y sistemas de archivos
      1. Modelos de almacenamiento
        1. Almacenamiento local directo (DAS)
        2. Almacenamiento en red de archivos (NAS)
        3. Almacenamiento en red de bloques (SAN)
        4. Almacenamiento distribuido a escala horizontal
        5. Almacenamiento definido por software (SDS)
        6. Jerarquía por temperatura (caliente / tibio / frío)
        7. Almacenamiento inmutable y WORM
        8. Volúmenes persistentes vs efímeros
        9. Almacenamiento replicado por disponibilidad
        10. Políticas de retención y ciclo de vida de datos
      2. Sistemas de archivos locales
        1. Sistemas extendidos tipo EXT
        2. XFS y alto rendimiento secuencial
        3. Btrfs y copy-on-write
        4. ZFS y verificación de integridad
        5. NTFS y ecosistema Windows
        6. APFS y optimización en dispositivos modernos
        7. Cuotas y límites por usuario/grupo
        8. Atributos extendidos y metadatos enriquecidos
        9. Instantáneas locales (snapshots)
        10. Tolerancia a fallos y autocorrección
      3. Sistemas de archivos distribuidos
        1. NFS y compartición en red tradicional
        2. SMB/CIFS y entornos mixtos
        3. CephFS y almacenamiento distribuido unificado
        4. Lustre y alto rendimiento HPC
        5. GlusterFS y escalamiento horizontal
        6. HDFS y procesamiento batch de datos masivos
        7. Sistemas paralelos orientados a throughput
        8. Montaje remoto con caching local
        9. Consistencia entre cliente y servidor
        10. Control de concurrencia distribuida
      4. Almacenamiento en bloques, archivos y objetos
        1. Bloques virtuales y volúmenes asignables (LUN)
        2. Sistemas tipo archivo con semántica POSIX
        3. Almacenamiento de objetos tipo S3
        4. Direccionamiento por bloque / ruta / ID de objeto
        5. Versionado y retención de objetos
        6. Snapshots y clones rápidos
        7. Thin provisioning y asignación diferida
        8. Deduplicación y compresión
        9. Cifrado en reposo y control de llaves
        10. Replicación transparente entre ubicaciones
      5. Replicación y durabilidad
        1. Replicación síncrona entre nodos
        2. Replicación asíncrona geográfica
        3. Factor de replicación configurable
        4. Erasure coding y tolerancia a fallos
        5. Tolerancia a fallos de disco / nodo / rack / zona
        6. Procesos de reparación y anti-entropy
        7. Políticas de colocación de datos por dominio de fallo
        8. Quorum de escritura / lectura
        9. Objetivos de durabilidad y retención (RPO/RTO)
        10. Balance entre durabilidad y latencia
      6. Particionado y sharding
        1. Sharding estático vs dinámico
        2. Hashing consistente para distribución estable
        3. Rebalanceo de shards en línea
        4. Particionado por rango / tiempo / clave
        5. Directorios de metadatos vs enrutamiento implícito
        6. Localidad de datos vs distribución uniforme
        7. Hotspots y desbalance de carga
        8. Tolerancia a crecimiento desigual
        9. Aislamiento de shards por tenant / cliente
        10. Reasignación tras fallos o expansiones
      7. Consistencia y coherencia
        1. Consistencia fuerte
        2. Consistencia eventual
        3. Consistencia causal y orden parcial
        4. Linearizabilidad y garantías estrictas
        5. Serializabilidad y equivalencia a ejecución secuencial
        6. Coherencia de caché entre réplicas
        7. Protocolos de invalidación vs actualización
        8. Lecturas repetibles y snapshot isolation
        9. Lecturas sucias y control de visibilidad
        10. Políticas configurables por operación (read/write quorum)
      8. Metadatos y consenso
        1. Nodos dedicados a metadatos
        2. Mapas globales de bloques / inodos distribuidos
        3. Lock managers y exclusión distribuida
        4. Elección de líder y mantenimiento de autoridad
        5. Protocolos de consenso (Raft, Paxos)
        6. Relojes lógicos y vector clocks
        7. Namespaces globales consistentes
        8. Journaling y registro de cambios de metadatos
        9. Prevención de split-brain
        10. Recuperación coordinada tras fallos de metadatos
      9. Recuperación ante fallos y journaling
        1. Write-ahead logging (WAL)
        2. Journaling de datos vs solo metadatos
        3. Snapshots y checkpoints consistentes
        4. Rollback / roll-forward tras corte
        5. Reconstrucción de nodos o discos caídos
        6. Replicación geográfica para recuperación de desastres
        7. Detección y resolución de split-brain
        8. Scrubbing e integridad de datos
        9. Rehidratación de volúmenes en nuevos nodos
        10. Pruebas periódicas de restauración
      10. Caching y jerarquización de almacenamiento (tiering)
        1. Caché en cliente y lectura local rápida
        2. Caché en servidor / nodo de borde
        3. Jerarquía RAM / NVMe / SSD / HDD frío
        4. Políticas write-back vs write-through
        5. Prefetch y read-ahead adaptativo
        6. Tiering automático por patrón de acceso
        7. Tiers nearline / archive / cold storage
        8. Coherencia de caché distribuida
        9. Reducción de latencia percibida por cliente
        10. Optimización de costo por GB útil
      11. Rendimiento y latencia en I/O
        1. Latencia vs throughput como métricas clave
        2. IOPS, colas de E/S y profundidad de cola
        3. Alineamiento y tamaño de bloque óptimo
        4. Paralelismo de colas (multiqueue)
        5. Balanceo de carga entre nodos de datos
        6. Amortización de escrituras aleatorias
        7. Compactación y reescritura log-structured
        8. Costos de fsync / flush en persistencia
        9. Minimización del jitter de latencia
        10. Optimización para workloads secuenciales vs aleatorios
    6. Redes y protocolos
      1. Fundamentos de redes (modelo OSI y TCP/IP)
        1. Modelos de referencia y capas
          1. Modelo OSI (físico, enlace, red, transporte, sesión, presentación, aplicación)
          2. Modelo TCP/IP (enlace, internet, transporte, aplicación)
          3. Encapsulación y desencapsulación
          4. Unidades de datos por capa (tramas, paquetes, segmentos)
          5. MTU y fragmentación
          6. RFC, estandarización y gobernanza de protocolos
          7. Interoperabilidad entre capas y modularidad
          8. Separación de plano de control y plano de datos
          9. Dominio de broadcast vs dominio de colisión
          10. Latencia, throughput y pérdida de paquetes como métricas clave
      2. Direccionamiento y ruteo
        1. Direcciones y encaminamiento de red
          1. Direccionamiento IPv4 y notación CIDR
          2. Direccionamiento IPv6 y espacio extendido
          3. Subnetting y VLSM
          4. NAT y PAT (traducción y multiplexación de direcciones)
          5. DHCP y asignación dinámica
          6. Resolución de direcciones (ARP / NDP)
          7. Ruteo estático
          8. Ruteo dinámico (RIP, OSPF, IS-IS, BGP)
          9. ECMP (Equal-Cost Multi-Path)
          10. Anycast / unicast / multicast / broadcast
          11. MPLS y encaminamiento basado en etiquetas
      3. Capa de enlace de datos
        1. Enlace local y acceso al medio
          1. Ethernet (cableado y conmutado)
          2. CSMA/CD y control de colisión
          3. VLAN (802.1Q) y segmentación lógica de capa 2
          4. Trunking y etiquetado de VLAN
          5. STP / RSTP / MSTP para evitar bucles
          6. PPP / HDLC y enlaces punto a punto
          7. Redes punto a punto vs redes broadcast
          8. Control de flujo a nivel de enlace (PAUSE frames)
          9. Agregación de enlaces (LACP / bonding)
          10. Seguridad a nivel de puerto (port security / 802.1X)
      4. Capa de red
        1. Encaminamiento y entrega entre redes
          1. IP (IPv4 / IPv6) y direccionamiento lógico
          2. ICMP / ICMPv6 para diagnóstico y control
          3. Ruteadores y tablas de ruteo
          4. TTL / Hop Limit y prevención de loops
          5. Fragmentación y reensamblado de paquetes
          6. QoS a nivel IP (DSCP / ToS)
          7. Túneles (GRE, IP-in-IP)
          8. NAT traversal y penetración de firewalls
          9. Forwarding y filtrado en capa 3
          10. Seguridad básica en capa de red (filtros L3)
      5. Capa de transporte
        1. Entrega extremo a extremo confiable o no confiable
          1. TCP y control orientado a conexión
          2. UDP y transporte liviano sin conexión
          3. Multiplexación por puertos lógicos
          4. Establecimiento de conexión (3-way handshake)
          5. Control de flujo basado en ventana
          6. Retransmisión, ACKs y confiabilidad
          7. Segmentación y reordenamiento
          8. Chequeo de integridad (checksums)
          9. Conexiones persistentes y keepalive
          10. Control de congestión acoplado al transporte
      6. Capa de aplicación
        1. Protocolos de aplicación y servicios de alto nivel
          1. DNS y resolución de nombres
          2. HTTP/1.1 y modelo request/response
          3. HTTP/2 y multiplexación de streams
          4. HTTP/3 y transporte sobre QUIC
          5. TLS y cifrado extremo a extremo
          6. SMTP / IMAP / POP3 para correo
          7. gRPC y contratos binarios sobre HTTP/2
          8. WebSockets y comunicación persistente
          9. NTP y sincronización horaria
          10. DHCP como servicio de configuración de red
      7. Control de congestión y calidad de servicio (QoS)
        1. Gestión del tráfico y priorización
          1. Algoritmos de congestión TCP (Reno, Cubic, BBR)
          2. Shaping vs policing de tráfico
          3. Clasificación y marcado (DSCP / CoS)
          4. Programación de colas (PQ, WFQ, DRR)
          5. RED / ECN y señalización temprana de congestión
          6. Rate limiting por flujo / cliente / clase
          7. Priorización de tráfico de baja latencia / tiempo real
          8. SLA y colas dedicadas por clase de servicio
          9. Control adaptativo de buffer (bufferbloat mitigation)
          10. Telemetría de congestión para ajuste dinámico
      8. Seguridad de red
        1. Protección de infraestructura y datos en tránsito
          1. Firewalls (stateful / stateless)
          2. Listas de control de acceso (ACL)
          3. TLS / mTLS y cifrado punto a punto
          4. IPsec (AH / ESP) y túneles seguros
          5. VPN de capa 2 / capa 3
          6. Segmentación de red y microsegmentación
          7. IDS / IPS (detección y prevención de intrusiones)
          8. Zero Trust y autenticación continua
          9. Protección contra spoofing / hijacking / MITM
          10. Filtrado egress / ingress y control de salida
      9. Redes definidas por software (SDN) y virtualización de red
        1. Redes programables y control centralizado
          1. Separación de plano de control y plano de datos
          2. OpenFlow y control de forwarding
          3. Controladores SDN centralizados
          4. vSwitch (por ejemplo, Open vSwitch)
          5. Encapsulación VXLAN / NVGRE / Geneve
          6. SDN en data centers y nubes privadas
          7. Service function chaining y service insertion
          8. NFV (Network Function Virtualization)
          9. Overlays L2/L3 virtualizados a gran escala
          10. Políticas declarativas de red y seguridad como código
      10. Observabilidad y troubleshooting de red
      11. Monitoreo, diagnóstico y análisis
        1. Ping / traceroute / mtr y rastreo de saltos
        2. Captura de paquetes (tcpdump, Wireshark)
        3. Inspección de sockets y puertos abiertos (netstat / ss / lsof -i)
        4. Telemetría de red (SNMP / NetFlow / sFlow)
        5. Métricas de interfaz (errores, drops, colisiones)
        6. Latencia, jitter y pérdida de paquetes
        7. Monitoreo activo vs pasivo
        8. Logs de firewall / IDS / balanceador
        9. Mapas de topología y dependencias de servicio
        10. Alertas tempranas y correlación de incidentes
      12. Redes de baja latencia
      13. Optimización extrema de la ruta de datos
        1. Bypass del stack del kernel (DPDK, RDMA)
        2. Jumbo frames y tuning de MTU
        3. Interrupt coalescing y reducción de interrupciones
        4. Afinidad de IRQ / pinning de colas de NIC
        5. NIC offloading (checksum offload, TSO, LRO)
        6. User-space networking y polling dedicado
        7. Fibra óptica y enlaces directos de baja latencia
        8. Rutas determinísticas y controladas (private peering)
        9. Minimización de colas intermedias (buffer tuning)
        10. Sincronización temporal precisa entre nodos críticos
      14. SDN (Software Defined Networking)
      15. Control lógico central de la red
        1. Control centralizado del ruteo
        2. APIs programables de red
        3. Network slicing y segmentación lógica
        4. Reconfiguración dinámica de paths
        5. Políticas de seguridad declarativas y auditables
        6. Topologías virtuales multi-tenant
        7. Automatización de balanceo y failover
        8. Integración con orquestadores (Kubernetes / NFV MANO)
        9. Telemetría en tiempo real para optimización
        10. Ajuste de QoS bajo demanda por aplicación o flujo
      16. Redes distribuidas
      17. Topologías sin punto único de control
        1. Redes peer-to-peer (P2P)
        2. Protocolos de gossip / difusión epidémica
        3. Consistencia eventual en difusión de estado
        4. Overlays estructurados (DHT)
        5. Overlays no estructurados (flooding / random walk)
        6. Ruteo en malla y multi-hop cooperativo
        7. Federaciones y dominios autónomos
        8. Redes de borde / edge computing distribuido
        9. CDNs y proximidad de contenido
        10. Mitigación de particiones y enlaces inestables
      18. Redes tolerantes a fallo / entornos hostiles
      19. Redes resilientes en condiciones adversas
        1. Ruteo tolerante a disrupciones (DTN)
        2. Almacenamiento intermedio store-and-forward
        3. Redes con enlaces intermitentes / alta latencia
        4. Protocolos oportunistas y entrega demorada
        5. Replicación redundante agresiva
        6. Tolerancia a particiones y reconexiones parciales
        7. Multipath routing resiliente
        8. Enlaces satelitales / RF / ad-hoc
        9. Autoconfiguración sin infraestructura fija
        10. Seguridad robusta frente a nodos no confiables
      20. Transporte moderno
      21. Evolución de transporte confiable y seguro
        1. QUIC y transporte cifrado sobre UDP
        2. HTTP/3 sobre QUIC
        3. Multipath TCP (MPTCP)
        4. SCTP y multistreaming
        5. Cero retorno inicial (0-RTT / Zero-RTT)
        6. Control de congestión consciente de latencia (BBR)
        7. Offload criptográfico en el transporte
        8. Conexiones persistentes multiplexadas
        9. Migración de conexión entre interfaces/redes
        10. Priorización de flujos dentro de una misma conexión
    7. Modelos cliente-servidor y peer-to-peer
      1. Arquitectura cliente-servidor tradicional
        1. Componentes clásicos y despliegos básicos
          1. Cliente delgado vs cliente grueso
          2. Servidor monolítico centralizado
          3. Separación front-end / back-end
          4. Balanceadores de carga al frente del servidor
          5. Escalamiento vertical vs escalamiento horizontal
          6. Manejo de sesiones y autenticación en servidor
          7. Arquitecturas multi-tier (presentación / lógica / datos)
          8. Caching frontal (reverse proxy)
          9. Alta disponibilidad con réplicas activas
          10. Persistencia centralizada de estado
      2. Stateless vs stateful
        1. Manejo de estado entre solicitudes
          1. Sesiones persistentes en memoria del servidor
          2. Sticky sessions y afinidad con instancia
          3. Almacenamiento externo de sesión (cache distribuida / KV store)
          4. Idempotencia y repetición segura de llamadas
          5. Tolerancia a reinicios y rotación de instancias
          6. Persistencia de contexto en el cliente (tokens firmados)
          7. Cookies / JWT como transporte de sesión
          8. Escalabilidad horizontal de servicios stateless
          9. Consistencia del estado compartido entre nodos
          10. Migración gradual desde stateful a stateless
      3. Microservicios y servicios desacoplados
        1. Diseño por dominio y despliegue independiente
          1. Servicios independientes con límites claros de responsabilidad
          2. API Gateway como fachada unificada
          3. Autenticación y cifrado mutuo (mTLS entre servicios)
          4. Service mesh para routing y seguridad
          5. Circuit breakers y tolerancia a fallos internos
          6. Despliegue independiente por servicio / equipo
          7. Observabilidad por servicio (tracing distribuido)
          8. Contratos explícitos (OpenAPI / protobuf)
          9. Bases de datos separadas por servicio
          10. Versionado independiente de cada servicio
      4. Comunicación síncrona vs asíncrona
        1. Patrones de intercambio de mensajes
          1. Request/response HTTP tradicional
          2. gRPC síncrono y contratos binarios
          3. RPC binario propietario
          4. Mensajería asíncrona basada en colas
          5. Event-driven y event sourcing
          6. Streaming bidireccional y tiempo real
          7. Retries con backoff exponencial
          8. Timeouts y cancelación propagada
          9. Garantías de entrega at-least-once / exactly-once
          10. Encapsulación de fallos entre servicios lentos
      5. Pub/Sub y colas de mensajes
        1. Comunicación desacoplada y entrega confiable
          1. Colas persistentes
          2. Topics con múltiples suscriptores
          3. Garantías de entrega (at-least-once / at-most-once / exactly-once)
          4. Particionamiento de topics y escalabilidad horizontal
          5. Orden de mensajes dentro de una partición
          6. Retención histórica y replay de eventos
          7. Backpressure y control de consumo
          8. Dead-letter queues para mensajes tóxicos
          9. Priorización de flujos críticos
          10. Aislamiento por tenant o por tipo de mensaje
      6. Peer-to-peer
        1. Redes distribuidas sin autoridad central
          1. Redes sin servidor central
          2. Tablas hash distribuidas (DHT)
          3. Descubrimiento inicial (bootstrap peers)
          4. NAT traversal y hole punching
          5. Gossip / difusión epidémica
          6. Replicación distribuida de datos entre nodos pares
          7. Incentivos y reputación entre nodos
          8. Consistencia eventual y reconciliación
          9. Privacidad y anonimización en P2P
          10. Resistencia a censura y particiones
      7. Coordinación y descubrimiento de servicios
        1. Mecanismos para ubicar y mantener servicios disponibles
          1. Registro de servicios (service registry)
          2. Heartbeats y health checks
          3. Descubrimiento basado en DNS
          4. Descubrimiento mediante sidecar / agente local
          5. Elección de líder y roles dinámicos (líder / seguidor)
          6. Bloqueos distribuidos y exclusión mutua
          7. Configuración distribuida dinámica
          8. Versionado de configuración y rollout gradual
          9. Relojes lógicos y control de versiones
          10. Reconfiguración automática tras fallos
      8. Patrones de resiliencia
        1. Estrategias para resistir fallos parciales
          1. Circuit breaker
          2. Bulkhead isolation (aislar recursos)
          3. Timeouts y reintentos controlados
          4. Fallbacks y degradación elegante (graceful degradation)
          5. Rate limiting y protección contra sobrecarga
          6. Autoescalado reactivo según presión
          7. Canary releases y blue-green deployments
          8. Chaos testing / fault injection
          9. Retries idempotentes y deduplicación
          10. Telemetría temprana para rollback rápido
      9. Versionado y compatibilidad de interfaces
        1. Evolución segura de contratos y APIs
          1. Versionado de API (v1, v2, etc.)
          2. Compatibilidad retroactiva (backward compatibility)
          3. Compatibilidad hacia adelante (forward compatibility)
          4. Evolución de esquemas y contratos de datos
          5. Feature flags y toggles de comportamiento
          6. Deprecación gradual y ventanas de retirada
          7. Negociación de contenido (content negotiation)
          8. Escritura y lectura dual (dual write / dual read)
          9. Canales beta / pre-release para clientes selectos
          10. Sincronización de cambios entre frontend y backend
    8. Consistencia y tolerancia a fallos
      1. Teorema CAP y trade-offs
        1. Propiedades y límites en sistemas distribuidos
          1. Consistency (coherencia vista única de datos)
          2. Availability (respuesta sin error)
          3. Partition tolerance (sobrevivir a particiones)
          4. CA vs CP vs AP como decisiones de diseño
          5. Impacto de las particiones de red en disponibilidad
          6. Sistemas orientados a disponibilidad alta
          7. Sistemas orientados a coherencia estricta
          8. Trade-offs operacionales vs trade-offs teóricos
          9. Interpretación práctica de CAP en nubes reales
          10. Relación con PACELC (latencia vs consistencia)
      2. Modelos de consistencia
        1. Garantías de visibilidad y orden de actualizaciones
          1. Consistencia fuerte
          2. Consistencia eventual
          3. Consistencia causal
          4. Read-your-writes
          5. Monotonic reads / monotonic writes
          6. Linearizabilidad
          7. Consistencia secuencial (sequential consistency)
          8. Snapshot isolation
          9. Serializabilidad
          10. Sesgo regional / lectura local preferente
      3. Relojes y ordenamiento de eventos
        1. Tiempo y causalidad en sistemas distribuidos
          1. Relojes físicos
          2. Relojes lógicos (Lamport clocks)
          3. Vector clocks y orden parcial
          4. Versionado multiversión (MVCC)
          5. Orden total vs orden parcial de eventos
          6. Causalidad y relación happens-before
          7. Skew y drift de reloj físico
          8. Sincronización de tiempo distribuida (NTP/PTP)
          9. Marcas de tiempo lógicas en almacenamiento distribuido
          10. Resolución de conflictos basados en timestamp
      4. Consenso y replicación
        1. Acordar un estado consistente entre múltiples nodos
          1. Replicación primaria-secundaria (líder-seguidor)
          2. Replicación multi-líder (multi-master)
          3. Replicación sin líder (gossip / eventual)
          4. Raft (consenso con log replicado)
          5. Paxos (consenso tolerante a fallos de nodo)
          6. Quórums de lectura / escritura
          7. Write-ahead log (WAL) y replay
          8. Consistencia de metadatos críticos
          9. Reelección de líder y continuidad de servicio
          10. Propagación de confirmaciones y commit distribuido
      5. Alta disponibilidad y failover
        1. Diseño para continuidad operativa
          1. Failover automático vs failover manual
          2. Redundancia activa-activa
          3. Redundancia activa-pasiva
          4. Balanceo de carga con health checks
          5. Replicación geográfica y multi-región
          6. Zonas de disponibilidad y dominios de fallo
          7. Circuit breakers y corte selectivo de dependencia
          8. Degradación controlada de funcionalidades
          9. Escalamiento automático ante degradación
          10. Ejercicios de DR (disaster recovery) programados
      6. Tolerancia a fallos bizantinos
        1. Sobrevivir a nodos maliciosos o arbitrarios
          1. Modelo bizantino vs modelo crash-stop
          2. Replicación tolerante a fallos bizantinos (BFT)
          3. PBFT y variantes de consenso bizantino
          4. Firmas criptográficas y autenticación de mensajes
          5. Quórums bizantinos
          6. Canales autenticados y cifrados
          7. Detección de nodos maliciosos / desviantes
          8. Reconfiguración dinámica bajo adversarios
          9. Costo computacional y de latencia del BFT
          10. Casos de uso críticos (finanzas, control de infraestructura)
      7. Estrategias de recuperación
        1. Volver a un estado sano después de un fallo
          1. Retries con backoff exponencial
          2. Idempotencia en reintentos
          3. Reproducción de logs (replay de operaciones)
          4. Snapshots y checkpoints periódicos
          5. Rollback y roll-forward coordinado
          6. Re-sincronización de réplicas atrasadas
          7. Reconciliación de estados divergentes
          8. Autocuración / self-healing
          9. Alertas automáticas y escalamiento humano
          10. Pruebas y simulacros de recuperación planificada
      8. Diseño de sistemas idempotentes
        1. Operaciones repetibles sin efectos no deseados
          1. Operaciones sin efectos secundarios repetidos
          2. Identificadores únicos de operación (request ID)
          3. Exactly-once vs at-least-once como garantía práctica
          4. Procesamiento transaccional distribuido
          5. Acciones compensatorias (compensating actions)
          6. Mensajería con deduplicación
          7. Semántica write-once
          8. Estados conmutativos y CRDTs
          9. Event sourcing con replay seguro
          10. Auditoría y trazabilidad de cada mutación
    9. Algoritmos distribuidos
      1. Modelos de comunicación
        1. Sistema síncrono
        2. Sistema asincrónico
        3. Sistema parcialmente síncrono
        4. Canales confiables vs no confiables
        5. Canales FIFO vs no-FIFO
        6. Paso de mensajes vs memoria compartida distribuida
        7. Fallos por parada (crash failures)
        8. Fallos arbitrarios / bizantinos
      2. Difusión y broadcast
        1. Broadcast básico
        2. Reliable broadcast
        3. FIFO broadcast
        4. Causal broadcast
        5. Total order broadcast
        6. Gossip / epidemical broadcast
        7. Árboles de difusión (spanning trees)
        8. Flooding y supresión de duplicados
      3. Elección de líder
        1. Bully algorithm
        2. Algoritmo en anillo
        3. Elección basada en temporizadores
        4. Elección basada en prioridad / UID
        5. Reelección ante fallo del líder
        6. Elección en redes parcialmente conectadas
        7. Elección estable vs elección oportunista
      4. Sincronización de relojes
        1. Cristian’s algorithm
        2. Berkeley algorithm
        3. NTP distribuido
        4. Relojes lógicos de Lamport
        5. Vector clocks
        6. Relojes híbridos físico-lógicos (HLC)
        7. Sincronización bajo latencia variable
        8. Estimación y corrección de skew y drift
      5. Exclusión mutua distribuida
        1. Token ring
        2. Lamport mutual exclusion (mensajes con timestamp)
        3. Ricart-Agrawala
        4. Centralizado con coordinador
        5. Jerárquico / árbol de control
        6. Exclusión mutua con semánticas de quorum
        7. Exclusión mutua en sistemas tolerantes a fallos
      6. Consenso y commit distribuido
        1. Two-Phase Commit (2PC)
        2. Three-Phase Commit (3PC)
        3. Paxos
        4. Raft
        5. Zab
        6. Quórums de lectura/escritura
        7. Atomic broadcast y consenso
        8. Linearizabilidad mediante consenso
      7. Detección de fallos
        1. Detectores de fallos perfectos vs sospechosos
        2. Heartbeats
        3. Timeouts adaptativos
        4. Failure suspicion / accrual failure detectors
        5. Marcar nodo como lento vs caído
        6. Detección distribuida de particiones de red
        7. Reintegración de nodos recuperados
      8. Toma de snapshots globales
        1. Algoritmo de Chandy-Lamport
        2. Snapshots consistentes vs inconsistentes
        3. Marcadores (markers) y canales de comunicación
        4. Estado local vs estado de canal
        5. Recolección de snapshots para recuperación
        6. Snapshots periódicos vs bajo demanda
        7. Checkpoint coordinado vs no coordinado
      9. Hashing consistente y particionamiento de carga
        1. Hashing consistente básico
        2. Anillo de nodos
        3. Réplicas virtuales
        4. Rebalanceo incremental
        5. Evitar hotspots
        6. Rendezvous hashing
        7. Particionamiento por rango vs hashing
        8. Afinidad de datos y locality-aware routing
      10. Algoritmos tolerantes a bizantinos
        1. Modelo bizantino (fallos arbitrarios)
        2. Replicación bizantina (BFT)
        3. PBFT (Practical Byzantine Fault Tolerance)
        4. Quórums bizantinos
        5. Acuerdos bizantinos con firmas digitales
        6. Resistencia a nodos maliciosos / deshonestos
        7. Consenso bizantino parcialmente síncrono
        8. Detección y exclusión de nodos corruptos
    10. Computación paralela y vectorizada
      1. Modelos de paralelismo
        1. Modelo Flynn (SISD / SIMD / MISD / MIMD)
        2. Paralelismo de nivel de instrucción
        3. Paralelismo de datos
        4. Paralelismo de tareas
        5. Paralelismo pipeline
        6. Paralelismo masivo (massively parallel)
        7. Bulk Synchronous Parallel (BSP)
        8. SPMD (Single Program Multiple Data)
        9. Dataflow computing
      2. Paralelismo a nivel de datos (SIMD / SIMT)
        1. Registros vectoriales y extensiones SIMD
        2. Unidades vectoriales anchas
        3. Operaciones empaquetadas (packed operations)
        4. Enmascaramiento / predicación
        5. Warp / wavefront execution
        6. Divergencia de rama
        7. Coalescing de memoria
        8. Vectorización automática vs manual
      3. Paralelismo a nivel de tareas (MIMD)
        1. Hilos independientes
        2. Procesamiento asimétrico de tareas
        3. Workers / pools de hilos
        4. Gráficos de tareas (task DAGs)
        5. Work stealing
        6. Pipeline de etapas heterogéneas
        7. Paralelismo pipeline frente a paralelo puro
        8. Balanceo dinámico de carga
      4. Memoria compartida vs memoria distribuida
        1. Memoria compartida con coherencia de caché
        2. NUMA
        3. Memoria distribuida (cluster)
        4. Paso de mensajes (MPI)
        5. RDMA y acceso remoto directo
        6. DSM (Distributed Shared Memory)
        7. Memoria unificada CPU–GPU
        8. Consistencia de memoria débil vs fuerte
      5. Sincronización y coordinación
        1. Barreras
        2. Locks y spinlocks
        3. Semáforos
        4. Futexes
        5. Secciones críticas
        6. Atomic operations y CAS
        7. Reducciones paralelas
        8. Prefetching y fences de memoria
        9. Deadlock / livelock / starvation
      6. Paralelismo en GPU
        1. SIMT (Single Instruction Multiple Threads)
        2. Jerarquía de hilos (grid / block / warp)
        3. Jerarquía de memoria (global / shared / local / constante / textura)
        4. Coalescing de accesos de memoria global
        5. Occupancy y latencia oculta
        6. Kernel launches
        7. Programación CUDA / HIP
        8. Tensor cores / aceleradores matriciales
        9. Streams y concurrencia de kernels
        10. Unified Virtual Addressing
      7. Rendimiento y escalabilidad
        1. Amdahl’s Law
        2. Gustafson’s Law
        3. Speedup fuerte vs speedup débil
        4. Escalabilidad fuerte vs débil
        5. Granularidad gruesa vs fina
        6. Overhead de sincronización
        7. Contención en memoria compartida
        8. Afinidad de hilos / pinning
        9. Bandwidth vs cómputo (arithmetic intensity)
        10. Roofline model
      8. Patrones paralelos comunes
        1. Map / Reduce
        2. Scatter / Gather
        3. Pipeline
        4. Stencil / convolución
        5. Reducción (sum, min, max)
        6. Prefetch y tiling / blocking
        7. Paralelización por partición de dominio
        8. Productor-consumidor
        9. Task farm / master-worker
        10. All-reduce / broadcast / gather / scatter en clusters
      9. Herramientas y entornos de programación paralela
        1. OpenMP
        2. MPI
        3. CUDA
        4. OpenCL
        5. HIP / ROCm
        6. SYCL
        7. Threading Building Blocks (TBB)
        8. lenguajes/dominios DSL para cómputo científico
        9. Programación paralela en alto nivel (Ray, Dask)
        10. Planificadores de tareas dirigidas por dependencias
      10. Problemas típicos de concurrencia y rendimiento
        1. Contención de locks
        2. Falsos compartidos (false sharing)
        3. Cache thrashing
        4. Desbalanceo de carga
        5. Desincronización y jitter
        6. Efectos NUMA
        7. Latencia de memoria global vs memoria cercana
        8. Overhead de cambio de contexto
        9. Divergencia de control en GPU
        10. Cuellos de botella secuenciales (serial bottlenecks)
    11. Computación en la nube y edge computing
      1. Modelos de servicio (IaaS, PaaS, SaaS, FaaS)
        1. IaaS (cómputo, red, almacenamiento virtualizados)
        2. PaaS (plataformas gestionadas para despliegue de apps)
        3. SaaS (aplicaciones ofrecidas como servicio)
        4. FaaS / serverless functions
        5. BaaS / MBaaS (Backend-as-a-Service / Mobile Backend-as-a-Service)
        6. DaaS (Data-as-a-Service)
        7. CaaS (Containers-as-a-Service)
        8. GPU / aceleradores como servicio
      2. Modelos de despliegue (nube pública, privada, híbrida, multicloud)
        1. Nube pública
        2. Nube privada dedicada
        3. Nube híbrida
        4. Multicloud activa (cargas en varios proveedores)
        5. DR en otro cloud (disaster recovery multicloud)
        6. Cloud bursting
        7. Soberanía de datos / ubicación geográfica
        8. Interconexión directa entre nubes y on-prem
      3. Infraestructura como código e infraestructura declarativa
        1. Descriptivo vs imperativo
        2. Plantillas declarativas
        3. Versionamiento de infra junto al código
        4. Inmutabilidad de infra
        5. Inyección de configuración / parametrización
        6. Desired state reconciliation
        7. GitOps
        8. Gestión de secretos y credenciales en IaC
      4. Automatización, orquestación y autoescalado
        1. Provisionamiento automático de recursos
        2. Autoescalado horizontal y vertical
        3. Escalado basado en métricas de carga
        4. Rolling update / rolling restart
        5. Canary deploy / blue-green deploy
        6. Orquestadores de contenedores
        7. Pipelines CI/CD
        8. Infraestructuras autosanables (self-healing)
        9. Gestión de dependencias entre servicios
      5. Observabilidad en nubes distribuidas
        1. Métricas (CPU, memoria, latencia, throughput)
        2. Logs centralizados
        3. Trazas distribuidas (distributed tracing)
        4. Mapas de dependencias entre servicios
        5. Detección de anomalías
        6. Alertas basadas en SLO/SLA
        7. Telemetría desde edge / edge-to-cloud
        8. Auditoría de eventos de infraestructura
      6. Serverless y FaaS
        1. Funciones efímeras bajo demanda
        2. Facturación por ejecución / duración
        3. Cold start vs warm start
        4. Límite de tiempo de ejecución
        5. Integración con colas, streams y eventos
        6. Orquestación de funciones (state machines)
        7. Statefulness externo (almacenamiento externo)
        8. Restricciones de performance vs VMs/containers dedicados
      7. Edge computing
        1. Procesamiento cercano a la fuente de datos
        2. Latencia ultrabaja en tiempo real
        3. Offloading parcial al cloud
        4. Cache y decisiones locales sin ir al core cloud
        5. Sincronización diferida / eventual
        6. Nodos perimetrales con recursos limitados
        7. Inferencia de ML en borde
        8. Gestión remota de flotas edge
        9. Edge-to-edge comunicación local
      8. Seguridad, cumplimiento y gobernanza
        1. Aislamiento de tenants
        2. Controles de acceso multinivel (IAM)
        3. Cifrado en tránsito y en reposo
        4. Gestión de llaves (KMS / HSM)
        5. Cumplimiento regulatorio y auditoría
        6. Trazabilidad y cadena de custodia de datos
        7. Políticas de red cero-confianza (Zero Trust)
        8. Postura de seguridad continua (CSPM)
        9. Gestión de secretos y rotación de credenciales
        10. Controles de acceso por identidad de workload (no humano)
      9. Gestión de costos y optimización
        1. Rightsizing de instancias
        2. Apagado de recursos inactivos
        3. Uso de instancias reservadas / spot / preemptibles
        4. Costo por entorno (dev / stage / prod)
        5. Cost allocation por equipo / proyecto
        6. Escalamiento bajo demanda vs sobreaprovisionamiento
        7. Compresión / tiering de datos fríos
        8. Optimización de egress y tránsito inter-región
        9. Costos de almacenamiento vs cómputo vs red
        10. FinOps
      10. Fiabilidad y continuidad operativa
        1. Alta disponibilidad multi-zona / multi-región
        2. Replicación geográfica activa-activa
        3. Backup y restore probados
        4. Políticas de disaster recovery (RTO / RPO)
        5. Diseño tolerante a fallos regionales
        6. Health checks y failover automático
        7. Degradación controlada de funcionalidades
        8. Ingeniería del caos / fault injection
        9. Pruebas de conmutación y recuperación
        10. Gestión de incidentes y postmortems
    12. Sistemas embebidos y RTOS
      1. Fundamentos de sistemas embebidos
        1. MCU vs MPU
        2. Periféricos integrados (GPIO, UART, SPI, I2C)
        3. Controladores de interrupciones
        4. Relojes y temporizadores hardware
        5. Limitaciones de memoria y consumo energético
        6. Firmware bare-metal
        7. Inicialización de hardware (boot, startup code)
        8. BSP (Board Support Package)
        9. Integración con sensores y actuadores
      2. Sistemas de tiempo real
        1. Tiempo real duro vs tiempo real blando
        2. Determinismo y latencia máxima
        3. Scheduling de tiempo real (Rate Monotonic, EDF)
        4. Deadlines y jitter
        5. Gestión de interrupciones con prioridad
        6. Ejecución predecible vs throughput
        7. Monitorización de ejecución en tiempo real
        8. Análisis de peor caso (WCET)
      3. RTOS comunes y arquitectura
        1. Núcleo de planificador en tiempo real
        2. Tareas / hilos en RTOS
        3. ISR (Interrupt Service Routine) y threading
        4. Colas y mailboxes en RTOS
        5. Semáforos y mutex con prioridad heredada
        6. Temporización y timers del sistema
        7. RTOS monolítico vs microkernel embebido
        8. FreeRTOS / Zephyr / VxWorks / QNX
        9. RT-Linux y parches de baja latencia
      4. Confiabilidad y seguridad funcional
        1. Watchdog timers
        2. Redundancia y fail-safe
        3. Detección y recuperación ante fallos (self-check)
        4. Sistemas con certificación de seguridad (ISO 26262, DO-178C)
        5. Gestión de memoria protegida
        6. Aislamiento de tareas críticas
        7. Protección frente a fallos transitorios (EMI, radiación)
        8. Actualizaciones OTA seguras y verificadas
        9. Arranque seguro (secure boot)
        10. Criptografía en hardware embebido
      5. Integración con sistemas mayores
        1. Comunicación con buses industriales (CAN, Modbus, SPI extendido)
        2. Gateways hacia sistemas de control distribuido
        3. Telemetría y registro de eventos
        4. Control en borde (edge) y reporte a la nube
        5. Sincronización con controladores superiores (PLC, SCADA)
        6. Protocolos de actualización remota
        7. Diagnóstico remoto y mantenimiento predictivo
        8. Seguridad en canal de control (auth, cifrado)
    13. Balanceo de carga y redes de distribución de contenido (CDN)
      1. Balanceadores de carga (L4 / L7)
        1. Balanceo en capa 4 (TCP/UDP)
        2. Balanceo en capa 7 (HTTP/HTTPS)
        3. Balanceadores hardware vs software
        4. Reverse proxies
        5. Termination / offload TLS
        6. Ingress gateway
        7. Stateful vs stateless load balancing
        8. Balanceo interno (east-west) vs externo (north-south)
      2. Estrategias de distribución de tráfico
        1. Round Robin
        2. Weighted Round Robin
        3. Least Connections
        4. Least Response Time
        5. Consistent hashing
        6. Sticky sessions / session affinity
        7. Routing por headers / path / método HTTP
        8. Traffic mirroring / shadow traffic
        9. Canary routing
        10. A/B testing basado en balanceo
      3. Health checks y failover
        1. Health checks activos vs pasivos
        2. Verificación de puerto / protocolo
        3. Checks HTTP con semántica de aplicación
        4. Umbrales de éxito / fallo
        5. Eliminación automática de nodos no saludables
        6. Failover local vs failover entre data centers
        7. Fencing / quarantine de instancias inestables
        8. Detección de latencia degradada
        9. Circuit breakers en capa de red
      4. Anycast y enrutamiento geográfico
        1. Anycast IP
        2. Anuncios BGP en múltiples regiones
        3. Redirección al punto más cercano (baja latencia)
        4. GeoDNS / georouting
        5. Latency-based routing
        6. Weighted routing por región
        7. Redundancia multi-región activa-activa
        8. Contención de fallos regionales
        9. Steering de tráfico durante incidentes
      5. CDNs (Content Delivery Networks)
        1. Edge PoPs (Points of Presence)
        2. Servidores de caché perimetrales
        3. Cache estática (imágenes, JS, CSS)
        4. Caché dinámica / contenido generado
        5. Origin server vs edge server
        6. Shielding de origen
        7. Tokenización / URLs firmadas
        8. Descarga de tráfico (offload del origen)
        9. Limitación de egress del origen
      6. Optimización de entrega de contenido
        1. Compresión (gzip, brotli)
        2. Minificación de assets
        3. HTTP/2 push / server hints
        4. HTTP/3 / QUIC
        5. Cache-Control / ETag / Last-Modified
        6. Redimensionamiento de imágenes en edge
        7. Optimización de video adaptativo
        8. Pre-caching / prefetching
        9. Caché por variaciones de header (Vary)
        10. TTLs y políticas de expiración
      7. Mitigación de ataques y protección DDoS
        1. Rate limiting
        2. Filtrado L3/L4 (volumétrico)
        3. Protecciones L7 (HTTP floods)
        4. Scrubbing centers
        5. Desafíos / verificación del cliente
        6. WAF (Web Application Firewall)
        7. Bot management
        8. Bloqueo geográfico / por ASN
        9. Anomalía de patrón de tráfico
        10. Blackholing controlado / sinkholing
      8. Observabilidad y control de tráfico
        1. Métricas de latencia, error rate y throughput
        2. Telemetría por ruta / servicio
        3. Access logs y trazas distribuidas
        4. Monitoreo en tiempo real por zona / PoP
        5. Heatmaps de tráfico
        6. Rate limiting adaptativo
        7. Circuit breaking basado en SLO
        8. Control dinámico de rutas
        9. Dashboard operacional unificado
      9. Service mesh y proxys inteligentes
        1. Proxys sidecar por servicio
        2. Encriptación mTLS entre servicios
        3. Balanceo L7 por política declarativa
        4. Retries, timeouts y backoff gestionados por la malla
        5. Tracing distribuido automático
        6. Limitación de tasa por servicio / cliente
        7. Control de tráfico canario / blue-green
        8. Políticas de autorización entre servicios
        9. Observabilidad homogénea en microservicios
        10. Inyección de fallos / chaos testing integrado
    14. Modelos de escalabilidad
      1. Escalamiento vertical vs horizontal
        1. Aumento de recursos en una sola instancia (CPU, RAM, IOPS)
        2. Límites físicos y de costo del escalamiento vertical
        3. Escalamiento horizontal mediante réplicas / más nodos
        4. Balanceadores de carga para distribuir tráfico entre réplicas
        5. Sesiones y manejo de estado en entornos horizontales
        6. Impacto en disponibilidad y tolerancia a fallos
        7. Compatibilidad con arquitecturas monolíticas vs distribuidas
        8. Saturación de base de datos como cuello de botella común
        9. Impacto en latencia local vs latencia entre nodos
        10. Estrategias híbridas (vertical hasta el límite, luego horizontal)
      2. Elasticidad y autoescalado
        1. Escalado reactivo basado en métricas (CPU, RPS, latencia)
        2. Escalado proactivo / predictivo basado en patrones históricos
        3. Autoescalado horizontal de instancias de aplicación
        4. Autoescalado de pods / contenedores en orquestadores
        5. Autoescalado de almacenamiento y throughput I/O
        6. Warm-up vs cold-start al escalar dinámicamente
        7. Reglas de cooldown para evitar thrashing de escalado
        8. Escalado hacia cero en cargas intermitentes
        9. Límites de presupuesto / cuotas de escalado
        10. Coordinación entre escalado de compute, base de datos y colas
      3. Desacoplamiento mediante colas y eventos
        1. Aislamiento entre productor y consumidor (buffer natural)
        2. Nivelación de picos de carga (spike smoothing)
        3. Procesamiento asíncrono vs respuesta síncrona
        4. Retries e idempotencia de mensajes procesados
        5. Backpressure controlado por encolamiento
        6. Dead-letter queues para mensajes problemáticos
        7. Priorización por tipo de evento / cola separada
        8. Event sourcing como registro de verdad
        9. Broadcast y fan-out a múltiples consumidores
        10. Riesgos: latencia eventual, orden parcial y duplicados
      4. Sharding y particionado de datos
        1. Partición horizontal por rango / hash / geografía
        2. Hashing consistente y reasignación mínima
        3. Catálogo / router de shards vs direccionamiento implícito
        4. Evitar hotspots y llaves calientes
        5. Rebalanceo de shards en vivo y redistribución gradual
        6. Aislamiento de ruido entre tenants / clientes en shards distintos
        7. Escalado independiente de lectura y escritura
        8. Migración de datos entre nodos con mínimo downtime
        9. Monitoreo de tamaño y crecimiento desigual de shards
        10. Impacto en agregaciones globales y queries cross-shard
      5. Replicación geográfica y multi-región
        1. Réplicas activas/activas vs activas/pasivas
        2. Replicación síncrona vs asíncrona entre regiones
        3. Latencia entre regiones y consistencia observable
        4. Enrutamiento por cercanía geográfica (geo-routing / anycast)
        5. Continuidad operativa ante caída regional
        6. Cumplimiento regulatorio y soberanía de datos
        7. Conflictos de escritura multi-master y reconciliación
        8. Failover automático y políticas de recuperación de desastres
        9. Distribución de contenido en el borde (edge / CDN)
        10. Costos de egress y optimización de tráfico inter-región
      6. Caching en múltiples niveles
        1. Caché en cliente / navegador / app local
        2. Caché en edge / CDN para contenido estático y semiestático
        3. Caché en capa de aplicación (in-memory local)
        4. Caché distribuida compartida (por ejemplo, cluster KV)
        5. Caché en base de datos (materialized views, resultados precalculados)
        6. Estrategias TTL / expiración / invalidación selectiva
        7. Cache warming y prefetch proactivo
        8. Cache stampede y mitigaciones (locking / request coalescing)
        9. Políticas LRU / LFU / ARC según patrón de acceso
        10. Coherencia entre capas de caché y fuente de verdad
      7. Aislamiento de recursos y multitenancy
        1. Aislamiento lógico por tenant (namespaces / cuentas)
        2. Aislamiento físico / computacional (nodos dedicados vs compartidos)
        3. Limitación de tasa y cuotas por tenant
        4. Ruido entre vecinos y fair usage
        5. Cifrado en reposo y en tránsito por tenant
        6. Separación de datos en el almacenamiento (BD por tenant vs fila marcada)
        7. Priorización de tráfico y calidad de servicio diferenciada
        8. Auditoría y trazabilidad por identidad de tenant
        9. Aislamiento de fallos por tenant / blast radius reducido
        10. Control de despliegues graduales por segmento de clientes
      8. Diseño sin punto único de falla
        1. Redundancia de instancias de servicio (N+1, N+2)
        2. Balanceadores de carga en alta disponibilidad
        3. Replicación de datos crítica con quorum de escritura/lectura
        4. Eliminación de single master crítico (líder reemplazable automáticamente)
        5. Eliminación de dependencias no redundantes (DB única, cola única)
        6. Failover automático entre zonas / racks / regiones
        7. Despliegues blue-green / canary para evitar caídas globales
        8. Health checks y circuit breakers para aislar fallas
        9. Segmentación en dominios de fallo (blast radius controlado)
        10. Ejercicios de caos para validar tolerancia real
      9. Backpressure y control de flujo
        1. Rechazo temprano / shed load bajo saturación
        2. Limitación de concurrencia por cola / worker / endpoint
        3. Ventanas deslizantes y créditos (windowing / credit-based flow control)
        4. Señalización de disponibilidad a productores
        5. Pausa / ralentización de productores de eventos
        6. Priorización de tráfico crítico frente a tráfico mejor-esfuerzo
        7. Protección contra explosión de retries en cascada
        8. Ajuste dinámico de tasas según latencia y cola pendiente
        9. Mecanismos de timeouts y cancelación propagada
        10. Evitar deadlocks a gran escala por presión circular
      10. Observabilidad y autosanación
        1. Métricas de latencia, throughput, error rate y saturación
        2. Logs estructurados y trazabilidad distribuida por request ID
        3. Alertas basadas en SLO (objetivos de servicio) y SLI (indicadores)
        4. Mapas de dependencia entre servicios y análisis de blast radius
        5. Health checks continuos y remediation automática
        6. Reinicio / reschedule automático de workloads defectuosas
        7. Detección de anomalías y degradación temprana
        8. Rollback automático ante despliegues regresivos
        9. Autoaislamiento de nodos enfermos (quarantine / cordoning)
        10. Postmortems y aprendizaje continuo incorporado al sistema
      11. Optimización costo / rendimiento
        1. Rightsizing de instancias y ajuste de recursos asignados
        2. Escalado bajo demanda vs sobreaprovisionamiento fijo
        3. Uso de instancias spot / preemptibles / ahorro por compromiso
        4. Tiering de almacenamiento (caliente vs tibio vs frío)
        5. Compresión, deduplicación y retención inteligente de datos
        6. Reducción de egress y tráfico inter-región
        7. Offloading de cómputo caro a aceleradores especializados
        8. Optimización de caché para bajar costo de lectura repetida
        9. Degradación controlada de features de alto costo en saturación
        10. Visibilidad financiera por servicio / equipo (FinOps)
      12. Evolución arquitectónica a escala
        1. Migración de monolito a servicios / microservicios / módulos
        2. Separación progresiva de dominios funcionales (bounded contexts)
        3. Introducción de colas/eventos donde antes había acoplamiento directo
        4. Extracción de storage dedicado por servicio (database per service)
        5. Despliegues canario / blue-green para cambios de contrato
        6. Versionado de APIs y compatibilidad hacia atrás
        7. Refactorización para multirregión y alta disponibilidad
        8. Automatización de infraestructura e infraestructura como código
        9. Gestión de deuda técnica y eliminación de cuellos de botella únicos
        10. Gobernanza de rendimiento, seguridad y costo a medida que crece la organización

7 - Prácticas del desarrollador

  1. Prácticas del desarrollador
    1. Linux, entornos y automatización
      1. Fundamentos de sistemas tipo Unix
        1. Filosofía Unix y diseño modular
        2. Sistema de archivos jerárquico y rutas absolutas vs relativas
        3. Permisos de usuario, grupo y otros
        4. Propietarios, grupos y modos de archivo (r/w/x)
        5. Procesos y espacios de usuario vs kernel
        6. Señales y estados de proceso
        7. Pipes y redirecciones estándar (stdin, stdout, stderr)
        8. Scripts ejecutables y el shebang (#!/usr/bin/env ...)
        9. Diferencias básicas entre Linux, macOS y WSL
        10. Sistemas de archivos montados y puntos de montaje
      2. Comandos esenciales de línea de comando
        1. Navegación del sistema de archivos (ls, cd, pwd, tree)
        2. Inspección de contenido (cat, less, head, tail, wc)
        3. Manipulación de archivos y directorios (cp, mv, rm, mkdir, touch)
        4. Búsqueda de archivos (find, locate)
        5. Búsqueda dentro de archivos (grep, flags comunes y regex básicas)
        6. Transformación de texto (cut, sort, uniq, tr, sed, awk)
        7. Compresión y empaquetado (tar, gzip, zip, unzip)
        8. Descarga y transferencia de datos (curl, wget, scp, rsync)
        9. Gestión de permisos y propiedad (chmod, chown, chgrp)
        10. Consultar ayuda y manuales (man, --help, info)
        11. Expansión de comodines y globbing (*, ?, {})
        12. Historial y repetición de comandos
      3. Gestión de paquetes y entornos del sistema
        1. Gestores de paquetes del sistema (apt, dnf, pacman, brew)
        2. Instalación, actualización y desinstalación de paquetes
        3. Repositorios oficiales, extras y personalizados
        4. Dependencias del sistema vs dependencias de proyecto
        5. Bibliotecas compartidas y versiones de runtimes
        6. Aislamiento con contenedores ligeros y sandboxes
        7. Uso de herramientas polyglot (asdf, pyenv, nvm, rbenv)
        8. Políticas de seguridad al instalar software de terceros
        9. Auditoría de integridad de paquetes y firmas
        10. Reproducibilidad y bloqueo de versiones a nivel sistema
      4. Servicios del sistema, tareas programadas y demonios
        1. Procesos en background y foreground
        2. Administración de servicios con systemd (systemctl start/stop/status)
        3. Units de systemd (service, timer, socket)
        4. Registro y reinicios automáticos de servicios
        5. Tareas programadas con cron y crontab
        6. Diferencia entre cron jobs y systemd timers
        7. Demonios personalizados y supervisión
        8. Ejecución al arranque del sistema
        9. Políticas de restart y watchdog de servicios críticos
        10. Gestión y rotación de logs de servicios en background
      5. Variables de entorno y configuración
        1. Variables de entorno globales y locales
        2. Exportación y alcance (export, subshells)
        3. Variables estándar (PATH, HOME, SHELL, etc.)
        4. Rutas de búsqueda de ejecutables (PATH) y prioridad
        5. Archivos de inicio de shell (.bashrc, .zshrc, .profile, etc.)
        6. Archivos .env y configuración basada en entorno
        7. Separación entre secretos y configuración pública
        8. Inyección de variables de entorno en procesos y servicios
        9. Carga de variables de entorno en despliegues CI/CD
        10. Protección de secretos en entornos compartidos / shells multiusuario
      6. Supervisión de procesos y recursos
        1. Listado de procesos (ps, top, htop)
        2. Uso de CPU, memoria y disco
        3. Señales a procesos (kill, kill -9, kill -HUP)
        4. Trazas de procesos (strace, lsof)
        5. Monitoreo de IO y consumo de red
        6. Detección de procesos colgados o runaway
        7. Afinidad de CPU y límites de recursos
        8. Limitación de recursos por proceso (ulimit)
        9. Aislamiento y control de consumo con cgroups / namespaces
        10. Detección de memory leaks y crecimiento anómalo de RSS
      7. Redes y puertos
        1. Conceptos básicos de red (IP, DNS, routing)
        2. Inspección de interfaces de red y direcciones IP
        3. Resolución de nombres y lookup DNS
        4. Conexiones abiertas y puertos en escucha
        5. Testeo de conectividad (ping, traceroute, nc)
        6. Transferencias seguras (ssh, túneles SSH, port forwarding)
        7. Firewalls locales y reglas de acceso
        8. Servicios locales vs servicios expuestos públicamente
        9. Escaneo y verificación de puertos expuestos (auditoría de superficie)
        10. Diagnóstico de bloqueo por firewall / NAT / routing asimétrico
      8. Seguridad y control de acceso
        1. Usuarios y grupos
        2. Elevación de privilegios (sudo, política de sudoers)
        3. Claves SSH y autenticación sin contraseña
        4. Permisos mínimos necesarios (principio de mínimo privilegio)
        5. Gestión de llaves privadas y públicas
        6. Almacenamiento seguro de secretos
        7. Prevención de ejecución arbitraria (no ejecutar scripts ciegamente)
        8. Aislamiento de procesos y sandboxing
        9. Hardening básico del sistema y superficies de ataque
        10. Auditoría de acceso y rotación periódica de credenciales
      9. Automatización y scripting en la línea de comando
        1. Alias y funciones de shell
        2. Scripting en Bash y shells compatibles
        3. Variables, argumentos posicionales y retorno de códigos de salida
        4. Condicionales y loops en shell
        5. Procesamiento batch de archivos
        6. Pipelines encadenados y composición de herramientas pequeñas
        7. Scripts idempotentes y repetibles
        8. Manejo de errores y set -euo pipefail
        9. Interoperabilidad entre shell y otros lenguajes (Python, awk, etc.)
        10. Ejecución remota de scripts
      10. Personalización del entorno de trabajo
        1. Prompt personalizado y contexto en tiempo real
        2. Uso de tmux/multiplexores de terminal
        3. Historial persistente y búsqueda incremental
        4. Autocompletado avanzado y sugerencias contextuales
        5. Snippets reutilizables de shell
        6. Navegación rápida de proyectos y bookmarks de rutas
        7. Diferencias entre shells (bash, zsh, fish)
        8. Búsqueda global de símbolos/código desde terminal
        9. Sincronización y versionado de dotfiles entre máquinas
        10. Mostrar rama git/estado CI/estado de despliegue en el prompt
      11. Diagnóstico de rendimiento
        1. Cuellos de botella de CPU
        2. Cuellos de botella de memoria y swapping
        3. Latencia de disco y uso de IOPS
        4. Bloqueos por IO vs bloqueo por red
        5. Perf counters y perf tracing del kernel
        6. Benchmarks reproducibles
        7. Análisis de latencia en servicios en segundo plano
        8. Perfilado de kernel y userland (perf/ftrace/eBPF)
        9. Pruebas de throughput/red (iperf, etc.)
        10. Línea base histórica de rendimiento para comparación
      12. Auditoría del sistema y logs
        1. Logs del sistema (journalctl, /var/log)
        2. Rotación y retención de logs
        3. Niveles de severidad y filtrado
        4. Correlación entre eventos de sistema y fallas de servicio
        5. Detección de patrones de error recurrentes
        6. Registro de accesos y actividad sospechosa
        7. Trazabilidad y evidencia para post-mortems
        8. Alertas tempranas y monitoreo continuo
        9. Centralización y reenvío de logs a sistemas SIEM
        10. Retención para cumplimiento normativo y forense
    2. Fundamentos de lenguajes de programación
      1. Ver rutas de aprendizaje de lenguajes de programación
        1. Python
        2. JavaScript / TypeScript
        3. Rust
        4. Bash / shell scripting
        5. Go
        6. Java / JVM
        7. C / C++
        8. Kotlin
        9. SQL y lenguajes de consulta
        10. Lenguajes orientados a sistemas distribuidos / backend de alto rendimiento
      2. Compiladores, intérpretes y construcción de lenguajes
        1. Análisis léxico, análisis sintáctico, análisis semántico
        2. Representación intermedia (IR) y optimización
        3. Generación de código y backend
        4. Enlace y carga (linking / loading)
        5. Intérpretes de árbol y máquinas virtuales
        6. Compilación JIT vs AOT
        7. Bootstrapping de compiladores
        8. Generadores léxicos y parsers (lexer/parser generators)
        9. Optimizaciones específicas de arquitectura (registro, cache, vectorización)
        10. Administración de memoria y GC en tiempo de ejecución
      3. Diseño de lenguajes
        1. Semántica operacional, denotacional y axiomática
        2. Visibilidad y alcance léxico / dinámico
        3. Mutabilidad vs inmutabilidad
        4. Evaluación estricta vs evaluación perezosa
        5. Transparencia referencial
        6. Efectos laterales y efectos controlados
        7. Seguridad de tipos y memoria
        8. DSLs (lenguajes específicos de dominio)
        9. Módulos, encapsulación y control explícito de interfaz pública
        10. Seguridad de memoria, aislamiento y capacidad de sandboxing
      4. Sintaxis y estructuras básicas
        1. Expresiones y operadores
        2. Declaraciones y bloques
        3. Precedencia y asociatividad
        4. Literales y construcción de valores
        5. Comentarios y directivas
        6. Importación de símbolos y alcance de nombres
        7. Sombra de variables (shadowing)
        8. Declaración de variables con distintos niveles de mutabilidad (const, let, var)
        9. Sintaxis para estructuras literales (objetos, dicts, records)
        10. Reglas de formato/indentación significativa (offside rule)
      5. Tipos de datos y abstracción de datos
        1. Primitivos escalares (numéricos, booleanos, caracteres)
        2. Estructuras compuestas (registros, structs, tuples)
        3. Colecciones (listas, arreglos, diccionarios, mapas)
        4. Tipos algebraicos (suma y producto)
        5. Enumeraciones etiquetadas
        6. Tipos abstractos de datos (ADT)
        7. Encapsulación de representación interna
        8. Tipos opción / tal vez (Option, Maybe)
        9. Genéricos paramétricos en estructuras de datos reutilizables
        10. Tipos resultado / error seguros para señalizar fallos
      6. Control de flujo (condicionales, bucles, manejo de ramificaciones)
        1. if / else / switch / match
        2. while / for / foreach
        3. Pattern matching estructural
        4. Cortocircuito lógico
        5. Break / continue / return
        6. Goto y saltos estructurados
        7. Manejo explícito de ramificaciones y guard clauses
        8. Abstracciones de control tipo map/filter/reduce
        9. Excepciones como salto no local
        10. Pattern guards, backtracking y ramificación declarativa
      7. Funciones, cierres y paso de datos
        1. Funciones de primera clase y funciones anónimas
        2. Cierres (closures) con captura léxica
        3. Paso por valor, paso por referencia, paso por nombre
        4. Currificación y aplicación parcial
        5. Recursión directa y recursión de cola
        6. Funciones variádicas
        7. Callbacks y funciones de orden superior
        8. Inlining y optimización de funciones pequeñas
        9. Semántica de movimiento / copia (move semantics / borrow)
        10. Paso de datos inmutable vs mutable controlado
      8. Paradigmas funcionales
        1. Inmutabilidad
        2. Funciones puras
        3. Evaluación perezosa
        4. Pattern matching
        5. Tipos algebraicos y sum types
        6. Mónadas, funtores, applicatives
        7. Efectos controlados y IO monádico
        8. Transformaciones sin estado compartido
        9. Estructuras de datos persistentes
        10. Programación reactiva funcional y streams declarativos
      9. Programación orientada a objetos (clases, interfaces, herencia, composición)
        1. Clases y objetos
        2. Encapsulación y visibilidad
        3. Herencia simple y múltiple
        4. Polimorfismo de subtipos
        5. Interfaces y contratos
        6. Composición sobre herencia
        7. Mixins y rasgos (traits)
        8. Métodos virtuales y despacho dinámico
        9. Metaclases y reflexión orientada a objetos
        10. Objetos inmutables y value objects (semántica por valor)
      10. Organización en módulos y paquetes
        1. Módulos y namespaces
        2. Imports / exports explícitos
        3. Control de visibilidad pública / privada / interna
        4. Empaquetado y distribución
        5. Versionado semántico
        6. Resolución de dependencias
        7. Árboles de dependencias y deduplicación
        8. Separación lógica por capa o dominio
        9. Publicación en registros de paquetes (npm, PyPI, crates.io)
        10. Compatibilidad binaria / estabilidad de ABI en librerías compartidas
      11. Tipado estático y anotaciones de tipo
        1. Tipado estático vs tipado dinámico
        2. Inferencia de tipos
        3. Polimorfismo paramétrico
        4. Polimorfismo ad-hoc (sobrecarga)
        5. Tipos nominales vs tipos estructurales
        6. Genéricos
        7. Tipos dependientes
        8. Propagación de null safety / tipos opción
        9. Mutabilidad tipada e inmutabilidad tipada
        10. Nullability, flow-sensitive typing y refinamiento de tipos en tiempo de análisis
      12. Manejo de errores y excepciones
        1. Excepciones verificadas vs no verificadas
        2. Propagación de excepciones
        3. Tipos resultado (Result, Either)
        4. Valores centinela y códigos de error
        5. Panic / abortar ejecución
        6. Reintentos y recuperación
        7. Limpieza garantizada post-error
        8. Retries con backoff y circuit breakers en lógica de negocio
        9. Logging estructurado de fallos y trazas
        10. Políticas de resiliencia y aislamiento de fallos
      13. Gestión estructurada de recursos (por ejemplo, scopes y contextos controlados)
        1. RAII
        2. Destructores / finalizers
        3. with / using / defer
        4. Propiedad y préstamo (ownership / borrowing)
        5. Regiones de vida (lifetimes)
        6. Recolección de basura
        7. Pools de recursos
        8. Reutilización de conexiones y pools de sockets/DB
        9. Garantías de liberación aun con excepciones
        10. Recolección determinista vs no determinista
      14. Iteradores, generadores y secuencias consumibles
        1. Iteradores internos y externos
        2. Generadores con yield
        3. Corutinas cooperativas
        4. Secuencias lazy
        5. Streams y pipelines de datos
        6. Backpressure y consumo incremental
        7. Iteración paralela y concurrente
        8. Iteradores infinitos / streams sin fin
        9. Materialización diferida y batching
        10. Generadores con control de flujo y cancelación
      15. Metaprogramación y reflexión
        1. Macros en tiempo de compilación
        2. Transformación de AST
        3. Reflection en tiempo de ejecución
        4. Anotaciones y atributos
        5. Generación de código (codegen)
        6. Plantillas / templates genéricas
        7. Meta-objetos y metaclases
        8. eval y ejecución dinámica
        9. Programación orientada a aspectos (AOP)
        10. Generación automática de SDKs / clientes a partir de contratos
      16. Serialización y deserialización de estructuras
        1. JSON
        2. XML
        3. Representaciones binarias (Protocol Buffers, MessagePack)
        4. Marshaling / unmarshaling
        5. Versionado de mensajes
        6. Esquemas y validación
        7. Compatibilidad retroactiva y hacia adelante
        8. Normalización de datos y canonical forms
        9. Compresión y cifrado del payload serializado
        10. Evolución de esquema sin downtime ni pérdida de datos
      17. Estilo, convenciones y mantenibilidad del código
        1. Convenciones de nombres
        2. Formato automático y linters
        3. Documentación integrada y autodocumentación
        4. Pruebas unitarias y de integración
        5. Contratos y aserciones
        6. Revisión de código
        7. Refactorización continua
        8. Control de complejidad ciclomática
        9. Gestión de deuda técnica
        10. Automatización de refactor y actualización de sintaxis / APIs obsoletas
    3. Herramientas y productividad técnica
      1. Entornos aislados y gestión de dependencias
        1. Entornos virtuales por proyecto
        2. Bloqueo de versiones y archivos de lock
        3. Reproducibilidad entre máquinas
        4. Instalación determinista vs instalación flotante
        5. Aislamiento de intérpretes y runtimes
        6. Contenedores ligeros para pruebas locales
        7. Dependencias de sistema vs dependencias de aplicación
        8. Reproducibilidad en CI/CD y ambientes efímeros
        9. Pinning de versiones multiplataforma
        10. Auditoría y escaneo de vulnerabilidades en dependencias
      2. Control de versiones de configuraciones y datos
        1. Versionar configuración del entorno (dotfiles)
        2. Backups rastreables y reversibles
        3. Historial de cambios de infraestructura
        4. Tratamiento de archivos binarios y datos pesados
        5. Plantillas de configuración parametrizadas
        6. Manejo de secretos fuera del repositorio
        7. Versionado de secretos cifrados gestionados (vaults)
        8. Políticas de retención y expiración de backups
        9. Control de drift entre infra declarada y estado real
        10. Auditoría de cambios de acceso / privilegios
      3. Plantillas de proyectos y generación de esqueletos de servicio
        1. Estructuras mínimas recomendadas por tipo de proyecto
        2. Bootstrapping automático de nuevos repos
        3. Convenciones de nombres y layout
        4. Metadata inicial (licencia, README, CI básica)
        5. Configuración inicial de linting y formateo
        6. Patrones estándar de logging y manejo de errores
        7. Versionado inicial y numeración base
        8. Instrumentación y observabilidad mínima (métricas, logs)
        9. Chequeo de seguridad inicial (escaneo de dependencias)
        10. Plantillas de pruebas y cobertura mínima aceptable
      4. Ejecutores de tareas y automatización repetible
        1. Makefiles y targets convencionales
        2. Scripts de automatización de flujo de desarrollo
        3. Pipelines locales para build/test/lint
        4. Orquestación de pasos dependientes
        5. Automatización de despliegues internos
        6. Reglas auto-documentadas (make help)
        7. Jobs reproducibles en distintos entornos
        8. Pipelines locales equivalentes a lo que corre en CI
        9. Empaquetado de tareas en contenedores locales
        10. Caching de resultados intermedios para acelerar iteración
      5. Documentación viva y navegable
        1. Documentación que se genera desde el código
        2. Documentación que se valida con tests
        3. Requisitos de instalación y setup reproducible
        4. Ejemplos ejecutables y notebooks de demostración
        5. Tablas de verdad de comportamiento esperado
        6. Diagramas de arquitectura y flujos de datos
        7. Versionado de la documentación junto al código
        8. Versionado de docs alineado a cada release
        9. Catálogo interno de servicios / APIs
        10. Runbooks operacionales y manuales de intervención (SRE playbooks)
      6. Creación de herramientas de línea de comando para flujos internos
        1. Interfaces consistentes y autodescriptivas
        2. Estándares para flags, subcomandos y --help
        3. Manejo de logs y salida estructurada
        4. Códigos de salida y manejo de errores
        5. Scripts utilitarios para equipos completos
        6. Distribución interna de binarios y scripts
        7. Empaquetado en un solo ejecutable
        8. Autenticación y manejo seguro de credenciales
        9. Distribución multiplataforma y binarios firmados
        10. Telemetría opcional y métricas de uso interno
      7. Integración y configuración avanzada del entorno de desarrollo
        1. Configuración de editores y extensiones críticas
        2. Integración con linters y formateadores
        3. Integración con depuradores
        4. Integración con analizadores de performance
        5. Ajustes de snippets y refactors automáticos
        6. Integración con gestores de tareas / issue trackers
        7. Estándares de workspace compartido en equipos
        8. Sincronización de configuraciones entre dispositivos / equipo
        9. Accesibilidad del entorno dev (temas, contraste, legibilidad)
        10. Scripts de onboarding para nuevos desarrolladores
      8. Perfilado y depuración interactiva
        1. Depuración paso a paso
        2. Inspección de estado interno en runtime
        3. Breakpoints condicionales
        4. Análisis de memoria en ejecución
        5. Perfilado de CPU y hot paths
        6. Perfilado de IO / red
        7. Recolección de volcados (core dumps) y post-mortems
        8. Heap dumps y diagnóstico de fugas de memoria
        9. Trazas de sistema en producción de manera segura / limitada
        10. Comparación histórica entre perfiles para detectar regresiones
      9. Chequeo estático de tipos y análisis estático
        1. Tipado gradual y contratos de interfaz
        2. Análisis de rutas de ejecución inalcanzables
        3. Detección temprana de errores comunes
        4. Revisión automática de convenciones y estilo
        5. Seguridad: análisis de uso inseguro de datos externos
        6. Reportes automáticos en CI
        7. Integración del análisis estático con el editor
        8. Modelado de amenazas de entrada no confiable
        9. Alertas de APIs obsoletas / deprecated
        10. Reportes de cumplimiento y requisitos regulatorios
      10. Formateo automático y validaciones previas al commit
        1. Formateadores automáticos de código
        2. Linters de estilo y consistencia
        3. Validación de convenciones de nombres
        4. Validación de imports, dependencias y licencias
        5. Revisión rápida de errores obvios antes de subir cambios
        6. Normalización de finales de línea y codificación de texto
        7. Hooks locales (pre-commit) compartidos en el equipo
        8. Escaneo de secretos en el commit
        9. Validación automática de formato de mensaje de commit
        10. Smoke tests locales antes de push
      11. Plantillas de integración continua y entrega continua
        1. Pipelines de build y test
        2. Linting y análisis estático en CI
        3. Escaneos de seguridad automatizados
        4. Publicación automática de artefactos
        5. Deploy automatizado en entornos intermedios
        6. Checks de calidad antes de merge
        7. Versionado automático y etiquetado de release
        8. Deploy canario automatizado
        9. Rollback automático basado en alertas SLO
        10. Publicación automática de changelog / docs junto al release
      12. Entornos de desarrollo reproducibles y remotos
        1. Desarrollo en contenedores
        2. Entornos efímeros por rama
        3. Dev environments remotos y cloud workspaces
        4. Sincronización de estado local/remoto
        5. Aislamiento de recursos pesados (GPU, bases de datos, colas)
        6. Simulación local de servicios externos
        7. Políticas de consistencia entre dev / staging / prod
        8. Depuración remota con breakpoints sobre entornos cloud
        9. Auditoría y control de acceso a entornos compartidos
        10. Limpieza y rotación automática de entornos efímeros viejos
    4. Control de versiones y colaboración
      1. Fundamentos de control de versiones distribuido
        1. Commits como snapshots inmutables
        2. Árbol de commits y DAG de historial
        3. Remotos, clones y forks
        4. Staging area e índice
        5. Rastrear cambios vs rastrear archivos nuevos
        6. Ignorar archivos temporales y secretos
        7. Reescritura de historial local vs remoto
        8. Integridad mediante hashes criptográficos y firmas
        9. Ramas locales vs ramas remotas con tracking
        10. Recuperación de estados previos (reflog / restore)
      2. Estrategias de ramificación
        1. Trunk-based development
        2. Feature branches
        3. Release branches y hotfix branches
        4. Branches de soporte a largo plazo
        5. Flujos de integración frecuente vs integración tardía
        6. Control de estabilidad en ramas críticas
        7. Relación entre ramas y entornos desplegados
        8. Uso de feature flags vs ramas de larga vida
        9. Release trains / cadencia fija de entregas
        10. Limpieza de ramas zombies / ramas huérfanas
      3. Rebase, merge, cherry-pick y manejo de trabajo en paralelo
        1. Fast-forward merge vs merge commit
        2. Rebase interactivo para limpiar historial
        3. Reescritura de mensajes y squash de commits
        4. Cherry-pick de cambios aislados
        5. Backport de fixes a ramas antiguas
        6. Sincronizar ramas divergentes
        7. Evitar pérdida de trabajo en paralelo
        8. Evitar merges recursivos muy complejos mediante división temprana
        9. Preservar autoría y metadata de los cambios
        10. Riesgos de rebase en ramas compartidas vs merge tradicional
      4. Resolución de conflictos
        1. Tipos de conflictos comunes
        2. Conflictos en código vs conflictos en archivos de configuración o lockfiles
        3. Herramientas de merge asistido
        4. Buenas prácticas para resolver conflictos legibles
        5. Confirmación y prueba después de resolver conflictos
        6. Minimizar conflictos mediante división de cambios
        7. Documentar decisiones tomadas durante la resolución
        8. Automatización parcial con merge drivers personalizados
        9. Políticas de decisión cuando hay conflicto funcional / semántico
        10. Validación de build y tests antes de dar por cerrado el conflicto
      5. Convenciones de commits y gestión semántica de versiones
        1. Mensajes de commit claros y estructurados
        2. Separar cambios funcionales de cambios cosméticos
        3. Commits atómicos y reversibles
        4. Referencias a issues / tickets
        5. Commits de refactor vs commits de feature vs commits de fix
        6. Convenciones de prefijos y categorías de cambios
        7. Relación entre commits y notas de release
        8. Commits firmados / verificables
        9. Separar cambios funcionales y refactors en PRs distintos
        10. Asociación entre commits y trazabilidad legal / cumplimiento
      6. Versionado semántico y etiquetado de lanzamientos
        1. Mayor / menor / parche
        2. Cambios incompatibles y releases mayores
        3. Cambios compatibles y releases menores
        4. Fixes urgentes y releases de parche
        5. Pre-releases y etiquetas de estabilidad
        6. Tags firmados y verificables
        7. Publicación de changelogs
        8. Estrategias de deprecación gradual de APIs
        9. Compatibilidad binaria / ABI en librerías
        10. Herramientas automáticas de bump de versión y tagging
      7. Gestión de submódulos, monorepos y multi-repos
        1. Submódulos y dependencias versionadas
        2. Sincronización de versiones entre repositorios
        3. Monorepos con múltiples servicios
        4. Coordinación de cambios entre múltiples paquetes
        5. Herramientas para mantener consistencia interna
        6. Ventajas y costos de monorepo vs multi-repo
        7. Estrategias de permisos y propiedad de código
        8. Sincronización de dependencias en monorepos grandes
        9. Versionado coordinado de contratos / APIs internas
        10. Políticas de visibilidad / permisos por carpeta o módulo
      8. Hooks y automatización del flujo de trabajo
        1. Hooks locales (pre-commit, pre-push)
        2. Hooks del servidor (validaciones en el remoto)
        3. Enforcers de formato y estilo
        4. Validación de firmas y políticas de seguridad
        5. Rechazo automático de pushes inválidos
        6. Generación automática de documentación y changelogs
        7. Disparadores de CI/CD basados en eventos de repositorio
        8. Escaneo de vulnerabilidades en dependencias al hacer push
        9. Enriquecimiento automático del PR con contexto adicional
        10. Auditoría continua de cumplimiento de políticas internas
      9. Integración con revisión de código e integración continua
        1. Pull requests y merge requests
        2. Revisión por pares y ownership de módulos
        3. Checks automáticos en cada PR
        4. Gatekeepers y responsabilidades de aprobación
        5. Políticas para cambios urgentes
        6. Sincronización entre ramas y pipelines de CI
        7. Validación de seguridad y cumplimiento
        8. Rotación de revisores y balanceo de carga de review
        9. Métricas de lead time y tiempo de revisión
        10. Pruebas de performance / carga en PRs críticos
      10. Políticas de revisión y ramas protegidas
        1. Ramas protegidas y restricciones de push
        2. Requisitos mínimos de revisión
        3. Reglas de aprobación obligatoria
        4. Firmas requeridas y verificación de autoría
        5. Control de calidad previo a merge
        6. Registros de quién aprobó qué cambio
        7. Aprobaciones condicionadas a tests y cobertura
        8. Políticas distintas según criticidad del repositorio
        9. Requerir builds reproducibles / verificables
        10. Auditoría de cambios en configuración sensible / de seguridad
      11. Auditoría del historial y trazabilidad de cambios
        1. Análisis de quién cambió qué y cuándo
        2. Blame y atribución de líneas de código
        3. Revertir versiones específicas de forma segura
        4. Reconstrucción de la línea temporal de un bug
        5. Cumplimiento normativo y auditorías externas
        6. Huellas criptográficas y firmas GPG
        7. Trazabilidad entre código, decisiones y producción
        8. Reconstrucción de incidentes de seguridad a partir del historial
        9. Evidencia para certificaciones y cumplimiento legal
        10. Conservación y archivado de ramas históricas / snapshots estables

8 - Lenguajes de Programación

8.1 - Python

  1. Introduction
    1. History of Python
      1. Origins and development by Guido van Rossum (1989–1991)
      2. Evolution from Python 1.x → 2.x → 3.x
      3. Design philosophy (PEP 20 — The Zen of Python)
      4. Open source governance and the Python Software Foundation (PSF)
      5. Python Enhancement Proposals (PEPs) and community process
      6. Major milestones (Unicode, async, typing, pattern matching)
    2. Python Versions and Compatibility
      1. Python 2 vs Python 3 differences and migration
      2. Maintenance and end-of-life policies
      3. Long-term support (LTS) versions
      4. Semantic versioning and release cadence
      5. Version detection (sys.version, platform.python_version())
      6. Backward and forward compatibility (PEP 563, PEP 585)
    3. Installing Python
      1. Official installers (python.org, Microsoft Store, Homebrew, apt, dnf)
      2. Platform-specific installation (Windows, macOS, Linux)
      3. Source builds and configuration options
      4. Multiple Python versions and environment isolation
      5. Verifying installation and PATH configuration
      6. Package managers (apt, brew, choco, scoop)
      7. Alternative distributions (Anaconda, Miniconda, ActivePython)
    4. Running Python Scripts and REPL
      1. REPL basics (python, python -i, exit())
      2. Script execution (python script.py, python -m module)
      3. Interactive debugging and inspection (help(), dir())
      4. Command-line flags and options (-O, -B, -m, -X)
      5. Shell integration (ipython, bpython, ptpython)
      6. Jupyter notebooks and interactive kernels
      7. Input/output redirection and pipes
    5. IDEs and Code Editors
      1. Full IDEs (PyCharm, VS Code, Spyder, Thonny)
      2. Lightweight editors (Sublime Text, Atom, Vim, Emacs)
      3. REPL integration and interactive terminals
      4. Code completion and IntelliSense
      5. Linters and formatters integration
      6. Debugging tools and breakpoints
      7. Notebooks and mixed-language environments (Jupyter, Colab)
    6. Virtual Environments
      1. Environment creation (venv, virtualenv)
      2. Activation and deactivation
      3. Project isolation and dependency management
      4. Environment configuration files (pyvenv.cfg)
      5. Integration with editors and build tools
      6. Cross-platform management (conda, tox, nox)
      7. Reproducibility and sharing (requirements.txt, lock files)
    7. Package Management (pip)
      1. Installing, upgrading, uninstalling packages (pip install)
      2. Requirements files (requirements.txt, constraints)
      3. Package discovery and search (pip search, pip index)
      4. Local and editable installs (pip install -e)
      5. Dependency resolution (pip check, pipdeptree)
      6. Source distributions vs wheels
      7. Virtual environment integration
      8. Caching and offline installs (pip download, pip cache)
      9. Custom indexes and mirrors (--index-url, --extra-index-url)
      10. Package auditing and signing (pip-audit, hash-checking-mode)
  2. Fundamentals
    1. Basic Data Types
      1. Variables and assignments
        1. Declaration and initialization
        2. Dynamic typing and rebinding
        3. Variable lifetime and scope
      2. Booleans (bool, logical evaluation rules)
      3. Numeric types
        1. int (arbitrary precision, base conversions)
        2. float, decimal, fractions
        3. complex (real/imaginary parts, polar form)
      4. Strings, multiline strings, raw strings
        1. String creation and immutability
        2. Indexing, slicing, concatenation, repetition
        3. f-strings, interpolation, and formatting
        4. Unicode handling and encoding basics
      5. Objects and mutability
        1. Identity vs equality (is vs ==)
        2. Mutable vs immutable built-ins
        3. Copy semantics (copy, deepcopy)
      6. None and sentinel values
        1. Null semantics and truthiness
        2. Sentinel patterns for optional behavior
      7. Hashables and immutability
        1. Requirements for dict/set keys
        2. Custom hash implementation (__hash__, __eq__)
      8. Type conversion and coercion
        1. Implicit vs explicit casting
        2. Numeric promotions
        3. Common built-ins (int(), float(), str(), etc.)
    2. Operators
      1. Arithmetic (+, -, *, /, //, %, ``)
      2. Comparison (==, !=, <, >, <=, >=)
      3. Logical (and, or, not)
      4. Bitwise (&, |, ^, ~, <<, >>)
      5. Identity (is, is not)
      6. Membership (in, not in)
      7. Assignment and augmented assignment (+=, -=, etc.)
      8. Walrus operator (:=, PEP 572)
      9. operator module (functional forms of ops)
      10. del statement (object deletion and reference removal)
      11. Operator precedence and associativity
      12. Short-circuit evaluation behavior
    3. Control Flow
      1. Conditionals (if, elif, else)
      2. Loops (for, while, for-else, while-else)
      3. Control statements (pass, continue, break)
      4. match / structural pattern matching (PEP 634–636)
        1. Literal, sequence, mapping, and class patterns
        2. OR-patterns and guards (if clauses)
      5. Loop control flags and sentinel conditions
    4. Functions
      1. Namespaces and variable lookup rules
      2. Scopes: local, global, nonlocal
      3. Function definition and return semantics
      4. Default argument values and evaluation timing
      5. Keyword and positional arguments
      6. Special parameters (*args, kwargs, /, *)
      7. Argument unpacking (iterables and mappings)
      8. Lambda and anonymous functions
      9. Function attributes (__name__, __doc__, __defaults__, __annotations__)
      10. Closures and free variables
      11. Higher-order functions and decorators (intro)
      12. Callable objects and partial application
    5. Exceptions
      1. try, except, else, finally blocks
      2. raise and re-raising
      3. Custom exceptions (inheritance from Exception)
      4. Exception chaining (raise … from …)
      5. Exception groups (PEP 654)
      6. Exception notes (add_note)
      7. Context and traceback objects (sys.exc_info, traceback)
      8. Common built-in exceptions (ValueError, TypeError, etc.)
      9. Suppressing exceptions (contextlib.suppress)
    6. Builtins
      1. Keywords (keyword module)
      2. Built-in functions (len, range, map, filter, etc.)
      3. Constants
        1. True, False, None
        2. NotImplemented
        3. Ellipsis (...)
        4. __debug__
      4. Built-in types (int, float, str, list, dict, etc.)
      5. Built-in exceptions (hierarchy and usage)
      6. Standard type hierarchy and object model
    7. Modules
      1. Import system (absolute, relative, from, *, aliasing)
      2. Search paths and environment (sys.path, PYTHONPATH)
      3. Module inspection (dir, help, vars, globals, locals)
      4. Basic standard modules
        1. math, cmath
        2. random
        3. os, pathlib
        4. sys
        5. datetime, time
        6. functools, itertools
        7. json, re, collections
  3. Structures and data manipulation
    1. Data Structures
      1. Lists
        1. Creation and initialization
        2. Indexing and slicing
        3. Mutability and in-place operations
        4. Methods (append, extend, insert, pop, remove, clear)
        5. Sorting (sort, sorted, key functions, stability)
        6. Membership and iteration
        7. Copying and references
      2. Stacks (list, collections.deque)
        1. LIFO principle
        2. Push/pop operations
      3. Queues (queue.Queue, collections.deque)
        1. FIFO principle
        2. Thread-safe queues (queue, multiprocessing.Queue)
      4. Deques (collections.deque)
        1. Bidirectional operations
        2. Rotation and indexing
        3. Thread safety
      5. Tuples
        1. Immutability and performance
        2. Named tuples (collections.namedtuple, typing.NamedTuple)
        3. Tuple packing and unpacking
      6. Sets
        1. Unique element storage
        2. Set operations (union, intersection, difference, symmetric difference)
        3. Frozen sets
        4. Membership and comprehensions
      7. Dicts and mappings
        1. Key-value pairs
        2. Dictionary methods (get, pop, update, items, keys, values)
        3. Dictionary views and iterators
        4. Default dicts (collections.defaultdict)
        5. OrderedDict, ChainMap, Counter
        6. Dictionary comprehensions
      8. Unpacking and extended unpacking
        1. Parallel assignment
        2. * and `` unpacking in function calls and literals
      9. Comparison between data structures
        1. Performance considerations (lookup, insertion, order)
        2. Mutability, hashability, and ordering
      10. Copying and views
      11. Shallow vs deep copy
      12. copy module
      13. Views (dict.items(), set views)
    2. Iterators and Generators
      1. Sequences and iteration protocol
      2. Iterator vs iterable
      3. Built-in functions: iter, next, len, reversed
      4. Custom iterators (__iter__, __next__)
      5. Generators and yield, yield from
      6. Generator expressions and lazy sequences
      7. Infinite iterators (itertools.count, cycle, repeat)
      8. Slices (slice, itertools.islice)
      9. Lazy evaluation and memory efficiency
      10. Generator cleanup and StopIteration
    3. Comprehensions
      1. List comprehensions
      2. Set comprehensions
      3. Dict comprehensions
      4. Nested comprehensions
      5. Conditional comprehensions (if and if-else)
      6. Generator expressions vs comprehensions
      7. Performance and readability trade-offs
    4. String Manipulation
      1. String operations
        1. Concatenation (+)
        2. Multiplication (*)
        3. Membership (in, not in)
        4. Slicing and indexing
      2. Formatting and interpolation
        1. f-strings
        2. .format()
        3. Old-style % formatting
        4. string.Template
      3. String methods (split, join, replace, strip, startswith, endswith)
      4. Bytes and bytearrays (bytes, bytearray, encoding/decoding)
      5. Format specification mini-language
      6. Utilities (textwrap, string, re, difflib)
      7. Unicode and encodings
        1. unicodedata, normalization (NFC, NFD, NFKC, NFKD)
        2. UTF-8, UTF-16, Latin-1, etc.
      8. uuid module
      9. Advanced operations (str.translate, maketrans, case folding)
    5. Regular Expressions
      1. re syntax (groups, lookahead, lookbehind, backreferences)
      2. Flags (IGNORECASE, MULTILINE, DOTALL, VERBOSE)
      3. re module methods (search, match, findall, split, sub, compile)
      4. Regex objects and performance
      5. Third-party regex module (Unicode categories, recursion, timeouts)
      6. Comparison with parsing libraries
        1. fnmatch and glob
        2. parse
        3. shlex and tokenize
        4. string methods vs regex trade-offs
    6. Files
      1. File system access
        1. pathlib (modern path interface)
        2. os and os.path
        3. File existence, metadata, and permissions (stat)
      2. File I/O operations
        1. open, close, read, write, append, seek
        2. Context managers (with)
        3. Binary vs text modes
      3. Basic file formats
        1. .ini / config (configparser)
        2. .env (dotenv libraries)
        3. .toml (tomllib, tomli, tomlkit)
        4. .csv (csv, pandas)
        5. .json (json, orjson, ujson)
        6. .sqlite3 (SQL databases)
      4. Serialization
        1. struct (binary data)
        2. codecs
        3. pickle, dill, cloudpickle
        4. marshal
        5. base64, binascii
      5. Temporary files (tempfile)
      6. Compression and archiving
        1. zip/deflate (zipfile)
        2. gzip
        3. bzip2
        4. lzma/lzma2
        5. lz4
        6. xz
        7. zstd
        8. tar (tarfile)
      7. File permissions and metadata (os.stat, chmod, access)
      8. Binary file handling (struct, memoryview, array)
    7. Specific Files
      1. Markup
        1. HTML (html, html.parser, BeautifulSoup)
        2. XML (xml.etree.ElementTree, lxml)
      2. Document and ebook
        1. PDF (PyPDF2, fitz)
        2. DOCX (python-docx)
        3. EPUB (ebooklib)
      3. Calendar and scheduling
        1. ICS (ics, icalendar)
        2. CSV-based planners
      4. Mailing and messaging
        1. email, smtplib, imaplib
        2. eml, msg parsing
      5. Image processing
        1. PIL/Pillow
        2. OpenCV
        3. imageio, matplotlib for I/O
      6. Audio processing
        1. wave, aifc, sunau
        2. pydub, audioread, soundfile
      7. Video handling
        1. cv2
        2. moviepy
        3. ffmpeg-python
      8. Security and cryptography
        1. ssl, hashlib, secrets, hmac
        2. Certificate and key handling
      9. Geographic and spatial data
        1. GeoJSON
        2. shapefile, fiona, shapely, geopandas
    8. Time and Date
      1. datetime and time modules
      2. calendar module
      3. Time zones (zoneinfo, pytz)
      4. Time arithmetic (timedelta, rounding, truncation)
      5. Parsing and formatting dates (strptime, strftime, dateutil)
      6. High-resolution timers (time.perf_counter, process_time, monotonic)
      7. Scheduling and delays (sleep, sched, asyncio.sleep)
      8. Measuring performance (timeit, perf_counter_ns)
      9. Timestamp conversion and epoch time
  4. Structured and Modular Programming
    1. Object-Oriented Programming (OOP)
      1. Classes and objects
        1. Defining and instantiating classes
        2. The __init__ and __new__ methods
        3. The object model and __class__ attribute
      2. Attributes and methods
        1. Class vs instance attributes
        2. Attribute lookup order and MRO
        3. Attribute hiding and naming conventions (_, __)
        4. Dynamic access (getattr, setattr, delattr, hasattr)
      3. Encapsulation and abstraction
        1. Private vs public members (naming conventions)
        2. Getters, setters, and deleters (@property)
        3. Read-only attributes
      4. Inheritance
        1. Single and multiple inheritance
        2. super() and cooperative MRO
        3. Method overriding and extension
        4. Abstract base classes (abc module)
        5. Mixins and shared behavior
        6. Composition vs inheritance
      5. Class mechanics
        1. __slots__ and memory optimization
        2. Metaclasses and dynamic class creation
        3. type() and runtime class manipulation
        4. types module utilities
      6. Special / magic / dunder methods
        1. __repr__, __str__, __len__, __getitem__, etc.
        2. Operator overloading (__add__, __eq__, etc.)
        3. Context management (__enter__, __exit__)
        4. Callable objects (__call__)
        5. Iteration protocols (__iter__, __next__)
      7. Advanced typing and design
        1. Generics and typing.Generic
        2. Protocols (PEP 544)
        3. Covariance and contravariance
        4. Duck typing and structural subtyping
        5. Casting (typing.cast)
      8. Utilities and modern OOP helpers
        1. dataclasses (auto-generated methods, immutability)
        2. attrs (third-party library)
        3. pydantic (data validation models)
        4. enum (enumerations and flag enums)
        5. collections.abc (interfaces for containers)
    2. Decorators
      1. Function decorators
        1. Basic decorator syntax
        2. Multiple decorators
        3. @staticmethod, @classmethod, @property
      2. Class decorators
        1. Decorating entire classes
        2. Injecting attributes or methods dynamically
      3. Parameterized decorators
        1. Nested closures for arguments
        2. Factory pattern for decorators
      4. functools.wraps
        1. Preserving metadata (__name__, __doc__)
        2. Common pitfalls and best practices
      5. Practical applications
        1. Logging and timing
        2. Memoization (functools.lru_cache)
        3. Access control and validation
        4. Class registration and plugin systems
    3. Modules (advanced)
      1. Packages and __init__.py
        1. Namespace packages (PEP 420)
        2. Relative and absolute imports
        3. Module-level constants and configuration
      2. Standard modules (extended list)
        1. Input/output (io, os, pathlib, shutil)
        2. Argument parsing (argparse, getopt, sys.argv)
        3. Mathematical utilities (math, cmath, statistics)
        4. Data structures (collections, collections.abc, array, enum)
        5. Memory and performance (copy, sys, resource)
        6. Console utilities (curses, readline)
      3. CLI modules
        1. sys, argparse, getopt
        2. Subcommands and command dispatchers
        3. CLI design patterns (subparsers, help messages)
      4. Import system internals
        1. importlib and module reloading
        2. sys.meta_path, loaders and finders
        3. Module caching and sys.modules
        4. Dynamic imports (__import__, importlib.import_module)
        5. Executing packages as scripts (python -m)
    4. Logging
      1. logging module fundamentals
        1. Logger hierarchy and propagation
        2. Logging levels (DEBUG, INFO, WARNING, ERROR, CRITICAL)
        3. Handlers, formatters, filters
        4. Configuration (basicConfig, dictConfig, fileConfig)
        5. Custom loggers and modular logging
      2. Structured and external logging
        1. JSON logging (jsonlogger)
        2. Log rotation (logging.handlers.RotatingFileHandler)
        3. Integration with monitoring tools (ELK, Prometheus)
      3. Distributed tracing and OpenTelemetry
        1. Traces, spans, and metrics
        2. Exporters and backends
        3. Integration with logging and asyncio
    5. Documentation
      1. Docstrings
        1. Inline documentation conventions
        2. Access via help() and .__doc__
      2. Docstring formats
        1. reStructuredText (reST)
        2. Google style
        3. NumPy style
        4. Epydoc and Sphinx roles
      3. doctest (testing from docstrings)
        1. Embedding examples
        2. Running tests from documentation
      4. Documentation generators and renderers
        1. sphinx (reST → HTML/PDF)
        2. readthedocs hosting
        3. mkdocs and Material for MkDocs
        4. pdoc3 (auto API documentation)
        5. Doxygen + Breathe integration
        6. JupyterBook for literate programming
        7. Integration with CI/CD (auto-generated docs)
    6. Testing
      1. Testing frameworks
        1. unittest (standard library)
        2. pytest (most popular)
        3. nose2 and legacy options
      2. Code coverage
        1. coverage.py basics
        2. pytest-cov integration
        3. Coverage thresholds and reports
      3. Testing types
        1. Unit Testing (unittest, pytest)
        2. Integration Testing (unittest, pytest)
        3. Functional Testing (unittest, pytest)
        4. Acceptance Testing (unittest, behave)
        5. Regression Testing (unittest, pytest)
        6. Performance Testing (timeit, pytest-benchmark)
        7. Load / Stress Testing (asyncio, locust)
        8. Security Testing (unittest, bandit)
        9. Property-Based Testing (unittest, hypothesis)
        10. Fuzz Testing (unittest, atheris)
        11. Snapshot Testing (unittest, syrupy)
        12. Contract Testing (unittest, pact)
        13. API Testing (http.client, pytest + requests)
        14. UI / E2E Testing (unittest, playwright)
        15. Database Testing (sqlite3, pytest + testcontainers)
        16. Async/Concurrency Testing (asyncio, pytest-asyncio)
        17. Data Quality / Validation Testing (json, great_expectations)
        18. Compatibility / Cross-env Testing (venv, tox)
        19. Smoke / Sanity Testing (unittest, pytest)
        20. Accessibility Testing (unittest, playwright)
      4. Fixtures and parametrization
        1. Test Lifecycle Hooks (unittest setUp/tearDown, pytest)
        2. Fixture Scopes (unittest class/module, pytest function/class/module/session)
        3. Autouse Fixtures (unittest base classes, pytest)
        4. Parametrized Tests (unittest subTest, pytest.mark.parametrize)
        5. Factory Fixtures (unittest helpers, pytest fixture factories)
        6. Temporary Paths and Files (tempfile, pytest.tmp_path)
        7. Environment and Patching (unittest.mock, pytest.monkeypatch)
        8. Capturing Output (contextlib.redirect_stdout, pytest.capsys/capfd)
        9. Logging Capture (logging, pytest.caplog)
        10. Time Control (time, freezegun)
        11. Network Isolation (socket, pytest + responses)
        12. Async Fixtures (asyncio, pytest-asyncio)
        13. Database Fixtures (sqlite3, pytest + testcontainers)
        14. Data Builders (json, factory_boy)
        15. Randomness Control (random, pytest-randomly)
      5. Advanced testing tools
        1. Mocking and Spies (unittest.mock, pytest-mock)
        2. Patch Utilities (unittest.mock.patch, pytest.monkeypatch)
        3. Coverage and Reports (trace, coverage.py)
        4. Parallel and Distributed Tests (multiprocessing, pytest-xdist)
        5. Flaky Test Control (unittest reruns, pytest-rerunfailures)
        6. Timeouts and Slow Tests (signal, pytest-timeout)
        7. Benchmarking (timeit, pytest-benchmark)
        8. Mutation Testing (ast, mutmut)
        9. HTTP Mocking (http.server, responses)
        10. Recording HTTP (VCR) (urllib, vcrpy)
        11. Contract & Schema Testing (json, schemathesis)
        12. Snapshot Testing (pickle, syrupy)
        13. Test Data Generation (random, faker)
        14. Test Selection & Caching (importlib, pytest-testmon)
        15. HTML/Allure Reports (unittest XML, pytest-html)
        16. CI/CD Integration (subprocess, tox)
        17. Profiling for Tests (cProfile, pyinstrument)
        18. Static Analysis (lint/type) (ast, ruff)
        19. Containerized Tests (subprocess, testcontainers)
        20. Async/Trio/AnyIO Tools (asyncio, pytest-anyio)
    7. Debugging
      1. Standard debuggers
        1. pdb
        2. bdb, ipdb, pudb
        3. IDE-integrated debuggers (VSCode, PyCharm)
      2. Remote and distributed debugging
        1. debugpy (VSCode protocol)
        2. rpdb, pydevd
      3. Traceback and runtime analysis
        1. Stack traces and frames
        2. Traceback objects and inspection
        3. faulthandler for low-level tracing
      4. Code tracing tools
        1. trace module (execution flow)
        2. inspect module (live introspection)
        3. sys._getframe, locals/globals inspection
        4. Profiling vs debugging differences
      5. Exception debugging
        1. Post-mortem debugging
        2. Context display (contextlib, traceback.print_exc)
        3. Custom exception hooks (sys.excepthook)
  5. Advanced Structures and Functional Programming
    1. Functional Programming
      1. Functional paradigms and immutability
      2. Higher-order functions (map, filter, reduce)
      3. Anonymous functions (lambda)
      4. functools utilities
        1. partial, cmp_to_key, cache, lru_cache, reduce
      5. operator module (functional equivalents for arithmetic/logical ops)
      6. Closures and free variables
      7. Currying and partial application
      8. Immutability and purity
      9. Function composition and pipelines
      10. Functional iteration (itertools, more-itertools)
      11. Side effects and referential transparency
      12. Recursion and tail call optimization
      13. Persistent data structures (immutables, pyrsistent)
    2. Itertools / Advanced Generators
      1. Combinatorial tools (product, permutations, combinations, combinations_with_replacement)
      2. Accumulators and counters (accumulate, count, cycle, repeat)
      3. Sequence utilities (chain, compress, dropwhile, takewhile, islice, starmap, tee, zip_longest, groupby)
      4. Infinite and lazy sequences (itertools, more-itertools)
      5. Generator delegation (yield from)
      6. Generator-based pipelines and streams (toolz, funcy)
    3. Memory Views
      1. Buffer protocol (low-level binary access)
      2. memoryview objects and slicing
      3. Byte arrays and binary manipulation (bytearray, array)
      4. Dict views (keys, items, values)
      5. Shared memory across processes (multiprocessing.shared_memory)
      6. Interfacing with C-level buffers (ctypes, numpy)
    4. Benchmarking and Profiling
      1. Timing and microbenchmarks (timeit, perf_counter)
      2. CPU profiling (cProfile, profile, pstats)
      3. Memory profiling (tracemalloc, memory_profiler)
      4. Line-level profiling (line_profiler)
      5. Statistical and sampling profilers (py-spy, scalene, yappi)
      6. Async profiling (aiomonitor, asyncio-run-instrument)
      7. Visualization tools (snakeviz, tuna, speedscope)
      8. Benchmark frameworks (pytest-benchmark, asv)
    5. Code Quality Tools
      1. Style and formatting (flake8, autopep8, black, isort)
      2. Type checking (mypy, pyright, pytype)
      3. Linting (pylint, ruff, prospector)
      4. Security analysis (bandit, safety)
      5. Metrics and complexity (radon, wily)
      6. Code modernization (pyupgrade, futurize, modernize)
      7. Git and pre-commit automation (pre-commit, tox, nox)
      8. Docstring and naming validation (pydocstyle, pep8-naming)
      9. Dead code and dependency analysis (vulture, pip-check)
      10. Refactoring tools (rope, bowler)
    6. Security
      1. Common Algorithms and Concepts
        1. Symmetric encryption (AES, ChaCha20)
        2. Asymmetric encryption (RSA, ECC)
        3. Hashing (SHA, BLAKE2, PBKDF2)
        4. Key derivation and stretching (scrypt, Argon2)
        5. Digital signatures and verification
        6. Certificates and PEM handling
        7. Public Key Infrastructure (PKI)
        8. Randomness and entropy pools
      2. Standard Library
        1. hashlib (hash algorithms, digests)
        2. secrets (secure randomness)
        3. ssl (TLS, context management)
        4. hmac (hash-based message authentication)
        5. base64 (binary encoding)
      3. Third-Party Libraries
        1. bcrypt
        2. passlib
        3. cryptography
        4. pyjwt
        5. argon2-cffi
        6. fernet
    7. Type Hints
      1. Function and variable annotations
      2. typing module fundamentals
      3. Type aliases (TypeAlias)
      4. Generic types (TypeVar, Generic)
      5. Protocols (PEP 544)
      6. Unions and optionals (Union, Optional)
      7. Literal types (Literal)
      8. NewType and nominal typing (NewType)
      9. Typed mappings (TypedDict)
      10. Self type and recursive references (Self, PEP 673)
      11. Parameter and return specifications (ParamSpec, Concatenate, PEP 612)
      12. Advanced static typing (mypy_extensions, typing_extensions)
      13. Runtime type checking (beartype, typeguard)
      14. Dataclass typing and validation (dataclasses, pydantic)
      15. Gradual typing and static analysis (mypy, pyright, ruff --extend-select TYP)
  6. Concurrency, Async, Low Level
    1. Async and Concurrency
      1. Thread-based concurrency (threading, concurrent.futures.ThreadPoolExecutor)
      2. Process-based parallelism (multiprocessing, concurrent.futures.ProcessPoolExecutor)
      3. Global Interpreter Lock (GIL) and its implications
      4. Synchronization primitives
        1. Locks (Lock, RLock)
        2. Semaphores, Events, Barriers, Conditions
        3. Queues (queue, asyncio.Queue, multiprocessing.Queue)
      5. Parallelism vs concurrency concepts
      6. Asynchronous programming (asyncio)
        1. async / await keywords
        2. Coroutines and cooperative multitasking
        3. Async iterators and async generators
        4. Async comprehensions
        5. Async context managers (async with)
        6. Event loop internals (asyncio.get_event_loop, policies)
        7. Task scheduling (create_task, gather, wait, shield)
        8. Synchronization primitives (Lock, Event, Semaphore, Condition)
        9. Exception handling and cancellation (CancelledError)
        10. Third-party event loops (uvloop, trio, anyio, curio)
        11. Green threads (greenlet, gevent)
        12. Background tasks and concurrency with async frameworks
        13. Integration with threads and processes (to_thread, run_in_executor)
        14. Async profiling and debugging (aiomonitor, asyncio.run, tracemalloc)
    2. Networking
      1. Networking fundamentals
        1. TCP/IP basics
        2. IP addressing and subnetting (ipaddress)
      2. Low-level networking (socket)
        1. TCP and UDP sockets
        2. Non-blocking I/O and selectors
        3. Socket options and timeouts
      3. High-level networking
        1. HTTP protocol basics
        2. URL handling (urllib, urllib3)
        3. HTTP clients (requests, httpx, aiohttp)
        4. WebSockets (websockets, aiohttp, fastapi.websockets)
        5. Email and SMTP (smtplib, imaplib, poplib, email)
        6. FTP and SFTP (ftplib, paramiko)
      4. Web application interfaces
        1. WSGI (wsgiref, flask)
        2. ASGI (fastapi, starlette, aiohttp)
        3. HTTP servers (http.server, aiohttp.web, uvicorn, hypercorn)
      5. Networking concurrency
        1. Async sockets (asyncio.start_server, asyncio.open_connection)
        2. Connection pooling and throttling
        3. DNS and async resolvers (aiodns)
        4. SSL/TLS contexts (ssl)
        5. Performance testing and benchmarking (ab, wrk, locust)
    3. Metaprogramming
      1. Metaclasses (type, __new__, __init__)
      2. Descriptors (__get__, __set__, __delete__)
      3. Difference between class decorators and metaclasses
      4. Dynamic class and attribute creation (setattr, getattr)
      5. Attribute access customization (__getattr__, __getattribute__)
      6. Decorator-based metaprogramming patterns
      7. Code generation and reflection (ast, inspect, types)
      8. Runtime modification of objects (monkey patching, proxy classes)
      9. Introspection and dynamic imports (importlib, sys.modules)
    4. Context Managers
      1. with statement semantics
      2. Built-in context managers (open, decimal.localcontext, threading.Lock)
      3. contextlib module
        1. contextmanager decorator
        2. ExitStack, redirect_stdout, suppress
      4. Async context managers (async with, @asynccontextmanager)
      5. Custom context managers (__enter__, __exit__)
      6. Resource cleanup and exception safety
      7. Nested and chained contexts (ExitStack)
    5. Monitoring
      1. Runtime monitoring (sys.monitoring, PEP 669)
      2. Code tracing (sys.settrace, sys.setprofile)
      3. Logging and telemetry integration (logging, OpenTelemetry)
      4. Application performance monitoring (APM) (sentry-sdk, datadog, newrelic)
      5. Resource usage tracking (resource, psutil)
      6. System-level inspection (os, platform, tracemalloc)
      7. Custom metrics and exporters (prometheus_client)
      8. Distributed tracing (opentelemetry, jaeger-client)
    6. Garbage Collection
      1. Reference counting and object lifetime
      2. gc module (manual control, thresholds, debug flags)
      3. Weak references (weakref, WeakKeyDictionary, WeakValueDictionary)
      4. Circular reference detection and cleanup
      5. Finalization and destructors (__del__, atexit)
      6. Object tracking and introspection (gc.get_objects, gc.get_referrers)
      7. Memory leaks and object retention analysis (objgraph, pympler)
      8. Interaction with C extensions and native memory
      9. Performance tuning and garbage collection strategies (gc.freeze, tuning generations)
  7. Implementation & Distribution
    1. General Environment Tools
      1. Virtual environments (venv, virtualenv)
      2. Interactive environments (jupyter, IPython)
      3. Package installation and dependency management (pip, requirements.txt)
      4. Modern build systems (pyproject.toml, poetry, flit, uv, pdm)
      5. Conda environments (conda, mamba)
      6. Python version management (pyenv, asdf, tox)
      7. Dependency resolution and locking (pip-tools, poetry.lock, uv.lock)
      8. Environment reproducibility (pip freeze, conda env export)
      9. Project isolation and sandboxes (direnv, nix-shell)
      10. Environment variables and configuration management (dotenv, pydantic-settings)
    2. Implementations
      1. Building Python from source (configure, make, installation paths)
      2. CPython internals and command-line interface
        1. Bytecode compilation (dis, compile)
        2. Interpreter flags (-O, -m, -B, -I)
        3. Debug builds and symbol tables
      3. Alternative implementations
        1. PyPy (JIT compiler and performance profiling)
        2. Cython (C extensions, pyximport, cythonize)
        3. Codon (Python-to-native compiler for performance)
        4. MicroPython (embedded systems)
        5. RustPython, GraalPy, Jython, IronPython
      4. Binary distribution
        1. pyinstaller (single-file executables)
        2. cx_Freeze (cross-platform packaging)
        3. nuitka (C++ compilation and optimization)
        4. shiv, pex (self-contained zip apps)
      5. Web runtimes and browser targets
        1. PyScript (Python in HTML, WASM-based)
        2. Pyodide (WASM + scientific stack)
        3. Brython (transpiles Python to JavaScript)
        4. Transcrypt (typed Python → JS transpiler)
      6. Embedding Python in other languages
        1. C API (Python.h)
        2. ctypes and cffi
        3. Integration in C/C++, Rust, and Go projects
        4. Cross-language execution (subprocess, ffi, wasmer)
      7. Extending Python with native code
        1. C extensions and modules
        2. pybind11, Cython, cffi
        3. Shared libraries and ABI compatibility
    3. Packaging
      1. Packaging process
        1. setuptools and setup.py
        2. setup.cfg (declarative configuration)
        3. pyproject.toml (PEP 517/518 compliant builds)
        4. Build artifacts (sdist, wheel)
        5. Distribution upload (twine, flit publish, poetry publish)
        6. Package signing and verification (gpg, twine --sign)
      2. Package indexes
        1. PyPI (official package index)
        2. TestPyPI (staging environment)
        3. pypiserver (self-hosted registries)
        4. Private and enterprise registries (devpi, artifactory, nexus)
      3. Versioning and metadata
        1. Semantic versioning (PEP 440)
        2. Metadata and classifiers (setup.cfg, pyproject.toml)
        3. Dynamic versioning tools (setuptools_scm, bumpver, versioneer)
      4. Dependency management and resolution (pip, resolverlib)
      5. Package auditing and signing (pip-audit, gpg, sigstore)
      6. Cross-platform builds and reproducibility (build, cibuildwheel, tox)
    4. CLI Apps
      1. CLI argument parsing
        1. argparse (std lib)
        2. optparse (legacy)
        3. getopt (low-level)
      2. Command frameworks
        1. click
        2. typer
        3. python-fire
      3. Console utilities
        1. colorama (color support)
        2. rich (formatting, live tables, progress bars)
        3. prompt_toolkit, inquirer (interactive prompts)
      4. CLI packaging
        1. Entry points (console_scripts)
        2. Shell completion generation
        3. Cross-platform support (os, shutil.which)
    5. Graphical Apps
      1. GUI frameworks
        1. tkinter (standard library)
        2. PyQt5, PySide6 (Qt bindings)
        3. Kivy, KivyMD (mobile and touch support)
        4. wxPython (native widgets)
        5. Dear PyGui (immediate-mode GUI)
        6. PyGObject, GTK3/4
      2. Game and multimedia frameworks
        1. pygame, arcade, ursina
      3. GUI builders and design tools (Qt Designer, Glade)
      4. Cross-platform packaging (pyinstaller, briefcase)
    6. Internationalization (i18n) and Localization (l10n)
      1. Text translation and message catalogs
        1. gettext (std lib)
        2. babel (third-party)
        3. polib (PO file management)
      2. Locale management (locale, setlocale, environment vars)
      3. Number, date, and currency formatting
        1. babel.numbers, babel.dates
        2. locale.format_string
      4. Unicode normalization and encoding handling (unicodedata)
      5. Time zones and calendars (zoneinfo, dateutil)
      6. Multi-language configuration and packaging (gettext, pybabel extract/update)
  8. Internals
    1. Python Compiler & Interpreter
      1. Abstract Syntax Tree (AST) (ast, compile)
      2. Bytecode inspection (dis, opcode)
      3. Tokenization and lexing (tokenize, token)
      4. Lexical analysis and parsing pipeline
      5. Symbol tables and scoping (symtable)
      6. Compilation stages (source → AST → bytecode)
      7. Evaluation loop (CEval)
      8. Frame objects (sys._getframe, inspect)
      9. Code objects (__code__, types.CodeType)
      10. Bytecode caching (.pyc, __pycache__)
      11. Optimization flags (-O, -OO)
      12. Dynamic code execution (eval, exec)
      13. Compile-time constants and folding
      14. Abstract interpretation and future statements (__future__)
    2. Execution Model
      1. Call stack and stack frames
      2. Function call mechanics and parameter passing
      3. Coroutine scheduling and task switching (asyncio, trio)
      4. Import execution and module caching (importlib, sys.modules)
      5. Global state and thread safety (threading, contextvars)
      6. Context variables (PEP 567)
      7. Event loop interaction and scheduling
      8. Exception propagation across async boundaries
      9. Interpreted vs compiled function calls (builtin_function_or_method)
      10. Trampolines and frame reuse optimizations
      11. Generator and async state machines
    3. Data Model
      1. ctypes and C-compatible structures
      2. Object memory layout and slots (__slots__)
      3. PyObject structure and reference model
      4. Type objects and inheritance hierarchy
      5. Method resolution order (C3 linearization)
      6. Data vs non-data descriptors (__get__, __set__, __delete__)
      7. Dynamic attribute resolution (__getattr__, __getattribute__)
      8. Numeric and sequence protocols (__add__, __getitem__, etc.)
      9. Callable protocol (__call__)
      10. Context manager protocol (__enter__, __exit__)
      11. Iterator protocol (__iter__, __next__)
      12. Coroutine protocol (__await__, __anext__)
      13. Mapping, hashing, and equality semantics (__hash__, __eq__)
    4. Python C Model
      1. CPython C API (Python.h)
      2. PyObject structure and reference counting
      3. Extending Python with C modules (PyModuleDef, PyMethodDef)
      4. Embedding Python in C/C++ applications (Py_Initialize, PyRun_SimpleString)
      5. Argument parsing (PyArg_ParseTuple, Py_BuildValue)
      6. Error and exception handling (PyErr_SetString, PyErr_Occurred)
      7. Memory management (Py_INCREF, Py_DECREF)
      8. GIL internals and state management (PyGILState_Ensure, PyEval_SaveThread)
      9. Frame and thread state (PyThreadState, PyInterpreterState)
      10. C API headers (object.h, listobject.h, dictobject.h)
      11. Subinterpreters and isolated runtimes (_xxsubinterpreters, PEP 684)
      12. Cython bridge and interoperability (cython, pyximport)
      13. ABI stability and limited API (Py_LIMITED_API, PEP 384)
      14. Capsule and pointer exchange (PyCapsule)
    5. Extensions
      1. Protocols and Foreign Function Interfaces (FFI)
        1. ctypes
        2. cffi
        3. pybind11
        4. SWIG
      2. Inter-language data marshaling and memory safety
      3. Extending and embedding with native languages
        1. C
        2. C++
        3. Rust (PyO3, rust-cpython, maturin)
        4. Go (gopy, cgo, pygo)
      4. WASM integration (wasmer, wasmtime-py)
      5. Cross-language RPC frameworks (grpc, capnp, flatbuffers)
      6. Plugin systems and dynamic loading (importlib.machinery, ctypes.CDLL)
      7. Binary interface and FFI debugging (gdb, valgrind, lldb-python)

8.2 - JavaScript y TypeScript

  1. Introducción
    1. Historia y Evolución de JavaScript y TypeScript
      1. Origen de JavaScript en el navegador (Brendan Eich, 1995)
      2. Estándar ECMAScript y rol de ECMA International
      3. Comité TC39 y proceso de propuestas
      4. Evolución de ECMAScript (ES3, ES5, ES2015+)
      5. Aparición de TypeScript como superconjunto tipado de JavaScript
      6. Filosofía de TypeScript: tipado estático opcional y verificación en tiempo de compilación
      7. Compatibilidad progresiva con JavaScript existente
      8. Influencia de C#, Java y lenguajes estáticos en el diseño de TypeScript
      9. Adopción en backend, frontend y full-stack
      10. Impacto de Node.js en el uso de JavaScript fuera del navegador
      11. Expansión del ecosistema: Deno, Bun y runtimes alternativos
      12. Evolución del tooling: bundlers, transpiladores, linters
      13. Uso de TypeScript en grandes bases de código y monorepos
      14. Transición de JavaScript clásico basado en funciones a clases, módulos y async/await
      15. “Any valid JavaScript is valid TypeScript” como principio de diseño
    2. Versiones y Compatibilidad
      1. Versionado semántico de TypeScript
      2. Versionado de Node.js y compatibilidad con ECMAScript
      3. target y lib en tsconfig.json
      4. Downleveling y transpilación (ESNext → ES5)
      5. Compatibilidad con navegadores y entornos legacy
      6. Polyfills y core-js
      7. Características propuestas (stage 0–4) y su adopción en TypeScript
      8. Estabilidad de sintaxis frente a features experimentales
      9. Tipos DOM según versión de @types/web
      10. Estrategias de upgrade mayor de TypeScript en proyectos grandes
      11. Compatibilidad entre módulos ES (import/export) y CommonJS (require/module.exports)
      12. Detección de versión en runtime (process.versions, navigator.userAgent)
      13. Dependencia en especificación del Event Loop del host (browser vs Node)
      14. Compatibilidad entre distintos bundlers y empaquetadores
      15. Compatibilidad entre ts-node, tsx, babel, esbuild
    3. Instalación del Entorno
      1. Instalación de Node.js (instalador oficial)
      2. Instalación con nvm / fnm / asdf
      3. Instalación de Deno
      4. Instalación de Bun
      5. npm como package manager por defecto
      6. yarn clásico y yarn modern
      7. pnpm y almacenamiento global basado en content-addressable store
      8. Instalación global de typescript (npm install -g typescript)
      9. Instalación local de typescript como dependencia de desarrollo
      10. Verificación de node, npm, tsc en PATH
      11. Configuración inicial de proyecto (npm init, pnpm init, yarn init)
      12. Inicialización de TypeScript (tsc --init)
      13. Estructura de carpetas recomendada (src, dist, test)
      14. Soporte multiplataforma (Windows, macOS, Linux)
      15. Contenedores y devcontainers (Dockerfile, devcontainer.json)
    4. Ejecución de Código y REPL
      1. Ejecución directa de JavaScript con node archivo.js
      2. REPL interactivo de Node.js
      3. Ejecución directa de TypeScript con ts-node
      4. Ejecución directa de TypeScript con tsx
      5. Ejecución TypeScript nativa en Deno
      6. Ejecución TypeScript nativa en Bun
      7. Compilación explícita con tsc y luego ejecución con Node.js
      8. Flags comunes de Node (--inspect, --require, --experimental-*)
      9. Flags comunes de ts-node / tsx
      10. Uso de importaciones ES en Node ("type": "module")
      11. Uso de la consola del navegador como entorno interactivo
      12. Ejecución en entornos sandbox (CodeSandbox, StackBlitz)
      13. I/O estándar (stdin, stdout, stderr) en Node
      14. Pipes y redirección de salida en CLI de Node
      15. Hot reload durante desarrollo con nodemon, ts-node-dev
    5. IDEs y Editores
      1. Visual Studio Code y el Language Service de TypeScript
      2. WebStorm / IntelliJ IDEA con soporte TypeScript integrado
      3. Neovim con LSP (typescript-language-server)
      4. Vim con coc.nvim y extensiones TS
      5. Emacs con lsp-mode y tide
      6. Autocompletado, IntelliSense y sugerencias de tipo
      7. Navegación de código (Go to Definition, Find References)
      8. Refactorizaciones automáticas (renombrar símbolos, extraer funciones)
      9. Soporte de linters (ESLint) integrado en el editor
      10. Formato automático con Prettier
      11. Integración de debuggers (Chrome DevTools, Node Inspector)
      12. Integración con Git y control de versiones
      13. Snippets y plantillas de código repetitivo
      14. Diagnóstico en tiempo real del compilador de TypeScript
      15. Entornos de notebooks JS/TS (Quokka, Jupyter con kernels JS)
    6. Entornos de Proyecto y Aislamiento
      1. node_modules como entorno aislado por proyecto
      2. package.json como descriptor de entorno
      3. package-lock.json, yarn.lock, pnpm-lock.yaml
      4. Resolución determinista de dependencias
      5. Workspaces (yarn workspaces, pnpm workspaces, npm workspaces)
      6. Monorepos y herramientas (turbo, nx, lage)
      7. Separación entre dependencias de runtime (dependencies) y de build (devDependencies)
      8. Scripts de proyecto (npm run, pnpm run)
      9. Estrategias de versionado interno en monorepos
      10. Aislamiento por versión de Node usando nvm dentro del proyecto
      11. Contenedores reproducibles para desarrollo (Docker Compose)
      12. Variables de entorno (.env, dotenv, process.env)
      13. Reproducibilidad de builds en CI
      14. Caché incremental de transpilación y bundling
      15. Estándares de estructura de carpetas (src, lib, dist, scripts)
    7. Gestión de Paquetes y Dependencias
      1. npm install, npm update, npm uninstall
      2. yarn add, yarn remove, yarn upgrade
      3. pnpm add, pnpm remove, pnpm update
      4. Versiones fijas vs rangos (^, ~, *)
      5. Dependencias opcionales y peer dependencies
      6. Resolución de conflictos de versiones
      7. Auditoría de dependencias (npm audit, pnpm audit)
      8. Firma y verificación de integridad (shasum)
      9. Repositorios privados (Artifactory, Verdaccio)
      10. Instalaciones link/workspace locales
      11. Publicación de paquetes internos
      12. Tipos externos (@types/*) para librerías JS puras
      13. Mantenimiento de typesVersions en librerías TypeScript
      14. Dependencias transpiladas vs dependencias puras ESM
      15. Gestión de binarios nativos precompilados
    8. Herramientas del Ecosistema Web
      1. Bundlers (webpack, esbuild, rollup, vite)
      2. Compilación incremental y HMR (Hot Module Replacement)
      3. Transformación con Babel
      4. Minificación y tree-shaking
      5. Code splitting y lazy loading
      6. Sourcemaps y depuración en el navegador
      7. Polyfills automáticos según destino
      8. Linter y formateador integrados en pipeline de build
      9. Pruebas unitarias integradas en bundlers (vitest)
      10. Empaquetado para navegadores antiguos
      11. Empaquetado para runtimes edge
      12. Bundles isomórficos (SSR + CSR)
      13. Configuración multi-target (web, node, worker)
      14. Generación de tipos .d.ts
      15. Publicación de librerías como ESM y CJS
  2. Fundamentos
    1. Tipos Básicos y el Sistema de Tipos de TypeScript
      1. Declaración de variables con let, const, var
      2. Inferencia de tipos
      3. Anotaciones de tipo explícitas
      4. Tipos primitivos (string, number, boolean)
      5. Tipos null, undefined, void
      6. Tipos bigint y symbol
      7. Tipos literales ("ok", 42, true)
      8. Tipos unión (|)
      9. Tipos intersección (&)
      10. Tipos any, unknown, never
      11. Alias de tipo (type)
      12. Interfaces (interface)
      13. Tuplas ([T, U])
      14. Enums (enum, const enum)
      15. Objetos con propiedades opcionales y readonly
    2. Operadores
      1. Operadores aritméticos (+, -, *, /, %, **)
      2. Operadores de asignación compuesta (+=, -=, *=, etc.)
      3. Operadores de comparación (===, !==, <, >, <=, >=)
      4. Operadores lógicos (&&, ||, !)
      5. Operador de fusión nula (??)
      6. Operador de encadenamiento opcional (?.)
      7. Operadores bitwise (&, |, ^, ~, <<, >>, >>>)
      8. Operador ternario (cond ? A : B)
      9. Operadores de propagación (...spread)
      10. Destructuración de arrays y objetos
      11. Precedencia y asociatividad de operadores
      12. Cortocircuito en ||, && y ??
      13. Coerción implícita con == vs comparación estricta ===
      14. delete para eliminar propiedades de objetos
      15. in y instanceof para verificación de pertenencia y tipo
    3. Control de Flujo
      1. if, else if, else
      2. switch y case
      3. for, for...of, for...in
      4. while y do...while
      5. break y continue
      6. Etiquetas de bucle (label:)
      7. Bloques con {} y alcance léxico
      8. Guard clauses y retornos tempranos
      9. throw para interrupción de flujo
      10. Narrowing de tipos dentro de condiciones
      11. Type guards personalizados con predicados (param is Tipo)
      12. Flujo de control basado en in, typeof, instanceof
      13. Exhaustividad en switch con never
      14. Assertions de no-nulo (!)
      15. Patrones de control de flujo funcional (array.filter, array.map)
    4. Funciones
      1. Declaraciones de función (function foo() {})
      2. Funciones flecha (const f = () => {})
      3. Parámetros tipados
      4. Parámetros opcionales (param?: T)
      5. Parámetros con valor por defecto
      6. Parámetros rest (...args: T[])
      7. Tipado de retorno explícito
      8. Funciones que retornan void
      9. Funciones que nunca retornan (never)
      10. Sobrecarga de funciones (signaturas múltiples)
      11. Funciones genéricas (<T>)
      12. Clausuras y entorno léxico
      13. this y binding explícito
      14. call, apply, bind
      15. Funciones async (async function)
    5. Errores y Excepciones
      1. try, catch, finally
      2. Lanzar errores (throw new Error())
      3. Tipado del valor capturado en catch
      4. Errores síncronos vs rechazos de Promesas
      5. Errores personalizados (class MiError extends Error)
      6. Rechazo de Promesas sin catch
      7. Manejo de errores en funciones async/await
      8. Promise.catch y try/catch async
      9. Errores de tipo (TypeError, RangeError, etc.)
      10. Assertions de tipo mal usadas y errores en runtime
      11. Enmascaramiento de errores con any
      12. Estrategias de logging de errores
      13. Errores fatales en Node (process.exit)
      14. Manejo centralizado de errores en aplicaciones web
      15. Errores recuperables vs no recuperables
    6. Entorno Global y Builtins
      1. Objeto global (globalThis)
      2. Objetos estándar (Object, Array, Map, Set)
      3. Math y operaciones numéricas
      4. Date y tiempo en milisegundos
      5. JSON (parse/stringify)
      6. console para salida estándar
      7. Promise como primitiva de async
      8. Symbol como clave única
      9. BigInt para enteros grandes
      10. RegExp para expresiones regulares
      11. Error y subclases integradas
      12. URL y URLSearchParams
      13. Intl e internacionalización
      14. TextEncoder / TextDecoder
      15. AbortController y cancelación
    7. Módulos e Imports
      1. Módulos ES (import, export)
      2. Importaciones por nombre y por defecto
      3. Reexportaciones (export * from)
      4. Import dinámico (import())
      5. Namespaces internos en TypeScript (namespace, legado)
      6. CommonJS (require, module.exports)
      7. Uso de "type": "module" en Node
      8. Resolución de rutas relativas y absolutas
      9. Alias de paths en tsconfig.json (paths, baseUrl)
      10. Barrel files (index.ts)
      11. Separación de tipos y valores en imports (import type)
      12. export type para exponer sólo tipos
      13. Árbol de dependencias y ciclos
      14. Side effects de módulos
      15. División lógica por capas (domain, infra, ui)
    8. Plataforma y Entorno de Ejecución
      1. DOM y APIs del navegador
      2. Node.js y APIs del sistema de archivos
      3. Web Workers y aislamiento de hilos en navegador
      4. Service Workers y ciclo offline
      5. APIs WebCrypto
      6. fetch y red HTTP
      7. Web Storage (localStorage, sessionStorage)
      8. IndexedDB
      9. Streams en navegador
      10. Streams en Node (fs.createReadStream)
      11. Timers (setTimeout, setInterval)
      12. Event Loop (cola de tareas y microtareas)
      13. APIs de proceso en Node (process, os)
      14. Variables de entorno y configuración
      15. Interoperabilidad entre frontend y backend con el mismo lenguaje
  3. Estructuras y Manipulación de Datos
    1. Estructuras de Datos Fundamentales
      1. Arrays dinámicos (Array<T>)
      2. Tuplas tipadas en TypeScript
      3. Objetos literales como mapas clave-valor
      4. Map y WeakMap
      5. Set y WeakSet
      6. Pilas (stack) basadas en arrays
      7. Colas (queue) basadas en arrays
      8. Colas dobles (deque) con estructuras circulares
      9. Árboles y tries implementados en objetos/Map
      10. Grafos representados con listas de adyacencia
      11. Tablas hash y colisiones (visión conceptual)
      12. Inmutabilidad estructural con readonly
      13. Clonado superficial vs profundo (structuredClone)
      14. Comparación por referencia vs comparación por valor
      15. Uso de Object.freeze
    2. Iteradores y Generadores
      1. Protocolo iterable ([Symbol.iterator])
      2. Protocolo async iterable ([Symbol.asyncIterator])
      3. for...of para recorrer iterables
      4. Generadores (function*)
      5. Generadores async (async function*)
      6. yield y comunicación bidireccional
      7. Iteradores personalizados en clases
      8. Consumo manual de iteradores (next())
      9. Generadores como reemplazo de estados internos complejos
      10. Streams de datos perezosos
      11. Composición de generadores
      12. Uso de generadores para testing y mocking
      13. Adaptación de callbacks a iterables async
      14. Backpressure conceptual en flujos iterables
      15. Comparación entre for...of y métodos de array
    3. Arrays y Métodos Funcionales
      1. push, pop, shift, unshift
      2. slice y splice
      3. map para transformación
      4. filter para selección
      5. reduce para acumulación
      6. some y every
      7. find y findIndex
      8. flat y flatMap
      9. Ordenamiento con sort
      10. Comparadores personalizados en sort
      11. Copia inmutable con el spread [...arr]
      12. Particionamiento y groupBy (patrones comunes)
      13. Deduplicación usando Set
      14. Zipping y combinaciones de arrays
      15. Arrays tipados (Uint8Array, Float32Array, etc.)
    4. Manipulación de Strings y Texto
      1. Literales de string simples y template strings
      2. Concatenación y +
      3. Substrings y slice
      4. Búsqueda (indexOf, includes, startsWith, endsWith)
      5. Reemplazo (replace, replaceAll)
      6. División (split)
      7. Unión (join) desde arrays
      8. Normalización Unicode (normalize)
      9. Interpolación con template literals
      10. Construcción incremental de strings (buffers de strings)
      11. Codificación y decodificación (TextEncoder, TextDecoder)
      12. Serialización y deserialización JSON (JSON.stringify, JSON.parse)
      13. Escapado seguro para HTML (patrones)
      14. Plantillas etiquetadas (tagged templates)
      15. Internacionalización de texto con Intl.MessageFormat (visión general)
    5. Expresiones Regulares
      1. Literales /patrón/flags
      2. Constructor new RegExp()
      3. Flags comunes (g, i, m, s, u, y)
      4. Grupos de captura
      5. Grupos con nombre ((?<name>...))
      6. Lookahead y lookbehind
      7. Cuantificadores (+, *, {m,n})
      8. Límites de palabra y línea (\b, ^, $)
      9. Métodos test, exec
      10. Métodos de string que aceptan regex (match, matchAll, replace, split)
      11. Rendimiento y backtracking excesivo
      12. Sanitización de entradas dinámicas en regex
      13. Comparación regex vs parseadores dedicados
      14. Construcción dinámica de patrones seguros
      15. Patrones comunes para validación de datos
    6. Archivos, Streams y Datos Binarios
      1. Sistema de archivos en Node (fs.readFile, fs.writeFile)
      2. Streams legibles y escribibles en Node (fs.createReadStream)
      3. Pipes (readable.pipe(writable))
      4. Buffers (Buffer)
      5. Lectura de binarios (Buffer, Uint8Array)
      6. Escritura incremental de logs y datos
      7. Manejo de archivos grandes sin cargar todo a memoria
      8. Blob y File en el navegador
      9. Descarga de archivos en navegador (creación de enlaces dinámicos)
      10. Subida de archivos con FormData
      11. fetch con ReadableStream
      12. Streams web (ReadableStream, WritableStream, TransformStream)
      13. Compresión y descompresión en Node (módulo zlib)
      14. Archivos temporales y directorios temporales
      15. Permisos y rutas en distintos sistemas operativos
    7. Datos Especializados y Formatos
      1. CSV (parseo manual y librerías)
      2. JSON estructurado
      3. YAML y TOML en configuración
      4. XML y DOMParser
      5. HTML como árbol DOM
      6. Markdown como formato de contenido
      7. Binary blobs (imágenes, audio)
      8. ArrayBuffer y DataView
      9. Estructuras binarias con offsets fijos
      10. WebSockets como canal binario o texto
      11. IndexedDB como base de datos del navegador
      12. LocalStorage / SessionStorage como key-value store
      13. Cache Storage en Service Workers
      14. Serialización estructurada (structuredClone)
      15. Mensajería entre hilos (postMessage)
    8. Tiempo y Fechas
      1. Objeto Date
      2. Timestamp en milisegundos desde Epoch
      3. Date.now() y mediciones rápidas
      4. Formateo manual de fechas
      5. Librerías de fechas (luxon, date-fns)
      6. Zonas horarias e Intl.DateTimeFormat
      7. Parseo de cadenas de fecha
      8. Medición de rendimiento con performance.now()
      9. setTimeout y temporizadores
      10. setInterval y loops periódicos
      11. Cancelación de temporizadores (clearTimeout, clearInterval)
      12. Animaciones ligadas a requestAnimationFrame
      13. Sincronización de relojes entre cliente y servidor
      14. Cuestiones de DST y horario de verano
      15. Desfase entre reloj del sistema y reloj del servidor
  4. Programación Estructurada y Modular
    1. Programación Orientada a Objetos (POO) en TypeScript/JavaScript
      1. Clases (class)
      2. Constructores (constructor)
      3. Propiedades de instancia
      4. Propiedades estáticas
      5. Métodos de instancia y estáticos
      6. Herencia con extends
      7. super y sobreescritura de métodos
      8. Modificadores de acceso (public, private, protected)
      9. Campos readonly
      10. Campos opcionales en clases
      11. Clases abstractas (abstract class)
      12. Métodos abstractos
      13. Interfaces como contratos de clases
      14. Implementación múltiple de interfaces
      15. Mixins y composición en lugar de herencia múltiple
    2. Decoradores y Metadatos
      1. Decoradores de clase
      2. Decoradores de método
      3. Decoradores de propiedad
      4. Decoradores de parámetro
      5. Metadata Reflection (reflect-metadata)
      6. Patrones de inyección de dependencias con decoradores
      7. Decoradores para validación
      8. Decoradores para logging y trazas
      9. Decoradores para binding automático de this
      10. Decoradores en frameworks (Angular, NestJS)
      11. Estado de estandarización de decoradores TC39
      12. Implicancias en tree-shaking y minificación
      13. Uso de decoradores en tests y mocks
      14. Decoradores y compatibilidad con emitDecoratorMetadata
      15. Consideraciones de rendimiento y orden de evaluación
    3. Módulos, Capas y Arquitectura
      1. Patrones de organización por dominio
      2. Patrones de organización por tipo (controllers, services, utils)
      3. Capas de infraestructura, dominio y aplicación
      4. Capas de UI, lógica y acceso a datos
      5. Módulos ES y carga estática
      6. Carga dinámica con import()
      7. CommonJS en entornos legacy
      8. Barrel modules (index.ts)
      9. Separación entre tipos y valores (import type)
      10. Evitar dependencias circulares
      11. Namespaces internos (histórico en TS)
      12. API pública vs detalles internos
      13. Versionado semántico de módulos internos
      14. Gestión de rutas absolutas con paths en tsconfig.json
      15. Monorepos con múltiples paquetes versionados
    4. Logging y Observabilidad
      1. console.log, console.warn, console.error
      2. Loggers estructurados (pino, winston)
      3. Niveles de log (debug, info, warn, error)
      4. Serialización segura de objetos en logs
      5. Formato JSON para logs machine-readable
      6. Logging en el navegador vs logging en Node
      7. Redacción de datos sensibles en logs
      8. Logs de rendimiento y tiempos de respuesta
      9. Integración con sistemas externos (APM)
      10. Trazas distribuidas (traceId, spanId)
      11. Métricas y contadores personalizados
      12. Alertas basadas en logs
      13. Integración con console.group y console.table
      14. Uso de debug namespaced en Node
      15. Logging condicional según NODE_ENV
    5. Documentación y Comentarios de Tipo
      1. Comentarios JSDoc
      2. Etiquetas @param, @returns, @deprecated
      3. Comentarios de tipo en JavaScript con // @ts-check
      4. Inferencia de tipos a partir de JSDoc
      5. TSDoc y convenciones para librerías públicas
      6. Generación automática de documentación de API
      7. Documentación en línea para funciones públicas
      8. Documentación para consumidores externos vs internos
      9. Comentarios de intención vs comentarios obvios
      10. Contratos de interfaz y documentación de invariantes
      11. Versionado de la documentación junto al código
      12. README técnicos por paquete
      13. Diagramas de arquitectura en monorepos
      14. Uso de /** @internal */ y visibilidad interna
      15. Control de documentación para clientes externos en SDKs
    6. Testing
      1. jest como framework de pruebas
      2. vitest y entornos ESM
      3. mocha + chai
      4. uvu, tape y frameworks minimalistas
      5. Pruebas unitarias
      6. Pruebas de integración
      7. Pruebas de extremo a extremo (E2E)
      8. Pruebas en navegador con Playwright
      9. Pruebas de API con Supertest / fetch mockeado
      10. Snapshots de UI
      11. Cobertura de código (coverage, istanbul, c8)
      12. Mocks y espías (jest.fn)
      13. Fixtures reutilizables
      14. Tests async/await y control de timers falsos
      15. Ejecución de tests en CI/CD
    7. Depuración
      1. Debugger en Chrome DevTools
      2. Debugger en VS Code (launch.json)
      3. node --inspect y el inspector de Node
      4. Breakpoints condicionales
      5. debugger; en el código
      6. Sourcemaps para mapear TypeScript → JavaScript
      7. Inspección de pila de llamadas (stack trace)
      8. Inspección de variables locales en tiempo real
      9. Watch expressions en el debugger
      10. Performance Profiler en navegador
      11. Heap snapshot para memoria
      12. Análisis de fugas de memoria en Node
      13. Depuración de Promesas rechazadas
      14. Seguimiento de eventos async en DevTools
      15. Depuración remota en contenedores y servidores
    8. Patrones de Diseño y Buenas Prácticas
      1. Programación funcional vs POO en JavaScript moderno
      2. Patrón módulo
      3. Patrón fábrica
      4. Patrón singleton
      5. Patrón estrategia
      6. Patrón adaptador
      7. Patrón fachada
      8. Patrón decorador (a nivel de objetos)
      9. Patrón observador (EventEmitter)
      10. Inyección de dependencias
      11. Patrón repositorio en capas de datos
      12. Patrón builder y objetos inmutables
      13. Patrón middleware (pipelines de funciones)
      14. Separación de concerns entre dominio y framework
      15. Diseño orientado a interfaces en TypeScript
  5. Estructuras Avanzadas y Programación Funcional
    1. Programación Funcional
      1. Funciones puras
      2. Inmutabilidad de datos
      3. Evitar efectos secundarios
      4. map, filter, reduce como patrones
      5. Composición de funciones
      6. Currificación y partial application
      7. Funciones de orden superior
      8. Aplicaciones point-free
      9. Inmutabilidad estructural con readonly
      10. Patrones de actualización inmutable con spread
      11. Librerías de FP (Ramda)
      12. Monads y Either / Result (patrones funcionales)
      13. Option / Maybe como alternativa a null
      14. Validación funcional de datos
      15. Manejo funcional de errores en Promesas
    2. Iterables Avanzados y Generadores
      1. Iteración lazy para eficiencia
      2. Pipelines de datos con generadores
      3. Transformaciones paso a paso sin arrays intermedios
      4. Generadores async para streams remotos
      5. Consumo incremental de APIs paginadas
      6. Backpressure conceptual en streams async
      7. Coordinación de multitarea con generadores
      8. Implementación de Symbol.iterator
      9. Implementación de Symbol.asyncIterator
      10. Reintentos y recolección gradual de datos
      11. Iteradores infinitos controlados
      12. Conversión entre generadores y arrays
      13. Iteración sobre estructuras personalizadas
      14. for await...of en flujo async
      15. Patrones de pausar y reanudar ejecución
    3. Buffers Binarios y Vistas de Memoria
      1. ArrayBuffer
      2. DataView
      3. Typed arrays (Uint8Array, Float64Array)
      4. Interpretación de datos binarios crudos
      5. Endianness y lectura multibyte
      6. Construcción de protocolos binarios personalizados
      7. Conversión entre Buffer (Node) y typed arrays
      8. Serialización eficiente para red
      9. WebSockets binarios
      10. WebRTC DataChannels binarios
      11. Transferencia de memoria entre hilos (postMessage con transfer)
      12. Uso en criptografía y hashing
      13. Parsing de archivos multimedia
      14. Procesamiento de audio en tiempo real
      15. Integración con WebAssembly (memoria compartida)
    4. Rendimiento y Profiling
      1. Micro-optimizaciones vs optimización algorítmica
      2. Complejidad temporal y espacial en JS/TS
      3. Perfilador de rendimiento del navegador
      4. Perfilador de CPU en Node
      5. Perfilador de heap y memory leaks
      6. performance.now() y medición precisa
      7. console.time y console.timeEnd
      8. Optimización de loops
      9. Evitar trabajo innecesario en renders UI
      10. Evitar bloqueos del Event Loop
      11. Web Workers para tareas pesadas
      12. División de código (code splitting)
      13. Carga diferida (lazy loading)
      14. Caché de resultados (memoización)
      15. Optimización de serialización/deserialización JSON
    5. Calidad de Código y Estándares
      1. ESLint
      2. Reglas de estilo y convenciones del equipo
      3. Prettier como formateador de código
      4. Reglas específicas de TypeScript (@typescript-eslint)
      5. Reglas de seguridad (no eval, no Function dinámica insegura)
      6. Reglas de complejidad ciclomática
      7. Reglas de longitud de archivo y función
      8. Detección de dead code
      9. Análisis estático del flujo de null/undefined
      10. Revisiones de código (pull requests)
      11. Hooks de pre-commit (lint-staged, husky)
      12. Convenciones de nombres (camelCase, PascalCase, UPPER_CASE)
      13. Convenciones de carpetas (utils, services, components)
      14. Convenciones para manejo de errores
      15. Documentación de decisiones arquitectónicas
    6. Seguridad y Criptografía
      1. Modelos de amenaza en aplicaciones web
      2. XSS (Cross-Site Scripting)
      3. CSRF (Cross-Site Request Forgery)
      4. Inyección de código en templates
      5. Validación y sanitización de input
      6. DOMPurify y sanitización HTML
      7. CORS y restricciones de origen
      8. Content Security Policy (CSP)
      9. Gestión de tokens y cookies seguras
      10. Almacenamiento seguro en localStorage vs cookies
      11. crypto.subtle y WebCrypto API
      12. Hashing y firma digital en el navegador
      13. Seguridad en Node (fugas de secretos en logs)
      14. Dependencias vulnerables y npm audit
      15. Gestión de secretos en variables de entorno
    7. Tipado Avanzado en TypeScript
      1. Tipos genéricos (<T>)
      2. Restricciones de genéricos (<T extends U>)
      3. Tipos condicionales (T extends U ? X : Y)
      4. Tipos inferidos en condicionales (infer)
      5. Tipos mapeados ({[K in Keys]: ...})
      6. keyof y manipulación de llaves
      7. Index signatures ([key: string]: T)
      8. readonly en tipos
      9. Remapeo de modificadores (-readonly, ?)
      10. Utility types estándar (Partial, Required, Pick, Omit)
      11. Record<K,V> y diccionarios tipados
      12. ReturnType, Parameters, ConstructorParameters
      13. ThisType y tipado contextual de this
      14. Inferencia contextual en funciones flecha
      15. Branding y nominal typing (patrón type ID = string & {__brand: "ID"})
    8. Validación de Datos y Esquemas
      1. Validación en runtime vs chequeo estático
      2. Zod y esquemas tipados
      3. io-ts y decodificación segura
      4. Validación de requests HTTP
      5. Validación de respuestas de APIs externas
      6. Aserciones de tipo (asserts value is Tipo)
      7. Narrowing manual con validadores
      8. Serialización segura para persistencia
      9. Sanitización de datos antes de guardarlos
      10. Transformaciones de entrada (DTOs)
      11. Contratos entre capas frontend y backend
      12. Tipos compartidos entre cliente y servidor
      13. Versionado de esquemas de datos
      14. Compatibilidad hacia atrás en APIs
      15. Migraciones de estructura de datos en el tiempo
  6. Concurrencia, Async y Bajo Nivel
    1. Async y Concurrencia en JavaScript
      1. Modelo single-threaded y Event Loop
      2. Promise como unidad básica de async
      3. async / await
      4. Estados de una Promesa (pending, fulfilled, rejected)
      5. Cadena de Promesas con .then
      6. Manejo de errores con .catch
      7. Ejecución paralela con Promise.all
      8. Ejecución competitiva con Promise.race
      9. Ejecución tolerante a fallas con Promise.allSettled
      10. Control de concurrencia con colas y semáforos userland
      11. Espera activa vs espera pasiva
      12. Bloqueos del Event Loop y CPU-bound
      13. Uso de Web Workers para CPU-bound en navegador
      14. Uso de worker_threads en Node
      15. Cancelación cooperativa con AbortController
    2. Networking y Comunicación
      1. fetch y solicitudes HTTP
      2. XMLHttpRequest (legado)
      3. WebSockets
      4. Server-Sent Events (SSE)
      5. gRPC-Web (patrones)
      6. Protocolos binarios sobre TCP en Node (net)
      7. HTTPS en Node (https)
      8. HTTP/2 y multiplexación
      9. Tiempo de espera y reintentos
      10. Política de mismo origen en navegador
      11. CORS y credenciales
      12. Serialización y deserialización JSON
      13. Streaming de respuesta con ReadableStream
      14. Subida de archivos en trozos (chunked upload)
      15. APIs en tiempo real y suscripción de eventos
    3. Multithreading, Workers y Paralelismo
      1. Web Workers en navegador
      2. Dedicated Workers vs Shared Workers
      3. Transferencia de buffers entre hilos
      4. SharedArrayBuffer
      5. Atomics y sincronización de memoria compartida
      6. worker_threads en Node
      7. Clustering de procesos en Node (cluster)
      8. Balanceo de carga en múltiples workers
      9. Comunicación entre workers con postMessage
      10. Aislamiento de estado y side effects
      11. Pools de workers
      12. Limitaciones de acceso al DOM en Web Workers
      13. Aceleración de tareas pesadas (compresión, hashing)
      14. Streams entre threads
      15. Diseño de pipelines paralelos
    4. Metaprogramación y Reflexión
      1. Proxy para interceptar acceso a objetos
      2. Reflect para operaciones de bajo nivel
      3. Definición de propiedades con Object.defineProperty
      4. Descriptores de propiedad (get, set, enumerable, configurable)
      5. Object.getPrototypeOf y Object.setPrototypeOf
      6. Object.freeze y Object.seal
      7. Patrón de interceptores y validación dinámica
      8. Generación dinámica de clases y funciones
      9. Evaluación dinámica de código (riesgos de eval)
      10. Serialización y reconstrucción dinámica de objetos
      11. Decoradores (propuesta TC39) como metaprogramación declarativa
      12. Metadatos de tipos en runtime (emulación con reflect-metadata)
      13. Inspección de stack trace y Error.captureStackTrace
      14. Patrones AOP (aspect-oriented programming) con Proxies
      15. Instrumentación dinámica para profiling
    5. Gestión de Recursos y Ciclo de Vida
      1. try/finally para liberar recursos
      2. Cancelación con AbortController
      3. Control manual de conexiones abiertas
      4. Streams y close/destroy
      5. Suscripciones a eventos y removeEventListener
      6. Limpieza de setInterval y setTimeout
      7. Manejadores de cierre de proceso en Node (process.on("exit"))
      8. Gestión de sockets abiertos
      9. Liberación de handles en tests
      10. Patrones de “destructor” manual en JS
      11. Patrones using y Symbol.dispose (propuesta)
      12. Control explícito de sesiones y tokens
      13. Recursos del DOM (observadores, listeners)
      14. Evitar fugas de listeners en SPAs
      15. Limpieza de workers inactivos
    6. Monitoreo, Métricas y Telemetría
      1. console.time y console.count
      2. Performance API en navegador
      3. Node perf_hooks para medición
      4. Recolección de métricas de latencia
      5. Recolección de métricas de throughput
      6. Métricas de uso de memoria
      7. Métricas de GC y pausas
      8. Logs estructurados con IDs de correlación
      9. Trazas distribuidas con headers de tracing
      10. Exportación de métricas a sistemas externos
      11. Alertas automáticas en producción
      12. Health checks y endpoints /health
      13. Rate limiting y mecanismos antiabuso
      14. Auditoría de acciones del usuario
      15. Observabilidad en entornos serverless / edge
    7. Recolección de Basura y Memoria
      1. Modelo de memoria administrada en JS
      2. Recolección de basura generacional
      3. Referencias fuertes vs débiles
      4. WeakMap y WeakSet
      5. WeakRef y FinalizationRegistry
      6. Fugas de memoria por referencias colgantes
      7. Fugas de memoria en closures
      8. Fugas de memoria en listeners no removidos
      9. Fragmentación de heap
      10. Trazas de heap en DevTools
      11. Monitoreo de uso de memoria en Node
      12. Límites de memoria en entornos serverless
      13. Impacto de objetos gigantes y arrays densos
      14. Uso de estructuras inmutables para evitar duplicados grandes
      15. Pausas de GC y rendimiento en tiempo real
    8. Interoperabilidad con Bajo Nivel y WebAssembly
      1. WebAssembly en el navegador
      2. Cargar módulos WebAssembly desde JavaScript
      3. Tipos numéricos de bajo nivel en WebAssembly
      4. Compartir memoria entre WebAssembly y JS
      5. Llamar funciones WebAssembly desde JS
      6. Llamar funciones JS desde WebAssembly
      7. Uso de WebAssembly para cómputo intensivo
      8. Integración con librerías compiladas (C/C++/Rust)
      9. WebAssembly en Node
      10. Conversión de buffers binarios para FFI
      11. Overhead de cruce de frontera JS ↔ WASM
      12. Control de tiempo real y latencia baja
      13. Seguridad y sandboxing de WebAssembly
      14. Reutilización de lógica en cliente y servidor vía WASM
      15. Limitaciones de WebAssembly frente a JS puro
  7. Implementación y Distribución
    1. Herramientas de Entorno y Configuración
      1. tsconfig.json y opciones del compilador
      2. target y nivel de ECMAScript emitido
      3. module y formato de salida (ESNext, CommonJS)
      4. moduleResolution y resolución de paths
      5. strict y modo estricto
      6. noImplicitAny
      7. strictNullChecks
      8. esModuleInterop y compatibilidad con CommonJS
      9. skipLibCheck y rendimiento de compilación
      10. declaration y generación de .d.ts
      11. sourceMap para depuración
      12. outDir y rootDir
      13. Configuración por proyecto y references
      14. Proyectos incrementales (composite)
      15. paths y alias internos de importación
    2. Motores e Implementaciones de JavaScript
      1. V8 (Chrome, Node)
      2. SpiderMonkey (Firefox)
      3. JavaScriptCore (Safari)
      4. Chakra (histórico)
      5. Node.js como runtime en servidor
      6. Deno como runtime seguro y TS-first
      7. Bun como runtime y bundler integrado
      8. Cloudflare Workers / runtimes edge
      9. Service Workers y ejecución offline en navegador
      10. Motores en entornos embebidos (Electron)
      11. JS en entornos móviles híbridos
      12. Diferencias de API entre runtimes
      13. globalThis como abstracción común
      14. Límite de memoria y CPU en entornos edge/serverless
      15. Compatibilidad con módulos ES nativos
    3. Empaquetado, Build y Publicación
      1. webpack y empaquetado tradicional
      2. rollup para librerías
      3. esbuild y builds ultrarrápidos
      4. vite y desarrollo con HMR
      5. Transpilación con tsc
      6. Transpilación con Babel
      7. Tree-shaking y eliminación de código muerto
      8. Code splitting dinámico
      9. Generación de bundles múltiples (cjs, esm, iife)
      10. Minificación y ofuscación
      11. Generación de tipos .d.ts para consumidores TS
      12. Publicación en npm (npm publish)
      13. Versionado semántico (major.minor.patch)
      14. Changelogs y releases automatizados
      15. Publicación de paquetes privados internos
    4. Aplicaciones de Línea de Comando (CLI)
      1. Scripts ejecutables con Node (#!/usr/bin/env node)
      2. Commander.js para parseo de argumentos
      3. yargs para CLI declarativas
      4. process.argv y parseo manual
      5. Colores y formato en consola (chalk)
      6. Spinners y progreso visual en CLI
      7. Entrada interactiva (inquirer)
      8. Salida estructurada en JSON
      9. Logs y niveles verbosos (-v, --debug)
      10. Errores amigables en CLI
      11. Empaquetado de CLI en un solo archivo
      12. Distribución como paquete npm global
      13. Versionado y flags --version
      14. Comandos compuestos y subcomandos
      15. Autocompletado de shell (bash/zsh/fish)
    5. Aplicaciones Web y UI
      1. DOM y manipulación directa
      2. React y componentes funcionales
      3. JSX y TSX
      4. Hooks y estado local
      5. Estado global (Redux, Zustand)
      6. Context API
      7. Next.js y renderizado del lado del servidor (SSR)
      8. Vue con composición y tipado
      9. Svelte y bindings reactivos
      10. Web Components y customElements.define
      11. Shadow DOM y encapsulación de estilos
      12. CSS Modules / CSS-in-JS
      13. Accesibilidad (a11y)
      14. Persistencia de estado en localStorage
      15. Comunicación con APIs desde la UI
    6. Aplicaciones Móviles, Escritorio y Juegos
      1. React Native
      2. Expo y flujo móvil con TypeScript
      3. Capacitor / Ionic para apps híbridas
      4. Electron para escritorio
      5. Tauri y runtimes ligeros
      6. PWAs (Progressive Web Apps)
      7. Service Workers y caché offline
      8. Notificaciones push
      9. Acceso a hardware (sensores, cámara, micrófono)
      10. APIs de archivos locales en escritorio
      11. Motores gráficos 2D/3D (Pixi.js, Three.js)
      12. Animaciones con requestAnimationFrame
      13. Optimización de render en canvas/WebGL
      14. Sincronización de estado en tiempo real multijugador
      15. Distribución en tiendas (App Store / Play Store) vía wrappers
    7. Internacionalización (i18n) y Localización (l10n)
      1. API Intl
      2. Formato de números y monedas
      3. Formato de fechas y horarios
      4. Pluralización de mensajes
      5. Detección de locale del usuario
      6. Carga dinámica de mensajes traducidos
      7. Separación de traducciones por módulo
      8. Herramientas como i18next
      9. ICU MessageFormat
      10. Manejo de RTL (right-to-left)
      11. Zoned time y horario local
      12. Sensibilidad cultural en contenido
      13. Selección dinámica de fuentes y tipografías
      14. Traducción en build vs runtime
      15. Estrategias de fallback de idioma
    8. DevOps, Entrega y Despliegue
      1. Scripts de build en package.json
      2. Pipelines CI/CD
      3. Pruebas automáticas en cada commit
      4. Lint y type-check en CI
      5. Empaquetado para producción
      6. Despliegue en servidores Node tradicionales
      7. Despliegue serverless (AWS Lambda, Vercel Functions)
      8. Despliegue edge (Cloudflare Workers)
      9. Contenedores Docker para Node
      10. Health checks y monitoreo post-deploy
      11. Rollbacks y despliegues azules/verdes
      12. Feature flags y rollout gradual
      13. Versionado de APIs públicas
      14. Documentación de endpoints y contratos
      15. Observabilidad continua en producción
  8. Internos
    1. Compilador de TypeScript y Proceso de Transpilación
      1. Análisis léxico y parser
      2. Creación del AST (árbol de sintaxis abstracta)
      3. Chequeo de tipos estático
      4. Inferencia de tipos
      5. Ampliación y reducción de uniones
      6. Emisión (emit) de JavaScript
      7. Generación de d.ts para tipos públicos
      8. Sourcemaps para depuración
      9. Proyectos incrementales y tsbuildinfo
      10. Referencias a proyectos (project references)
      11. Diferencias entre tsc y Babel para TS
      12. Limitaciones del chequeo de tipos en tiempo de compilación
      13. Eliminación de tipos y anotaciones en el JS emitido
      14. Transformaciones personalizadas del compilador
      15. Integración del Language Service en el editor
    2. Modelo de Ejecución de JavaScript
      1. Call stack
      2. Contextos de ejecución
      3. Ámbito léxico y closures
      4. Hoisting de variables y funciones
      5. Resolución de this
      6. Strict mode ("use strict")
      7. Event Loop y cola de tareas
      8. Microtareas (Promise.then)
      9. Macrotareas (setTimeout, I/O)
      10. Repaint / reflow del navegador
      11. Prioridades de tareas en el navegador
      12. Bloqueo del main thread
      13. Interacción entre JS y render de la UI
      14. Rechazos no manejados de Promesas
      15. Módulos ES y carga dinámica en runtime
    3. Modelo de Datos y Prototipos
      1. Objetos y prototipos
      2. [[Prototype]] y __proto__
      3. Cadena de prototipos
      4. Herencia basada en prototipos
      5. Clases como azúcar sintáctico sobre prototipos
      6. Descriptores de propiedad
      7. Enumerabilidad e iteración de llaves
      8. Object.keys, Object.values, Object.entries
      9. Object.assign y mezcla de objetos
      10. Sellado y congelamiento de objetos
      11. Inmutabilidad superficial vs profunda
      12. Comparación de objetos por referencia
      13. Serialización con JSON.stringify
      14. Limitaciones de JSON.stringify (funciones, undefined, Symbol)
      15. Clonación estructurada (structuredClone)
    4. Optimizaciones del Motor JavaScript
      1. JIT (Just-In-Time compilation)
      2. Inline caching
      3. Hidden classes
      4. Escape analysis
      5. Optimización de funciones calientes
      6. Deoptimización cuando cambian los tipos
      7. Representación interna de números (double, SMI)
      8. Recolección generacional de basura
      9. Inlining de funciones
      10. Eliminación de bounds checks en arrays
      11. Optimización de bucles apretados
      12. Penalización por megamorphic call sites
      13. Estructuras densas vs dispersas en arrays
      14. Impacto de delete en arrays
      15. Costo de capturar closures con muchas variables
    5. Interoperabilidad Nativa y FFI
      1. Addons nativos en Node (N-API)
      2. Interfaz C/C++ para módulos de alto rendimiento
      3. Compilación de addons para múltiples plataformas
      4. Gestión de memoria manual en addons
      5. Paso de buffers binarios entre JS y C++
      6. Seguridad y aislamiento al ejecutar código nativo
      7. Puentes con Rust (Neon, napi-rs)
      8. Puentes con Go (gobridge)
      9. Llamadas a librerías del sistema desde Node
      10. Consideraciones de portabilidad en binarios precompilados
      11. Versionado de ABI y compatibilidad
      12. Costos de cruce entre JS y nativo
      13. Exponer bindings tipados a TypeScript
      14. Depuración de código nativo integrado
      15. Distribución de módulos con binarios preconstruidos
    6. WebAssembly y Runtimes Aislados
      1. Compilación de código C/C++/Rust a WebAssembly
      2. Carga de módulos WASM en navegador
      3. Carga de módulos WASM en Node
      4. Memoria lineal compartida con WASM
      5. Paso de strings y arrays entre JS y WASM
      6. Ejecución de lógica crítica en WASM
      7. Aceleración de cómputo matemático
      8. WASM y sandboxing de seguridad
      9. Límites de llamadas frecuentes JS↔WASM
      10. Uso de WASI (interfaz de sistema para WASM)
      11. Ejecución en entornos serverless edge
      12. Reutilización de librerías nativas vía WASM
      13. Perfilado de rendimiento en WASM
      14. Integración con Web Workers para aislamiento
      15. Futuro de WASM en aplicaciones web complejas
    7. Estándares, Propuestas y Futuro del Lenguaje
      1. Proceso de propuesta TC39 (stages 0–4)
      2. Nuevas sintaxis del lenguaje
      3. Nuevas APIs estándar del runtime
      4. Decoradores estandarizados
      5. Records y Tuples inmutables (propuestas)
      6. Patrones de coincidencia estructural (pattern matching)
      7. Tipos sellados y exhaustividad
      8. Registros inmutables para datos seguros
      9. Tipos para excepciones y unknown seguro
      10. Campos privados # en clases
      11. Módulos nativos en el navegador sin bundler
      12. Evolución de import dinámico y lazy
      13. Nuevos primitivos de sincronización
      14. APIs criptográficas más ricas en WebCrypto
      15. Estandarización de APIs de streaming y backpressure
    8. Límites y Buenas Prácticas de Arquitectura
      1. Separación entre lógica de dominio y capas de infraestructura
      2. Evitar acoplamiento a frameworks
      3. Diseñar para testabilidad
      4. Manejo centralizado de configuración
      5. Manejo centralizado de errores
      6. Límite claro entre cliente y servidor
      7. Reutilización de tipos entre frontend y backend
      8. Versionado de contratos de API
      9. Estrategias de backward compatibility
      10. Limpieza de código muerto y flags experimentales
      11. Migraciones de datos controladas
      12. Monitoreo desde el inicio del proyecto
      13. Hardening de seguridad como requisito base
      14. Automatización de calidad en CI/CD
      15. Cultura de documentación viva y mantenible

8.3 - Rust

  1. Introduccion
    1. Historia de Rust
      1. Orígenes en Mozilla Research (Graydon Hoare, 2006–2010)
      2. Evolución de prototipos tempranos a Rust 0.x
      3. Lanzamiento de Rust 1.0 (2015)
      4. Consolidación de la estabilidad del lenguaje y del compilador (rustc)
      5. Filosofía de seguridad de memoria sin garbage collector
      6. Filosofía de concurrencia sin miedo (“fearless concurrency”)
      7. Influencia de Cyclone, ML, C++ y el ecosistema de sistemas
      8. Participación comunitaria y apertura del desarrollo
      9. Migración desde la sintaxis antigua (~, @, &) hacia el modelo actual de ownership
      10. Adopción industrial en sistemas embebidos, backend de alto rendimiento y navegadores
      11. Rol de Servo y el motor de renderizado experimental
      12. Influencia de Rust en otros lenguajes de sistemas
    2. Ediciones de Rust y Compatibilidad
      1. Edición 2015
      2. Edición 2018
      3. Edición 2021
      4. Planificación de ediciones futuras (por ejemplo 2024)
      5. Ediciones vs versiones del compilador (rustc)
      6. Estabilidad del lenguaje y promesa de no romper código estable
      7. Estabilidad de la librería estándar (std) y API pública
      8. Uso de lints para migración entre ediciones
      9. Modo cargo fix --edition y migración asistida
      10. Compatibilidad cruzada entre crates de distintas ediciones
      11. Feature flags experimentales en nightly
      12. #![feature(...)] y límites de estabilidad
      13. Cambios de sintaxis entre ediciones
      14. Cambios en el sistema de módulos entre ediciones
      15. Cambios en async/await y try operator entre ediciones
      16. Cambios en paths relativos y absoluta vs crate::
    3. Instalación de Rust
      1. rustup como herramienta oficial de instalación
      2. Canales stable, beta, nightly
      3. Instalación en Windows (MSVC vs GNU toolchain)
      4. Instalación en macOS (homebrew, pkg oficial)
      5. Instalación en Linux (gestores de paquetes vs rustup)
      6. Añadir componentes (rustfmt, clippy)
      7. rustup component add
      8. Targets de compilación cruzada (rustup target add)
      9. Configuración del linker para cross-compiling
      10. Toolchains específicos por proyecto (rust-toolchain.toml)
      11. Versiones fijadas para CI
      12. Perfiles corporativos y espejos internos de toolchain
      13. Instalar cargo en entornos mínimos
      14. Modo offline y caché local de crates
    4. Ejecución de Código Rust y Flujo de Trabajo
      1. rustc archivo.rs
      2. cargo new
      3. cargo init
      4. cargo build
      5. cargo run
      6. cargo check
      7. cargo test básico
      8. cargo bench básico
      9. cargo doc --open
      10. Flags comunes de compilación (--release, --verbose)
      11. Perfiles dev y release
      12. Nivel de optimización (-C opt-level)
      13. RUSTFLAGS y configuración avanzada del compilador
      14. cargo clippy y análisis estático
      15. REPLs experimentales (evcxr)
      16. Scripts rápidos y prototipos con cargo-script
      17. Uso del Playground de Rust
      18. Redirección de stdin/stdout/stderr en binarios Rust
    5. IDEs y Editores de Código
      1. rust-analyzer y protocolo LSP
      2. VS Code con rust-analyzer
      3. IntelliJ Rust / CLion
      4. Vim / Neovim con LSP
      5. Emacs (lsp-mode, eglot)
      6. Autoformato con rustfmt
      7. Sugerencias y acciones rápidas de clippy
      8. Navegación por definiciones y go to definition
      9. Renombrado simbólico seguro (rename refactor)
      10. Depuración con lldb
      11. Depuración con gdb
      12. Mapas de memoria y stepping a nivel de instrucción
      13. Integración con CodeLLDB en VS Code
      14. Integración con herramientas de profiling
      15. Soporte de test integrado en el IDE
      16. Integración con cargo watch para recarga continua
    6. Gestión de Dependencias y Entornos
      1. cargo como build system y gestor de dependencias
      2. Cargo.toml
      3. Cargo.lock
      4. Versionado semántico en dependencias ("1.2", "^1.2", "~1.2")
      5. Dependencias opcionales (optional = true)
      6. Features activables por crate
      7. Workspaces de Cargo
      8. Herencia de workspace en Cargo.toml
      9. Dependencias locales (path =)
      10. Dependencias desde Git
      11. Overrides de versiones ([patch])
      12. Mirrors y registries privados
      13. Vendorización de crates (cargo vendor)
      14. Caché local de compilación incremental
      15. Reproducibilidad entre entornos
      16. Compilación determinista para entrega binaria
      17. Bloqueo de versiones en CI
      18. Auditoría de dependencias (cargo audit)
    7. Distribución de Crates
      1. Crates binarios
      2. Crates de librería
      3. Crates proc-macro
      4. Crates no_std
      5. Crates FFI (cdylib, staticlib)
      6. Publicación en crates.io
      7. cargo publish
      8. cargo yank
      9. Versionado semántico responsable
      10. Metadatos obligatorios en Cargo.toml
      11. Licencia y license/license-file
      12. readme y documentación pública
      13. Keywords y categorías
      14. exclude / include
      15. Seguridad de la cadena de suministro
      16. Firmas y verificación de integridad
      17. Auditoría de licencias (cargo deny)
      18. Revisión por pares y mantenimiento comunitario
    8. Herramientas Complementarias
      1. rustfmt (formato)
      2. clippy (linter)
      3. cargo doc (documentación)
      4. cargo test (testing)
      5. cargo bench (benchmarking)
      6. cargo profile / perfiles de rendimiento
      7. cargo tree (árbol de dependencias)
      8. cargo metadata
      9. cargo install
      10. cargo uninstall
      11. cargo run --release
      12. cargo build --target
      13. cargo fix
      14. cargo fmt
      15. cargo clippy --fix
      16. Integración con CI/CD
      17. Integración con contenedores
      18. Integración con sistemas de empaquetado nativo
      19. Reproducibilidad en builds herméticos
      20. Automatización con Makefile y just
  2. Fundamentos
    1. Tipos de Datos Básicos
      1. Variables y let
        1. Declaración con inferencia de tipo
        2. Anotación explícita de tipo
        3. Mutabilidad con mut
        4. Sombras (shadowing) y redeclaración
        5. Variables temporales y scope de bloque
        6. const para constantes en tiempo de compilación
        7. static y static mut
      2. Booleanos (bool)
      3. Tipos numéricos escalares
        1. Enteros con signo (i8, i16, i32, i64, i128, isize)
        2. Enteros sin signo (u8, u16, u32, u64, u128, usize)
        3. Flotantes (f32, f64)
        4. Literales numéricos con separadores _
        5. Conversión entre anchos de entero
        6. Casting con as
        7. Operaciones “checked”, “wrapping”, “saturating”
        8. Módulo std::num
        9. Rangos y límites (MIN, MAX)
      4. Caracteres y texto
        1. char como escalar Unicode
        2. Literales de carácter
        3. &str (slice de string inmutable)
        4. String (buffer dinámico UTF-8)
        5. Conversión entre &str y String
        6. String::from y .to_string()
        7. Indexación y slicing seguro en UTF-8
        8. Formato con macros (format!, println!)
        9. Cow<'a, str>
        10. OsStr y OsString
        11. Path y PathBuf
      5. Tuplas
        1. Tuplas con nombre posicional
        2. Tuple structs
        3. Desestructuración de tuplas
        4. Retorno múltiple con tuplas
        5. Tupla vacía ()
        6. () como tipo unit
      6. Arrays y slices
        1. Arrays fijos [T; N]
        2. Slices &[T]
        3. Slices mutables &mut [T]
        4. Indexación segura y get()
        5. Recortes (split_at, chunks, windows)
        6. Slices de bytes (&[u8])
        7. Conversión de arrays a slices
      7. Propiedad y move
        1. Propiedad exclusiva de valores
        2. Movimiento vs copia (Copy)
        3. Clone explícito
        4. Tipos Copy
        5. Tipos que no son Copy
        6. Transferencia de propiedad a funciones
        7. Retorno de propiedad desde funciones
      8. Préstamos y referencias
        1. Referencias inmutables &T
        2. Referencias mutables &mut T
        3. Reglas de aliasing único para mutables
        4. Duración del préstamo (lifetime implícito)
        5. Prestando vs moviendo
        6. Mutabilidad interior
        7. Reglas de borrow checker
      9. Lifetimes
        1. Parámetros de lifetime explícitos ('a)
        2. Elision de lifetimes
        3. Relaciones de subvida ('a: 'b)
        4. Lifetimes en referencias de retorno
        5. Lifetimes en structs
        6. Lifetimes en métodos impl
        7. 'static
        8. Lifetimes en closures
      10. Enumeraciones (enum)
      11. Variantes sin datos
      12. Variantes tipo tupla
      13. Variantes tipo struct
      14. Patrones exhaustivos con match
      15. Option<T>
      16. Result<T, E>
      17. Ordering
      18. Never type (!)
      19. Structs
      20. Structs con campos nombrados
      21. Tuple structs
      22. Unit structs
      23. pub y visibilidad de campos
      24. Inicialización con sintaxis { campo: valor }
      25. Actualización de struct (..otro)
      26. Propiedad de campos y movimientos parciales
      27. Empaquetar datos y semántica de valor
      28. Traits básicos
      29. Copy
      30. Clone
      31. Debug
      32. Display
      33. Default
      34. PartialEq / Eq
      35. PartialOrd / Ord
      36. Hash
      37. Send
      38. Sync
      39. Unpin
      40. Sized
      41. Conversión y coerción
      42. From / Into
      43. TryFrom / TryInto
      44. AsRef / AsMut
      45. Borrow
      46. Deref / DerefMut
      47. Auto-deref en llamadas a métodos
      48. Conversión numérica con as
      49. Conversión de slices entre tipos compatibles
      50. Pattern matching de destructuración
      51. let + patrones
      52. if let
      53. while let
      54. Patrones en parámetros de función
      55. Patrones en match
      56. Patrones anidados en structs y enums
      57. Patrones con guardas (if)
      58. Patrones con @
      59. Patrones con _
      60. Patrones de rango (..=)
    2. Operadores
      1. Operadores aritméticos (+, -, *, /, %)
      2. Operadores de asignación compuesta (+=, -=, *=, /=, %=)
      3. Operadores bit a bit (&, |, ^, !, <<, >>)
      4. Comparación (==, !=, <, >, <=, >=)
      5. Operadores lógicos (&&, ||, !)
      6. Precedencia de operadores
      7. Evaluación corta (short-circuit) en && y ||
      8. Operador de rango (.., ..=)
      9. Desreferenciación (*)
      10. Indexación ([])
      11. ? para propagación de errores
      12. as para casting explícito
      13. Operador ref en patrones
      14. box (histórico) y Box::new
      15. .. en patrones de struct
      16. .. en patrones de tuplas y enums
      17. & y &mut en patrones de referencia
      18. | en patrones alternativos en match
      19. @ en patrones con binding
      20. .. en ranges de iteración
    3. Control de Flujo
      1. if
      2. else if
      3. else
      4. if como expresión
      5. match
      6. match exhaustivo
      7. match con guardas (if cond)
      8. match con patrones anidados
      9. if let
      10. while
      11. while let
      12. loop
      13. for
      14. Rango en for
      15. break
      16. continue
      17. return
      18. Etiquetas de bucle ('label:)
      19. break 'label
      20. continue 'label
      21. let else para validación temprana
      22. try blocks experimentales
      23. panic! como corte de control
      24. unreachable! y todo!
      25. assert! y control en test
    4. Funciones
      1. Definición de funciones con fn
      2. Parámetros con tipo explícito
      3. Retorno con ->
      4. Retorno implícito sin return
      5. Funciones libres vs métodos asociados
      6. Métodos en impl
      7. Métodos estáticos (fn new())
      8. Referencias &self
      9. Referencias &mut self
      10. Funciones genéricas
      11. Trait bounds en firmas (where)
      12. Lifetimes explícitos en firmas
      13. Funciones const fn
      14. Funciones unsafe fn
      15. Funciones extern "C"
      16. Funciones inline (#[inline])
      17. Atributos en funciones (#[must_use], #[cold], #[inline(always)])
      18. Punteros a función (fn vs Fn traits)
      19. macro_rules! vs fn
      20. Visibilidad pub en funciones
    5. Closures
      1. Sintaxis |args| expr
      2. move closures
      3. Inferencia de tipos en closures
      4. Captura por referencia
      5. Captura por mutable referencia
      6. Captura por movimiento
      7. Traits Fn, FnMut, FnOnce
      8. Conversión de closures a punteros de función
      9. Almacenamiento de closures en Box<dyn Fn>
      10. Lifetimes en closures
      11. Uso de closures en iteradores
      12. Uso de closures en APIs async
      13. Cierres como callbacks en FFI seguro
      14. impl Fn en parámetros
      15. impl FnOnce para consumo de recursos
    6. Manejo de Errores
      1. Result<T, E>
      2. Option<T>
      3. Operador ?
      4. unwrap
      5. expect
      6. ok_or / ok_or_else
      7. map_err
      8. and_then
      9. Definir tipos de error propios
      10. Trait std::error::Error
      11. Errores encadenados
      12. thiserror (crates de error derivado)
      13. Manejo de errores en main
      14. Devolución de Result desde main
      15. panic!
      16. Recuperación después de panic con catch_unwind
      17. assert!, assert_eq!, debug_assert!
      18. todo!
      19. unimplemented!
      20. unreachable!
    7. Prelude y Librería Estándar
      1. std::prelude
      2. Carga automática del prelude
      3. Tipos fundamentales en el prelude
      4. Traits fundamentales en el prelude
      5. std vs core
      6. alloc en entornos no_std
      7. use std::... y rutas absolutas
      8. pub use para reexportar APIs
      9. std::io
      10. std::fs
      11. std::env
      12. std::path
      13. std::time
      14. std::thread
      15. std::sync
      16. std::net
      17. std::process
      18. std::mem
      19. std::ptr
      20. std::slice
      21. std::str
      22. std::string
      23. std::vec
    8. Módulos y Visibilidad
      1. mod
      2. Archivos y submódulos
      3. Jerarquía de módulos (crate, super, self)
      4. pub
      5. pub(crate)
      6. pub(super)
      7. pub(in path)
      8. use
      9. use as
      10. Reexport con pub use
      11. Separación binario / librería (src/main.rs, src/lib.rs)
      12. Árbol de módulos y layout de carpetas
      13. Módulos privados internos
      14. Módulos cfg condicionales
      15. #[path = "file.rs"]
      16. extern crate (histórico)
      17. crate:: paths absolutos
      18. super:: paths relativos
      19. Módulos inline { ... }
      20. Tests integrados en módulos (#[cfg(test)])
    9. Atributos y Macros Básicas
      1. Atributos en ítems (#[derive], #[inline], #[allow])
      2. Atributos en módulos (#![allow], #![deny])
      3. Atributos de lint (#[warn(clippy::...)])
      4. Macros declarativas macro_rules!
      5. Macros de formato (println!, eprintln!, format!)
      6. Macros de colección (vec!, vecDeque! en crates externos)
      7. Macros de aserción (assert!, debug_assert!)
      8. Macros de error (panic!)
      9. Macros condicionales (cfg!)
      10. Macros de test (#[test])
      11. Macros de derivación automática (#[derive(Clone, Debug, ...)])
    10. Atributos de Compilación Condicional
    11. #[cfg(target_os = "linux")]
    12. #[cfg(target_arch = "x86_64")]
    13. #[cfg(feature = "foo")]
    14. #[cfg(test)]
    15. #[cfg(debug_assertions)]
    16. #[cfg_attr(...)]
    17. cfg_if! (macro de conveniencia)
    18. Builds multiplataforma con cfg
    19. Código específico de arquitectura
    20. Desactivación de partes inseguras en WASM
    21. Estándares de Estilo
    22. Formato con rustfmt
    23. Organización de use
    24. Nomenclatura de tipos (PascalCase)
    25. Nomenclatura de variables y funciones (snake_case)
    26. Constantes (SCREAMING_SNAKE_CASE)
    27. División en módulos pequeños
    28. Comentarios /// para docs públicas
    29. Comentarios //! a nivel de crate
    30. Comentarios de implementación //
    31. #[allow] vs #[deny] para lints
    32. Políticas internas de clippy
    33. Reglas de API públicas estables
    34. Visibilidad mínima (pub vs pub(crate))
    35. Convenciones de Proyecto
    36. src/main.rs
    37. src/lib.rs
    38. src/bin/*.rs
    39. Cargo.toml
    40. Cargo.lock
    41. README.md
    42. LICENSE
    43. rust-toolchain.toml
    44. benches/
    45. examples/
    46. tests/
    47. build.rs
    48. target/
    49. Módulos internos mod.rs vs foo.rs
    50. Estructura por dominio
    51. Estructura por capas (core, infra, api)
    52. Reexportar APIs en lib.rs
    53. #[deny(missing_docs)]
    54. Versionado del crate
    55. Features opcionales y default-features = false
  3. Estructuras y manipulación de datos
    1. Colecciones Estándar
      1. Vec<T>
      2. Creación y vec![]
      3. Push / pop
      4. Indexación y .get()
      5. Iteración mutable e inmutable
      6. Reservar capacidad (with_capacity, reserve)
      7. insert, remove
      8. retain
      9. sort, sort_by, sort_unstable
      10. dedup
      11. drain
      12. Conversión Vec<T> ↔ slice
      13. VecDeque<T>
      14. VecDeque push_front / push_back
      15. LinkedList<T>
      16. BinaryHeap<T>
      17. HashMap<K, V>
      18. BTreeMap<K, V>
      19. HashSet<T>
      20. BTreeSet<T>
      21. IndexMap, IndexSet (orden estable, crates externos)
      22. SmallVec, ArrayVec (almacenamiento en stack)
      23. Cow<T>
      24. Range
      25. Option<T> como colección parcial
      26. Result<T,E> como flujo condicional
      27. APIs de iteradores en colecciones
      28. String y Vec<u8>
      29. Box<[T]>
      30. Rc<[T]> y Arc<[T]>
    2. Pilas y Colas
      1. Vec<T> como pila LIFO
      2. VecDeque<T> como cola FIFO
      3. BinaryHeap<T> como cola de prioridad
      4. Múltiples productores / múltiples consumidores usando canales
      5. Estructuras lock-free con crossbeam (crates externos)
      6. Colas concurrentes en tokio::sync
      7. std::sync::mpsc
      8. Orden de mensajes garantizado
      9. try_recv / recv_timeout
      10. Backpressure en colas async
    3. Slicing y Vistas
      1. Slices &[T]
      2. Slices mutables &mut [T]
      3. Vistas parciales (split_at, split)
      4. Ventanas (windows)
      5. Chunks (chunks, chunks_exact)
      6. array_chunks y vistas fijas
      7. as_slice / as_mut_slice
      8. str como slice de u8 UTF-8
      9. Slices crudas (*const T, *mut T)
      10. std::slice::from_raw_parts
      11. Reglas de seguridad en slices no verificados
    4. Manipulación de Strings
      1. String
      2. &str
      3. Concatenación con push_str
      4. Concatenación con +
      5. Formato con format!
      6. Interpolación con println!
      7. Iteración por bytes
      8. Iteración por char
      9. Iteración por grapheme (crates externos)
      10. Substrings seguras por rango de bytes válidos
      11. Búsqueda (find, contains)
      12. Reemplazo (replace)
      13. Divisiones (split, split_whitespace)
      14. trim, trim_matches
      15. Conversión entre OsString, PathBuf, String
      16. to_string_lossy
      17. Normalización Unicode (crates externos)
      18. Cow<'_, str> para evitar copias
      19. Propiedad vs referencia en APIs de texto
      20. String::leak
    5. Expresiones Regulares y Parsing
      1. Crate regex
      2. Expresiones regulares compiladas
      3. Búsquedas globales
      4. Capturas con grupos
      5. Reemplazo con patrones
      6. División por regex
      7. Expresiones regulares sin backtracking exponencial
      8. lazy_static / once_cell para regex globales
      9. regex-automata (crates especializadas)
      10. Parsing manual con chars()
      11. Parsing con nom
      12. Parsers basados en combinadores
      13. Parsing binario con nom / binrw
      14. serde para deserialización estructurada
    6. Archivos y I/O
      1. std::fs::File
      2. File::open
      3. File::create
      4. Lectura síncrona (read_to_end, read_to_string)
      5. Escritura síncrona (write_all)
      6. BufReader
      7. BufWriter
      8. Lectura línea a línea (read_line)
      9. Iteración sobre líneas
      10. Permisos de archivo (set_permissions)
      11. metadata
      12. Directorios (read_dir)
      13. Creación y borrado de carpetas
      14. Renombrar y mover archivos
      15. Rutas (Path, PathBuf)
      16. std::env::current_dir
      17. tempfile (crates externos)
      18. Archivos mapeados en memoria (crates externos)
      19. I/O sin bloqueo en tokio::fs
      20. I/O con async-std::fs
    7. Formatos de Datos
      1. JSON con serde_json
      2. TOML con toml
      3. YAML con serde_yaml
      4. CBOR / MessagePack (crates externos)
      5. Protobuf / FlatBuffers (crates externos)
      6. CSV con csv
      7. Lectura binaria con byteorder
      8. Escritura binaria con byteorder
      9. Manipulación de bits en buffers (bitvec)
      10. Serialización binaria con bincode
      11. serde derive (Serialize, Deserialize)
      12. Versionado de esquemas
      13. Migración de estructuras serializadas
      14. Validación de datos deserializados
    8. Fechas y Tiempo
      1. std::time::Duration
      2. std::time::Instant
      3. std::time::SystemTime
      4. Diferencias de tiempo (duration_since)
      5. Timeouts en I/O
      6. Retrasos y sleep con std::thread::sleep
      7. Retrasos async con tokio::time::sleep
      8. Medición de rendimiento
      9. Perfiles de latencia
      10. Crate chrono (fecha/hora civil)
      11. Zonas horarias con chrono_tz
      12. Formateo de timestamps
      13. Parsing de timestamps
      14. Sincronización periódica y scheduling (crates externos)
      15. Timers async recurrentes (crates async)
    9. Propiedad Compartida y Gestión de Recursos
      1. Box<T>
      2. Rc<T>
      3. Arc<T>
      4. Cell<T>
      5. RefCell<T>
      6. Mutex<T>
      7. RwLock<T>
      8. OnceCell<T>
      9. LazyLock<T>
      10. AtomicBool, AtomicUsize, etc.
      11. Conteo de referencias y ciclos
      12. Fugas deliberadas (Box::leak)
      13. Smart pointers específicos de librería
      14. RAII y liberación determinista con Drop
    10. Iteradores
    11. Iterator trait
    12. .next()
    13. for sobre iteradores
    14. Adaptadores (map, filter, flat_map)
    15. enumerate
    16. zip
    17. chain
    18. rev
    19. take, skip
    20. collect
    21. Colección en Vec
    22. Colección en HashMap
    23. Iteradores infinitos y std::iter::repeat
    24. std::iter::from_fn
    25. inspect
    26. fold
    27. try_fold
    28. Propiedad vs referencia en iteradores
    29. Iteradores que consumen (into_iter)
    30. Iteradores prestados (iter, iter_mut)
    31. Iteradores paralelos (rayon)
    32. Iteradores async (Stream en ecosistema async)
    33. Expresiones Funcionales y Pipelines
    34. .map(...)
    35. .filter(...)
    36. .filter_map(...)
    37. .find(...)
    38. .any(...)
    39. .all(...)
    40. .position(...)
    41. .fold(...)
    42. .reduce(...)
    43. .group_by(...) (crates externos)
    44. Transformaciones in-place vs alocar nuevos Vec
    45. Reutilización de buffers
    46. Zero-copy usando slices
    47. Evitar clonados innecesarios
    48. Cow en pipelines de texto
    49. Seguridad y Manejo Binario
    50. std::mem::transmute (uso inseguro)
    51. std::mem::replace
    52. std::mem::take
    53. MaybeUninit<T>
    54. Layout de memoria (#[repr(C)], #[repr(packed)])
    55. Alineación (align_of, align_to)
    56. Lectura/escritura de bytes con byteorder
    57. Endianness explícito
    58. Acceso crudo con punteros (*const T, *mut T)
    59. slice::from_raw_parts
    60. ptr::copy_nonoverlapping
    61. Control de aliasing en unsafe
    62. Serialización binaria para FFI
    63. Mapear estructuras Rust a C
  4. Programación estructurada y modular
    1. Programación Orientada a Datos y Traits
      1. Structs como tipos de datos centrales
      2. impl blocks
      3. Métodos asociados
      4. Métodos que consumen self
      5. Métodos que prestan &self
      6. Métodos que prestan &mut self
      7. Encapsulación con campos privados
      8. Getters explícitos
      9. Constructores estilo new()
      10. Builders encadenables
      11. Propiedades inmutables por defecto
      12. APIs seguras por tipo
      13. APIs que evitan estados inválidos
      14. Patrón tipo-sello (sealed traits en módulos privados)
      15. Patrón unsafe encapsulado en capa segura
    2. Traits e Implementaciones
      1. Definición de trait
      2. Métodos requeridos
      3. Métodos con implementación por defecto
      4. Implementación de traits para tipos propios
      5. Implementación de traits externos para tipos propios (coherencia)
      6. Implementación de traits propios para tipos externos (orfan rule)
      7. Traits marcadores (Send, Sync, Unpin)
      8. Traits auto (auto trait)
      9. dyn Trait
      10. Trait objects (&dyn Trait, Box<dyn Trait>)
      11. Dispatch dinámico vs estático
      12. Traits genéricos
      13. Associated types en traits
      14. Supertraits
      15. where bounds complejos
      16. Implementaciones en impl<T> Trait for Tipo<T>
      17. Coerción de &T a &dyn Trait
      18. Objetos trait en interfaces plugin
      19. Objetos trait y Send + Sync
      20. Limitaciones de objetos trait (no Self en firma)
    3. Encapsulación y Abstracción
      1. Visibilidad pub
      2. Visibilidad pub(crate)
      3. Visibilidad pub(super)
      4. Campos privados y módulos amigos
      5. Patrones con newtype
      6. Patrones de estado interno protegido
      7. API mínima segura
      8. Diseño de invariantes internas
      9. Tipos fantasma (phantom types)
      10. PhantomData<T>
      11. Tipos con lifetimes en la API pública
      12. Sellado de traits para evitar implementaciones externas
    4. Composición vs Herencia
      1. Composición de structs
      2. Contención de datos (struct A { b: B })
      3. Delegación manual de métodos
      4. Deref para ergonomía de delegación
      5. Herencia ausente en el lenguaje base
      6. Subtipado vía traits
      7. Polimorfismo paramétrico (genéricos)
      8. Polimorfismo dinámico (trait objects)
      9. Patrones de tipo estado (state pattern)
      10. Patrones de builder tipado
      11. Patrones GADT a través de enums
      12. Patrones de “typestate programming”
    5. Macros de Atributo y Derive
      1. #[derive(Debug)]
      2. #[derive(Clone)]
      3. #[derive(Copy)]
      4. #[derive(PartialEq, Eq)]
      5. #[derive(PartialOrd, Ord)]
      6. #[derive(Hash)]
      7. #[derive(Default)]
      8. #[derive(Serialize, Deserialize)]
      9. Atributos en campos (#[serde(rename = "...")])
      10. Procedural macros (proc-macro)
      11. #[test]
      12. #[bench] (inestable / crates externos)
      13. #[cfg(...)]
      14. #[inline]
      15. #[must_use]
      16. #[repr(C)]
      17. #[repr(packed)]
      18. #[non_exhaustive]
      19. #[deny(...)], #[allow(...)], #[warn(...)]
      20. Atributos específicos de plataforma
    6. Módulos y Crates (avanzado)
      1. Crates binarios
      2. Crates librería
      3. Crates internos en un workspace
      4. Árbol de módulos público (lib.rs)
      5. Reexportar símbolos (pub use)
      6. Organización por dominio
      7. Organización por capa lógica
      8. Patrones prelude internos
      9. #[doc(hidden)]
      10. #[path]
      11. include!
      12. include_bytes!
      13. include_str!
      14. build.rs para generar código
      15. OUT_DIR y artefactos generados
      16. cfg(feature = "...")
      17. cfg(target_os = "...")
      18. cfg(test)
      19. Tests de integración en tests/
      20. Ejemplos en examples/
    7. Logging
      1. Crate log
      2. Macros info!, warn!, error!, debug!, trace!
      3. Backends (env_logger, fern, tracing)
      4. Niveles de log
      5. Filtros de log por módulo
      6. Logging estructurado con tracing
      7. tracing::span y tracing::instrument
      8. Exportar logs a JSON
      9. Logs en aplicaciones CLI
      10. Logs en servicios async
      11. Logs en entornos no_std (semihosting / ITM)
      12. Rotación de logs (crates externos)
      13. Formato con timestamps
      14. Integración con observabilidad
      15. Uso de log en librerías reutilizables
    8. Documentación
      1. Comentarios ///
      2. Comentarios //! a nivel de crate o módulo
      3. Ejemplos en documentación
      4. cargo doc
      5. cargo doc --open
      6. Documentación pública mínima
      7. #[doc(hidden)]
      8. #[deny(missing_docs)]
      9. Mostrar ejemplos que compilan
      10. Ejecución de ejemplos como tests doctest
      11. Documentar invariantes de seguridad
      12. Documentar unsafe
      13. Documentar lifetimes y ownership
      14. Documentar errores (Result)
      15. Políticas de versionado semántico en docs
      16. Guías de “cómo usar” en módulos raíz
      17. Ejemplos por feature flag
      18. Docs generadas para crates internos
      19. Publicación de docs en hosting estático
      20. Documentación interna vs externa
    9. Testing
      1. #[test]
      2. cargo test
      3. Tests de unidad
      4. Tests de integración (tests/)
      5. Tests de documentación (doctests)
      6. assert!
      7. assert_eq!
      8. assert_ne!
      9. matches!
      10. should_panic
      11. Tests con Result<(), E>
      12. Tests async con runtimes (#[tokio::test])
      13. Tests parametrizados (macros de terceros)
      14. Fixtures simuladas manualmente
      15. tempfile para tests con disco
      16. Pruebas con proptest (property-based testing)
      17. Pruebas fuzzing (cargo fuzz)
      18. Pruebas de snapshot (insta)
      19. Pruebas de rendimiento (criterion)
      20. Cobertura de código (cargo tarpaulin)
      21. #[cfg(test)] secciones privadas de prueba
      22. Tests de concurrencia y race conditions
      23. Tests de integración multinodo / multi-hilo
      24. Mocking de dependencias (crates mockall, etc.)
      25. Simulación de redes con sockets falsos
      26. Tests deterministas de tiempo (fake_time)
      27. Tests con canal mpsc local
      28. Tests que validan Send + Sync
      29. Tests de unsafe correctness
      30. Validación de invariantes de memoria
    10. Depuración
    11. dbg! macro
    12. println! debug
    13. Debug derivado (#[derive(Debug)])
    14. Revisar panic backtraces (RUST_BACKTRACE=1)
    15. gdb
    16. lldb
    17. Depuración con VS Code (CodeLLDB)
    18. Breakpoints en código Rust
    19. Inspección de variables y lifetimes
    20. Desensamblado de código generado
    21. Inspección de ensamblador (rustc --emit asm)
    22. Inspección de MIR (rustc --emit mir, nightly)
    23. Inspección de LLVM IR (--emit llvm-ir)
    24. Validación de alineación de punteros
    25. Detección de UB potencial usando miri
    26. Análisis con sanitizers (ASan, UBSan)
    27. Chequeo de data races con ThreadSanitizer
    28. Validación de límites con AddressSanitizer
    29. Depuración de bloqueo mutuo (deadlock)
    30. Depuración de rendimiento con perf
    31. Flamegraphs
    32. Inspección de heap con herramientas externas
    33. Registros de tracing con tracing + tokio-console
    34. Pruebas de estrés para reproducir condiciones de carrera
    35. Auditoría manual de unsafe
  5. Estructuras avanzadas y programación funcional
    1. Programación Funcional y Estilo Declarativo
      1. Rust como lenguaje orientado a expresiones
      2. Expresiones en lugar de sentencias
      3. Cierres (|...| ...)
      4. Inmutabilidad preferida
      5. map, filter, fold
      6. flat_map
      7. Composición con iteradores
      8. Option como mónada de presencia/ausencia
      9. Result como mónada de éxito/error
      10. Encadenamiento con and_then
      11. Encadenamiento con map_err
      12. Control de flujo sin panic
      13. Early returns con ?
      14. if let como destructuración parcial
      15. match como eliminación exhaustiva de casos
      16. match anidado para composición de lógica
      17. let else para validaciones
      18. Uso de From / Into para componer transformaciones
      19. Tipos de dominio con invariantes fuertes
      20. Errores tipados en lugar de excepciones
    2. Iteradores / Adaptadores / Streams
      1. Iterator trait
      2. Adaptadores estándar (map, filter, take, skip, enumerate)
      3. Adaptadores de flattening (flat_map, flatten)
      4. Adaptadores de búsqueda (find, position, rposition)
      5. Adaptadores de acumulación (fold, scan)
      6. Adaptadores de partición (partition, group_by con crates externos)
      7. Iteradores infinitos (repeat, successors)
      8. Iteradores sobre Result
      9. try_fold
      10. Paralelización con rayon::prelude::*
      11. Iteradores paralelos (par_iter, par_chunks)
      12. Recolección en Vec, HashMap, BTreeMap
      13. Iteradores mutables (iter_mut)
      14. Iteradores que consumen (into_iter)
      15. Iteradores sobre referencias (iter)
      16. Iteradores sobre slices (slice::Chunks, ChunksExact)
      17. Iteradores de archivos línea a línea
      18. Iteradores de sockets TCP
      19. Stream en async (futures::stream)
      20. Combinadores async (stream::map, stream::buffer_unordered)
    3. Punteros Inteligentes y Mutabilidad Interior
      1. Box<T>
      2. Rc<T>
      3. Arc<T>
      4. Cell<T>
      5. RefCell<T>
      6. Mutex<T>
      7. RwLock<T>
      8. AtomicBool, AtomicUsize, AtomicPtr
      9. Arc<Mutex<T>>
      10. Arc<RwLock<T>>
      11. OnceCell<T>
      12. LazyLock<T>
      13. Weak<T>
      14. Ciclos con Rc y fuga de memoria lógica
      15. Romper ciclos con Weak
      16. Interior mutability patterns
      17. Single-thread vs multi-thread (Rc vs Arc)
      18. Envolturas seguras para FFI
      19. Gestión de recursos externos (file handles, sockets)
      20. RAII con Drop
    4. Benchmarking y Perfilado
      1. cargo bench
      2. Crate criterion para benchmarks estadísticos
      3. Microbenchmarks de funciones puras
      4. Benchmarks con acceso a disco
      5. Benchmarks de red
      6. Perfiles de CPU con perf
      7. Perfiles de CPU con dtrace / eBPF
      8. Flamegraphs
      9. Análisis de asignaciones con valgrind / heaptrack
      10. Instrumentación manual con timestamps (Instant::now)
      11. Contadores internos de rendimiento
      12. Benchmarks de throughput vs latency
      13. Impacto de clone en hot paths
      14. Reducción de alloc en loops críticos
      15. Caches locales (HashMap interno)
      16. Inlining agresivo (#[inline(always)])
      17. Branch prediction hints (patrones de if likely usando crates externos)
      18. Mediciones en modo --release
      19. Evitar TLE bloqueando IO
      20. Ensamblador generado (rustc --emit asm)
    5. Herramientas de Calidad de Código
      1. rustfmt para formateo automático
      2. clippy para lints
      3. cargo clippy --fix
      4. Lints de estilo
      5. Lints de rendimiento
      6. Lints de correctitud
      7. Lints de seguridad (uso de unsafe)
      8. Lints de complejidad
      9. Reglas internas de equipos (#![deny(warnings)])
      10. Revisiones de unsafe en PRs
      11. Auditorías de unsafe en librerías públicas
      12. Control de deuda técnica
      13. cargo deny para licencias y vulnerabilidades
      14. cargo audit para CVEs
      15. cargo udeps para dependencias no usadas
      16. cargo outdated para versiones antiguas
      17. cargo machete / cargo trim (limpieza de dependencias)
      18. Políticas de versión mínima soportada (MSRV)
      19. Análisis estático adicional con sanitizers
      20. Integración en CI (rustfmt --check, clippy -- -D warnings)
    6. Seguridad de Memoria y Concurrencia
      1. Ausencia de null en tipos seguros (Option<T>)
      2. Ausencia de use after free bajo safe Rust
      3. Propiedad y lifetimes como contrato de seguridad
      4. Send
      5. Sync
      6. Send + Sync en tipos concurrentes
      7. Arc<Mutex<T>> para compartir estado
      8. RwLock para lecturas concurrentes
      9. Canales MPSC (std::sync::mpsc)
      10. Canales múltiples productores múltiples consumidores (crossbeam)
      11. Sincronización sin bloqueo (lock-free)
      12. Atomics (Ordering)
      13. Deadlocks y estrategias de evitación
      14. Condiciones de carrera y unsafe
      15. Problemas de memoria ABA en atomics
      16. Reglas de aliasing exclusivas
      17. &mut T como garantía de acceso exclusivo
      18. Verificación en tiempo de compilación vs runtime
      19. Compartir memoria en async sin Send (!Send futures)
      20. Minimizar unsafe en código concurrente
    7. Sistema de Tipos Avanzado
      1. Genéricos (fn foo<T>(x: T))
      2. impl Trait en retorno
      3. impl Trait en parámetros
      4. where bounds complejos
      5. Traits con tipos asociados
      6. Traits con constantes asociadas
      7. Traits con lifetimes asociados
      8. Const generics (const N: usize)
      9. Arreglos genéricos [T; N] con const N
      10. PhantomData<T>
      11. Tipos marca (marker types)
      12. ! (never type)
      13. Tipos vacíos
      14. Tipos que no pueden construirse externamente
      15. enum no exhaustivos (#[non_exhaustive])
      16. Patrones sealed trait
      17. Coherencia de traits (orphan rules)
      18. Auto traits (Send, Sync)
      19. Sized y ?Sized
      20. Trait objects y dyn Trait
      21. Subtipado con lifetimes distintas
      22. Higher-Rank Trait Bounds (HRTB, for<'a>)
      23. Fn, FnMut, FnOnce
      24. Unpin
      25. Pin<P>
      26. Drop
      27. ManuallyDrop<T>
      28. MaybeUninit<T>
      29. Unsafe traits
      30. Límite entre safe Rust y unsafe Rust
  6. Concurrencia, Async, Bajo Nivel
    1. Async y Concurrencia
      1. Hilos (std::thread::spawn)
      2. JoinHandle
      3. move closures en threads
      4. Arc<T> para compartir datos entre hilos
      5. Mutex<T> para exclusión mutua
      6. RwLock<T> para lectura concurrente
      7. Barreras (Barrier)
      8. Canales std::sync::mpsc
      9. sync::mpsc::Sender / Receiver
      10. Canales crossbeam
      11. Canales tokio::sync::mpsc
      12. Semáforos async (tokio::sync::Semaphore)
      13. Condvar
      14. AtomicBool, AtomicUsize, etc.
      15. Fences de memoria (Ordering)
      16. Evitar data races con Send y Sync
      17. Send automático para la mayoría de tipos
      18. Tipos que no son Send
      19. Compartir file descriptors entre hilos
      20. Compartir conexiones de red
      21. Pools de hilos
      22. rayon para paralelismo de datos
      23. rayon::join
      24. par_iter
      25. Balanceo de carga de trabajo
      26. Uso de #[derive(Clone)] para handles ligeros
      27. Cancelación cooperativa entre hilos
      28. Pruebas de concurrencia
      29. Deadlock debugging
      30. Escalabilidad en CPU multinúcleo
    2. Async/await
      1. async fn
      2. async { ... } bloques
      3. await
      4. Future trait (std::future::Future)
      5. Pin
      6. Unpin
      7. Box<dyn Future<Output = T> + Send>
      8. impl Future<Output = T>
      9. Ejecutores (tokio, async-std, smol)
      10. tokio::spawn
      11. tokio::select!
      12. Canales async (tokio::sync::mpsc)
      13. Mutex async (tokio::sync::Mutex)
      14. RwLock async
      15. Temporizadores async (tokio::time::sleep)
      16. Timeouts (tokio::time::timeout)
      17. Streams async (futures::stream::Stream)
      18. Backpressure en streams async
      19. Conexiones persistentes async
      20. I/O no bloqueante (tokio::net)
      21. Sockets TCP async
      22. Sockets UDP async
      23. WebSockets async
      24. Sincronización en single-threaded runtime
      25. Send y Sync en futures
      26. !Send futures y LocalSet
      27. task::yield_now y cooperación
      28. Cancelación de tareas async
      29. Reintentos con delays exponenciales
      30. Recolección de JoinHandle async
    3. Redes y Comunicación
      1. std::net::TcpListener
      2. std::net::TcpStream
      3. std::net::UdpSocket
      4. Modo bloqueante
      5. Modo no bloqueante (set_nonblocking)
      6. Lectura/escritura con Read / Write
      7. Buffers ([u8])
      8. Gestión de errores de red (io::Result)
      9. Timeouts de socket
      10. Reintentos de conexión
      11. Serialización de mensajes (bincode, serde)
      12. Protocolos binarios personalizados
      13. HTTP cliente (reqwest)
      14. HTTP servidor (hyper, axum, warp, actix-web)
      15. WebSockets (crates externos)
      16. TLS (rustls)
      17. Certificados propios
      18. Protocolos binarios de baja latencia
      19. RPC (tonic gRPC)
      20. Streaming bidireccional
      21. Backpressure en servidores async
      22. Balanceo de carga
      23. Sharding de conexiones
      24. Pools de conexión
      25. Control de congestión a nivel de aplicación
      26. Telemetría de latencia y throughput
      27. Límite de tasa (rate limiting)
      28. Cortafuegos lógico a nivel de aplicación
      29. Instrumentación con tracing
      30. Testing de red con sockets falsos
    4. Metaprogramación
      1. Macros declarativas macro_rules!
      2. Macros con repeticiones ($()*)
      3. Macros con capturas de tokens
      4. Macros que generan código repetitivo
      5. Macros para logs (info!, debug!, trace!)
      6. Macros de aserción (assert!, assert_eq!, matches!)
      7. Procedural macros #[proc_macro]
      8. Procedural macros #[proc_macro_derive]
      9. Procedural macros #[proc_macro_attribute]
      10. Derives personalizados
      11. Generación de código en build.rs
      12. Incluir archivos externos (include_str!, include_bytes!)
      13. cfg! y macros condicionales
      14. concat!, env!, option_env!
      15. Macros para FFI
      16. Macros para DSLs internos
      17. Macros para test parametrizado
      18. Macros para tracing de rendimiento
      19. quote y syn en procedural macros
      20. Límites de macros (higiene)
    5. Gestión de Recursos y RAII
      1. RAII (Resource Acquisition Is Initialization)
      2. Drop trait
      3. Cierre automático de archivos al salir de scope
      4. Liberación de locks al salir de scope
      5. MutexGuard y RwLockReadGuard
      6. ManuallyDrop<T>
      7. MaybeUninit<T>
      8. mem::forget
      9. Smart pointers con semántica RAII
      10. scopeguard (crates externos)
      11. Patrones de cleanup garantizado
      12. Evitar fugas de memoria no deseadas
      13. Control de recursos FFI
      14. Contadores de referencia (Rc, Arc)
      15. Descriptores de archivo y RAII
      16. Sockets y RAII
      17. Mutexes y RAII
      18. Buffers mmap y RAII
      19. Transacciones y RAII
      20. Tareas async abortables con RAII
    6. Monitoreo y Observabilidad
      1. tracing crate
      2. Spans y eventos
      3. #[instrument]
      4. Métricas de latencia
      5. Métricas de throughput
      6. Métricas de error rate
      7. Exportadores de métricas (Prometheus, etc.)
      8. Muestreo de eventos de alto volumen
      9. Logging estructurado en JSON
      10. Correlación de requests distribuidos
      11. Propagación de contexto en async
      12. Inicio y fin de span por request
      13. Identificadores de request
      14. Monitoreo de heap
      15. Monitoreo de file descriptors abiertos
      16. Monitoreo de latencia de syscalls
      17. Límites de memoria en contenedores
      18. Límites de CPU en contenedores
      19. Alertas y umbrales
      20. Integración con APM externos
    7. Gestión de Memoria y Bajo Nivel
      1. Ausencia de GC en Rust
      2. Propiedad y liberación determinista
      3. Stack vs heap
      4. Box<T> para heap
      5. Vec<T> como buffer dinámico
      6. String como buffer dinámico UTF-8
      7. Box<[T]> y slices en heap
      8. Box<dyn Trait>
      9. Pin<Box<T>>
      10. Pin<&mut T>
      11. Referencias crudas (*const T, *mut T)
      12. unsafe blocks
      13. unsafe fn
      14. extern "C"
      15. Layout de memoria con #[repr(C)]
      16. Acceso sin chequear a slices (get_unchecked)
      17. Eliminación manual de bounds checks
      18. Aliasing y &mut T
      19. Volátiles (ptr::read_volatile, ptr::write_volatile)
      20. MaybeUninit<T> para inicialización diferida
      21. Zero-cost abstractions
      22. Inlining y #[inline(always)]
      23. Eliminación de branching con match
      24. Control fino de panic = abort
      25. #![no_std]
      26. Usar core en entornos embebidos
      27. Arranque bare-metal (#[no_main])
      28. Interrupciones en microcontroladores (#[interrupt])
      29. Memoria compartida en ISR
      30. unsafe encapsulado en HALs embebidos
  7. Implementación y Distribución
    1. Herramientas Generales del Entorno
      1. rustup para toolchains
      2. cargo como orquestador
      3. rustc como compilador
      4. rustfmt para formato
      5. clippy para lints
      6. cargo audit para seguridad
      7. cargo deny para licencias
      8. cargo outdated para actualizar versiones
      9. cargo udeps para limpiar dependencias
      10. cargo tree para inspección de dependencias
      11. cargo metadata para tooling externo
      12. cargo watch para recarga en caliente
      13. just / make para automatización
      14. Scripts build.rs
      15. rust-toolchain.toml para fijar versión
      16. Cachés de compilación incremental
      17. Perfiles dev/release
      18. lto (link-time optimization)
      19. panic = abort para binarios pequeños
      20. strip de símbolos en binarios finales
      21. RUSTFLAGS personalizados
      22. Cross-compiling con --target
      23. cross (herramienta de cross-compiling)
      24. Integración con Docker
      25. Integración con Bazel / Buck (cuando aplica)
      26. Integración con Nix
      27. Integración con CI (GitHub Actions, etc.)
      28. Reproducibilidad binaria
      29. Firmas criptográficas de binarios
      30. Publicación interna de artefactos
    2. Compilación y Backends
      1. rustc
      2. MIR (Mid-level IR)
      3. LLVM IR
      4. Generación de código máquina
      5. Optimizaciones de LLVM
      6. -C opt-level
      7. -C target-cpu
      8. -C target-feature
      9. -C lto
      10. -C panic=abort
      11. -C relocation-model
      12. -C code-model
      13. -C inline-threshold
      14. -C link-args
      15. Compilación incremental
      16. Cache de incrustaciones (incr comp cache)
      17. Reutilización de artefactos en CI
      18. Compilación cruzada ARM / RISC-V
      19. WASM como objetivo (wasm32-unknown-unknown)
      20. wasm32-wasi
      21. Generación de librerías dinámicas (cdylib)
      22. Generación de librerías estáticas (staticlib)
      23. Binarios independientes (musl)
      24. Minimización de tamaño (opt-level = "z")
      25. Embedded no_std sin sistema operativo
      26. build-std para targets custom
      27. Xargo / cargo para compilación de core personalizada
      28. bindgen para generar bindings C
      29. cbindgen para exponer APIs C
      30. Versionado del compilador requerido (MSRV)
    3. Publicación y Versionado de Crates
      1. Cargo.toml con [package]
      2. name, version, edition
      3. authors / license
      4. readme
      5. repository
      6. documentation
      7. homepage
      8. keywords
      9. categories
      10. include / exclude
      11. features
      12. default-features
      13. optional = true
      14. cargo publish
      15. cargo yank
      16. SemVer para crates (MAJOR.MINOR.PATCH)
      17. breaking changes y bump mayor
      18. Compatibilidad semántica en librerías públicas
      19. Compatibilidad binaria de cdylib
      20. Versiones mínimas soportadas (MSRV en README)
      21. Changelogs y CHANGELOG.md
      22. cargo-release para automatizar versiones
      23. Firmar tags y releases
      24. Auditoría de licencias con cargo deny
      25. Auditoría de CVEs con cargo audit
      26. Políticas internas de seguridad
      27. Soporte de plataforma declarado (targets)
      28. Estados experimentales (unstable, nightly-only)
      29. Exponer #[cfg(feature = "foo")] en docs
      30. Estabilidad de APIs unsafe
    4. Aplicaciones CLI
      1. Crates clap, argh, structopt
      2. Parsing de argumentos
      3. Subcomandos
      4. Flags y opciones
      5. Validación de input
      6. --help y --version
      7. Autogeneración de ayuda
      8. Autocompletado de shell
      9. Colores y estilos (ansi_term, colored)
      10. Barras de progreso (indicatif)
      11. println! y salida estándar
      12. eprintln! y error estándar
      13. Códigos de salida (std::process::exit)
      14. Logging configurable por flag (-v, -q)
      15. Uso de anyhow o eyre en CLI
      16. Serialización de salida (serde_json)
      17. Interactivo en terminal (prompt)
      18. TUI (crossterm, ratatui)
      19. Tests de CLI vía assert_cmd
      20. Empaquetado estático
      21. Distribución en contenedores
      22. Binarios multiplataforma
      23. Firmas de binario y checksum
      24. Versionamiento semántico del binario
      25. Compatibilidad hacia atrás en flags CLI
      26. Integración con systemd / servicios
      27. Configuración vía archivos (toml, yaml)
      28. Variables de entorno (std::env)
      29. Actualización automática (self-update)
      30. Publicación en gestores de paquetes
    5. Aplicaciones Gráficas y de Escritorio
      1. egui
      2. iced
      3. gtk-rs
      4. winit
      5. Motores de juego (bevy)
      6. Renderizado con wgpu
      7. UIs nativas vs webview
      8. Empaquetado multiplataforma
      9. Integración con aceleración GPU
      10. Eventos y loop principal
      11. Recursos compartidos entre hilos UI
      12. Canales de comunicación UI ↔ lógica
      13. Serialización de estado UI
      14. Persistencia de preferencias
      15. Integración con sistemas de archivos
      16. Control de DPI y escalamiento
      17. Integración con backends audio
      18. Janelas múltiples
      19. Controladores de input (teclado, mouse, gamepad)
      20. Soporte de internacionalización en UI
      21. Empaquetado tipo instalador
      22. Firmado de binarios en macOS/Windows
      23. Sandboxing y permisos
      24. Notificaciones del sistema
      25. Integración con portapapeles
      26. Arrastrar y soltar
      27. Actualización auto-generada (autoupdater)
      28. Integración con WebAssembly para componentes
      29. Reutilización de lógica Rust en frontend web
      30. Herramientas de depuración visual
    6. Internacionalización (i18n) y Localización (l10n)
      1. Soporte de Unicode en String
      2. Formato localizado de números y fechas (crates externos)
      3. Carga de catálogos de traducción
      4. Selección dinámica de idioma
      5. Separación de recursos por locale
      6. Plantillas de mensajes parametrizados
      7. Integración de i18n en CLI
      8. Integración de i18n en GUI
      9. Internacionalización en aplicaciones web (axum, actix)
      10. Mensajes de error traducibles
      11. Recursos de texto estáticos empaquetados (include_str!)
      12. Detección de locale del sistema
      13. Pluralización y reglas gramaticales
      14. Formato de monedas y unidades
      15. Localización offline en binarios estáticos
      16. Actualización de catálogos sin recompilar
      17. no_std y mensajería mínima
      18. i18n en firmware embebido (pantallas pequeñas)
      19. Soporte RTL (right-to-left)
      20. Compatibilidad con estándares gettext
      21. Convenciones culturales en fechas/hora
      22. Adaptación de layouts UI a idiomas
      23. Internacionalización de documentación pública
      24. Mantenimiento de catálogos en repositorios
      25. Tests que validan traducciones
      26. Versionado de recursos lingüísticos
      27. Seguridad frente a inyección en plantillas traducibles
      28. Selección de idioma vía variables de entorno
      29. Fallbacks de idioma
      30. Integración con pipelines de CI para i18n
  8. Internals
    1. Compilador de Rust (rustc)
      1. Fases del compilador
      2. Parseo del código fuente
      3. Árvore de sintaxis (AST)
      4. AST desugaring
      5. HIR (High-level IR)
      6. MIR (Mid-level IR)
      7. Borrow checker
      8. Inferencia de lifetimes
      9. Resolución de tipos
      10. Monomorfización de genéricos
      11. Optimización en MIR
      12. Traducción a LLVM IR
      13. Optimizaciones de LLVM
      14. Generación de código máquina final
      15. Enlazado (linking)
      16. rustc --emit
      17. rustc --emit=mir (nightly)
      18. rustc --emit=llvm-ir
      19. rustc --emit=asm
      20. Control de lint con #![deny], #![warn]
      21. #[inline] y sugerencias de optimización
      22. #[cold] para rutas raras
      23. #[must_use] para resultados críticos
      24. #[repr(C)] para FFI estable
      25. #[no_mangle] para símbolos exportados
      26. #[link(name = "...")]
      27. Driver de compilación en cargo
      28. Caches de compilación incremental
      29. Hashes de contenido para recompilación selectiva
      30. Flags de depuración y symbols (-g)
    2. Modelo de Ejecución
      1. Binarios nativos
      2. Librerías dinámicas (cdylib)
      3. Librerías estáticas (staticlib)
      4. Binarios estáticos (musl)
      5. WASM (wasm32-unknown-unknown)
      6. WASI (wasm32-wasi)
      7. no_std en entornos bare-metal
      8. #[no_main] para runtime propio
      9. Punto de entrada fn main()
      10. panic! como abort o unwind
      11. panic = abort en Cargo.toml
      12. panic = unwind
      13. Stack unwinding y catch_unwind
      14. Manejadores panic::set_hook
      15. Inicialización estática
      16. Orden de static init
      17. Finalización a través de Drop
      18. RAII para cleanup determinista
      19. Drop en cascada
      20. Threads del sistema operativo (std::thread)
      21. Futures y ejecutores async en espacio de usuario
      22. Pools de hilos vs loops event-driven
      23. Bloqueo vs no-bloqueo en I/O
      24. Programación lock-free
      25. Exclusión mutua con Mutex
      26. RwLock para acceso paralelo de solo lectura
      27. Atomics y órdenes de memoria
      28. Volátil para MMIO
      29. Interacciones con señales del SO
      30. Integración con FFI de C en runtime
    3. Modelo de Datos
      1. Representación en memoria de structs
      2. #[repr(Rust)] por defecto
      3. #[repr(C)] para compatibilidad ABI con C
      4. #[repr(packed)]
      5. #[repr(transparent)]
      6. Orden y alineación de campos
      7. Enum layout optimizado (Option<&T> sin overhead)
      8. Nichos de valores no usados (niche optimization)
      9. Box<T> como puntero único a heap
      10. Rc<T> con conteo de referencias single-thread
      11. Arc<T> con conteo de referencias thread-safe
      12. Cell<T> y RefCell<T> para mutabilidad interior
      13. UnsafeCell<T> como primitiva base de interior mutability
      14. Zonas exclusivas de referencia mutable (&mut T)
      15. Reglas de aliasing en borrow checker
      16. Send para traspaso seguro entre hilos
      17. Sync para acceso compartido seguro
      18. Unpin y movimiento seguro de futures
      19. Pin<&mut T>
      20. MaybeUninit<T> para inicialización manual
      21. ManuallyDrop<T> para controlar Drop
      22. Propiedad lineal como contrato estático
      23. Ciclos de referencia con Rc
      24. Weak<T> para romper ciclos
      25. Fugas de memoria intencionales (leak)
      26. Layout de closures y capturas
      27. dyn Trait y fat pointers (puntero + vtable)
      28. Llamadas virtuales vía vtable
      29. #[inline] y monomorfización en genéricos
      30. Eliminación de código muerto en monomorfización
    4. Modelo C y FFI
      1. extern "C" en funciones
      2. #[no_mangle] para nombres estables
      3. #[repr(C)] en structs para FFI
      4. Punteros crudos (*const T, *mut T)
      5. unsafe en llamadas FFI
      6. Traducción de enum a C
      7. Strings CString
      8. CStr
      9. Buffers *mut u8
      10. Longitud y ownership cruzando la frontera FFI
      11. Callbacks desde C hacia Rust
      12. Callbacks de Rust hacia C
      13. ABI estable entre Rust y C
      14. ABI entre Rust y C++
      15. bindgen para generar bindings desde headers C
      16. cbindgen para exponer headers C desde Rust
      17. Reglas de seguridad al exponer punteros
      18. Gestión de memoria compartida con librerías C
      19. #[link(name = "...")]
      20. #[link(kind = "static")]
      21. #[link(kind = "dylib")]
      22. Cargar librerías dinámicas en runtime
      23. Paso de structs complejos a C
      24. Paso de callbacks con extern "C" fn
      25. Manejo de errores en FFI (errno, códigos de error)
      26. Invariantes documentadas en funciones unsafe
      27. Pruebas de integración con librerías C existentes
      28. Construcción cruzada para plataformas embebidas
      29. Integración con kernels / drivers
      30. no_std y FFI en firmware
    5. Extensiones y Casos Especiales
      1. no_std y entornos sin sistema operativo
      2. Sistemas embebidos ARM Cortex-M
      3. RISC-V embebido
      4. Mapeo de registros de hardware con volatile
      5. Interrupciones (#[interrupt])
      6. Bootloaders en Rust
      7. Sistemas operativos escritos en Rust
      8. Kernels monolíticos vs microkernels en Rust
      9. Drivers de dispositivo en Rust
      10. Controladores de red en Rust
      11. Librerías criptográficas sin std
      12. Criptografía con no_std
      13. Randomness seguro (rand_core)
      14. #![forbid(unsafe_code)] en capas superiores
      15. unsafe encapsulado en HALs
      16. WebAssembly (wasm32-unknown-unknown)
      17. WASI (wasm32-wasi)
      18. Llamadas host ↔ WASM
      19. Limitaciones de asignador en WASM
      20. Serialización compacta para WASM
      21. Portado de lógica Rust a frontend web
      22. Reutilización de core logic en CLI y servidor
      23. Reutilización de lógica en microcontroladores
      24. Estrategias para panic en entornos sin stdout
      25. panic-halt y panic-abort
      26. Arranque seguro y watchdog
      27. Integridad de memoria en dispositivos críticos
      28. Certificación de software seguro
      29. Política de revisiones de unsafe
      30. Evolución futura del lenguaje, del borrow checker y de async nativo

8.4 - Shell

  1. Introducción
    1. Historia de los shells en Unix
      1. Bourne Shell (sh), csh y ksh
      2. Bash: origen, GNU y licenciamiento
      3. POSIX Shell: estandarización y portabilidad
      4. Evolución de Bash 1.x → 2.x → 3.x → 4.x → 5.x
      5. Línea temporal de características (arrays, asociativos, coproc, globstar)
      6. Comunidad, mantenimiento y políticas de releases
    2. Shells y compatibilidad
      1. sh vs bash vs dash vs ksh vs zsh
      2. Conformidad POSIX y “bashismos”
      3. Detección de shell activo y versión ($SHELL, bash --version)
      4. Portabilidad entre distribuciones y BSD/macOS
      5. BusyBox/Almquist (ash) y entornos mínimos
      6. Limitaciones en sistemas embebidos
    3. Instalación y actualización de Bash
      1. Distribuciones Linux (apt, dnf, pacman, zypper)
      2. macOS (Homebrew, MacPorts)
      3. Windows (WSL, MSYS2, Git Bash, Cygwin)
      4. Compilación desde fuente y opciones comunes
      5. Selección de shell por defecto (chsh, /etc/shells)
      6. Verificación de instalación y PATH
    4. Ejecutar el shell y scripts
      1. Sesión interactiva vs no interactiva
      2. Shebangs (#!/bin/sh, #!/usr/bin/env bash)
      3. Ejecución directa, bash script.sh, permisos y chmod +x
      4. source/. vs ejecución en subshell
      5. Flags y modos (-c, -i, -l, -O, -o, -v, -x)
      6. Entrada/salida estándar, tuberías y redirecciones básicas
    5. Terminales y línea de comandos
      1. TTY vs PTY
      2. Emuladores de terminal (GNOME Terminal, iTerm2, Windows Terminal, kitty, Alacritty)
      3. Multiplexores (tmux, screen)
      4. Readline, historial y edición de línea
      5. Autocompletado y bash-completion
      6. Copiado/pegado, mouse reporting y scrollback
    6. Editores y herramientas de desarrollo
      1. Vim, Neovim, Emacs, Nano, VS Code
      2. LSP/“language server” para shell (bash-language-server)
      3. Formateadores y linters (shfmt, ShellCheck)
      4. Integración con depuradores y perfiles de ejecución
      5. Fragmentos, plantillas y snippets de scripts
      6. Proyectos de ejemplos y repos de referencia
  2. Fundamentos
    1. Conceptos básicos del shell
      1. Comandos, argumentos y opciones
      2. Estado de salida y semántica de éxito/fracaso
      3. Rutas absolutas vs relativas
      4. PATH, búsqueda de comandos y hashing de rutas
      5. Builtins vs ejecutables externos
      6. Separadores, espacios y saltos de línea
    2. Variables y entorno
      1. Definición, asignación y alcance
      2. Exportación al entorno (export)
      3. Variables de entorno comunes (PATH, HOME, USER, SHELL)
      4. Variables locales vs globales
      5. env, printenv y archivos de entorno
      6. Convenciones de nombres y mayúsculas
    3. Tipos de datos prácticos
      1. Cadenas y evaluación de palabras
      2. Números en aritmética de shell
      3. Arrays indexados (bash)
      4. Arrays asociativos (bash)
      5. Valores nulos y no definidos
      6. Lectura segura de datos con IFS
    4. Citas y expansión
      1. Comillas simples vs dobles
      2. Escape con barra invertida
      3. Expansión de variables
      4. Sustitución de comandos
      5. Expansión aritmética
      6. Orden de expansiones y efectos colaterales
    5. Globbing y patrones
      1. Patrón *, ?, []
      2. extglob y patrones extendidos
      3. globstar y coincidencia recursiva
      4. nullglob, failglob, nocaseglob
      5. Diferencias con expresiones regulares
      6. Interacciones con IFS y splitting
    6. Operadores
      1. Aritméticos en (( ))
      2. Comparación en [ ] y [[ ]]
      3. Operadores de archivo (-e, -f, -d, -r, -w, -x)
      4. Operadores de cadena (=, !=, <, >, =~)
      5. Asignación compuesta y let
      6. Precedencia práctica en shell
    7. Control de flujo
      1. if, elif, else
      2. case con patrones
      3. for clásico y for … in
      4. while y until
      5. break, continue, exit, return
      6. Sentencias condicionales cortas con && y ||
    8. Funciones
      1. Definición y llamada
      2. Parámetros posicionales y $#, $*, $@, $?, $$, $!
      3. local y sombras de variables
      4. Valores de retorno y echo/stdout
      5. Bibliotecas de funciones y source
      6. Namespacing por convención
    9. Estado de salida y manejo de errores
      1. Códigos de retorno y set -e
      2. pipefail y errores en tuberías
      3. set -u y variables no definidas
      4. trap y captura de señales
      5. Limpieza y funciones cleanup
      6. Diseño de scripts “fail-fast”
    10. Opciones del shell
    11. set para opciones POSIX
    12. shopt para opciones específicas de bash
    13. Modo POSIX vs modo bash
    14. Opciones de globbing y expansión
    15. Ajustes de historia y readline
    16. Persistencia en dotfiles
  3. Estructuras y manipulación de datos
    1. Cadenas en shell
      1. Longitud, subcadenas y sustituciones
      2. Borrado de prefijos/sufijos con patrones
      3. Sustitución global de patrones
      4. Conversión de mayúsculas/minúsculas
      5. Manejo de caracteres especiales y binarios
      6. Normalización de fin de línea y codificaciones
    2. Arrays indexados
      1. Declaración, inicialización y expansión
      2. Acceso por índice y rebanado
      3. Iteración sobre índices y valores
      4. Operaciones de inserción y borrado
      5. Longitud y expansión segura con [@]
      6. Errores comunes con IFS y splitting
    3. Arrays asociativos
      1. Declaración y asignación de claves
      2. Iteración por clave y valor
      3. Existencia de claves y pruebas
      4. Copias y referencias
      5. Serialización simple de mapas
      6. Limitaciones de portabilidad
    4. Lectura y parsing
      1. read seguro con -r y IFS
      2. mapfile/readarray
      3. Lectura de campos, CSV y delimitadores
      4. getopts para opciones cortas
      5. getopt/GNU para opciones largas
      6. Validación de entrada y mensajes de ayuda
    5. Expresiones regulares y patrones
      1. [[ string =~ regex ]] en bash
      2. grep básico, ERE y PCRE según herramienta
      3. sed para sustituciones en flujo
      4. awk para campos y registros
      5. Limitaciones de regex en [[ ]]
      6. Casos de uso mezcla regex/patrones
    6. Archivos y directorios
      1. Comprobaciones de archivo y directorio
      2. Metadatos y permisos
      3. Timestamps y touch
      4. Listados y filtros
      5. Búsqueda con find
      6. Trabajo seguro con nombres con espacios y saltos de línea
    7. Redirecciones y descriptores
      1. >, >>, <, 2>, &>, <>
      2. exec para reasignar FDs
      3. tee y duplicación de salida
      4. noclobber y set -C
      5. Here-docs (<<, <<-) y here-strings (<<<)
      6. Pseudodispositivos y /dev/null
    8. Tuberías y procesos
      1. Piping entre múltiples comandos
      2. Efectos de subshell en (...)
      3. Agrupación { ...; }
      4. xargs y -0 con -print0
      5. parallel para concurrencia
      6. Consideraciones de rendimiento
    9. Sustituciones y procesos especiales
      1. Sustitución de comandos $( )
      2. Sustitución de procesos <( ) y >( )
      3. Co-procesos coproc
      4. Nombres de tuberías mkfifo
      5. /dev/tcp y /dev/udp en bash
      6. Captura de stderr por separado
  4. Programación estructurada y modular
    1. Organización de scripts
      1. Estructura de carpetas y convenciones
      2. Cabeceras, licencia y metadatos
      3. Funciones reutilizables y bibliotecas
      4. “Main” y flujo de ejecución
      5. Gestión de errores y logging
      6. Salidas y códigos de retorno
    2. Interfaz de línea de comandos
      1. Diseño de --help y --version
      2. Subcomandos por convención
      3. Validación de parámetros y contratos
      4. Mensajes de uso y ejemplos
      5. Colores y TTY detección
      6. Compatibilidad con sudo
    3. Configuración y entorno
      1. Archivos .env y dotenv CLI
      2. Variables de entorno y precedencia
      3. Archivos INI/TOML/YAML con grep/sed/awk/jq/yq
      4. Plantillas con here-doc y placeholders
      5. Rutas relativas y absolutas robustas
      6. Detección de sistema y distros
    4. Sourcing y módulos
      1. source de librerías internas
      2. Control de colisiones de nombres
      3. Variables readonly y constantes
      4. Carga condicional y “guardas”
      5. Versión mínima de bash y chequeos
      6. Dependencias de herramientas externas
    5. Estilo y calidad
      1. Guías de estilo (Google Shell Style Guide)
      2. ShellCheck: categorías y reglas comunes
      3. shfmt: indentación y formato
      4. Nombres de funciones y variables
      5. Comentarios y secciones
      6. Revisiones y code review
    6. Documentación
      1. Cabeceras con descripción y uso
      2. --help autogenerado por funciones
      3. Manuales man mínimos con ronn/pandoc
      4. README de CLI
      5. Ejemplos reproducibles
      6. Notas de compatibilidad
    7. Pruebas
      1. bats-core: estructura y aserciones
      2. shUnit2: suites y fixtures
      3. cram/tap: pruebas de línea de comandos
      4. Mocks de comandos con PATH y wrappers
      5. Tests de integración con contenedores
      6. Cobertura y medición de rutas de error
    8. Depuración
      1. set -x y PS4
      2. bash -x y trazas
      3. set -v y eco de entradas
      4. trap ERR y diagnósticos
      5. printf/echo dirigidos a stderr
      6. Reproducibilidad de fallos
    9. Rendimiento y benchmarking
      1. time y /usr/bin/time
      2. hyperfine para CLIs
      3. Minimización de subshells
      4. Sustituciones eficientes vs pipelines
      5. Uso de awk/sed/perl cuando corresponda
      6. Perfilado con strace/dtruss (lectura de alto nivel)
  5. Texto, datos y utilidades de Unix
    1. Búsqueda y filtrado
      1. grep, egrep, ripgrep
      2. head, tail, sed filtros básicos
      3. awk para columnas y agregaciones
      4. cut, paste, tr
      5. sort, uniq, comm, join
      6. nl, wc, fold, fmt
    2. Estructuras y formatos
      1. CSV robusto con delimitadores
      2. TSV y cut --output-delimiter
      3. JSON con jq
      4. YAML con yq
      5. INI con awk/grep patrones
      6. Binarios y xxd/hexdump
    3. Archivos y compresión
      1. tar y variantes de compresión
      2. gzip, bzip2, xz, zstd
      3. zip/unzip
      4. Extracción selectiva y streaming
      5. Integridad y checksums (md5sum, sha256sum)
      6. Archivos temporales con mktemp
    4. Sistema de archivos
      1. stat, ls y formatos
      2. chmod, chown, umask
      3. df, du y cuotas
      4. Enlaces duros y simbólicos
      5. Montajes y puntos de montaje
      6. lsof y archivos abiertos
    5. Búsqueda y ejecución
      1. find con pruebas de tiempo y tamaño
      2. -exec y -print0
      3. xargs paralelo y seguro
      4. Limitación de profundidad
      5. Selección por permiso/usuario/grupo
      6. Eliminación segura y confirmación
    6. Flujo y transformación
      1. tee para bifurcar
      2. Filtros composables
      3. Tratamiento de errores en pipelines
      4. awk como “mini lenguaje”
      5. sed multi-línea y hold space
      6. Mantenimiento de orden estable
  6. Concurrencia, procesos y sistema
    1. Procesos y jobs
      1. Ejecución en background &
      2. jobs, fg, bg
      3. wait y recolección
      4. disown y longevidad
      5. nohup y sesiones
      6. Subshells vs shell actual
    2. Señales y trap
      1. SIGINT, SIGTERM, SIGHUP
      2. Limpieza de recursos
      3. Trampas para EXIT y ERR
      4. Reintentos exponenciales
      5. Ventanas de carrera y bloqueos
      6. flock y exclusión mutua
    3. Paralelismo práctico
      1. xargs -P y límites
      2. GNU parallel
      3. Coprocesos coproc
      4. Paralelismo por archivos y sharding
      5. Estrategias de backoff
      6. Observabilidad básica
    4. Tiempo y temporización
      1. date y formatos portables
      2. sleep, usleep (según SO)
      3. timeout y cancelación
      4. Medición con time y SECONDS
      5. Zonas horarias y TZ
      6. Rounding y diferencias de tiempo
    5. Programación y scheduling
      1. cron y crontab
      2. anacron
      3. systemd timers
      4. at/batch
      5. systemd-run para tareas únicas
      6. Logs y rotación con logrotate
    6. Recursos del sistema
      1. ulimit y límites de FDs
      2. nice y renice
      3. Afinidad y taskset (Linux)
      4. Memoria y free/vm_stat
      5. CPU y mpstat/top/htop
      6. I/O y iostat/dstat
  7. Redes y comunicación
    1. Transferencias
      1. curl y wget
      2. scp, sftp, rsync
      3. Autenticación con claves
      4. Verificación de certificados
      5. Reanudación y --continue-at
      6. Throttling de ancho de banda
    2. Conectividad
      1. ping, ping6
      2. traceroute/mtr
      3. dig/host
      4. nc/netcat y puertos
      5. /dev/tcp para testing
      6. Proxies y variables de entorno
    3. SSH y automatización
      1. ssh y opciones de control
      2. ~/.ssh/config y multiplexación
      3. Agentes ssh-agent/gpg-agent
      4. Ejecución remota paralela
      5. Transferencias atómicas con rsync
      6. Túneles y port forwarding
    4. APIs y formatos
      1. curl con JSON
      2. jq para parseo y filtros
      3. Autenticación por tokens
      4. Retries y backoff
      5. Logging de peticiones y respuestas
      6. Sanitización de secretos en logs
  8. Entorno, dotfiles y personalización
    1. Inicio de sesión y perfiles
      1. Shell de login vs no login
      2. .bashrc, .bash_profile, .profile
      3. Orden de carga y herencia
      4. Distinciones macOS/Linux
      5. Scripts globales en /etc
      6. Depuración de inicio con set -x
    2. Prompt y estética
      1. PS1, PS2, PS4
      2. Colores ANSI y escapes
      3. Información de git y estado
      4. Prompts por contexto (root, prod)
      5. Separadores unicode y símbolos
      6. Detección de TTY para colores
    3. Historial y productividad
      1. HISTFILE, HISTSIZE, HISTCONTROL
      2. history y expansión !
      3. Búsqueda incremental con Readline
      4. Atajos de edición (emacs/vi mode)
      5. fc y edición del último comando
      6. Deduplicación de comandos
    4. Autocompletado
      1. bash-completion paquetes
      2. Completados personalizados
      3. Context-aware completion
      4. Cache y rendimiento
      5. Compatibilidad entre distros
      6. Mantenimiento de scripts de completion
    5. Gestión del entorno
      1. Variables por proyecto
      2. direnv y hooks
      3. Versionado de herramientas (asdf, mise)
      4. Nix y shells reproducibles
      5. Plantillas de perfiles
      6. Seguridad de archivos de inicio
  9. Seguridad en shell
    1. Principios básicos
      1. Citar siempre las variables
      2. Evitar word splitting accidental
      3. Manejo de IFS seguro
      4. set -Eeuo pipefail en scripts críticos
      5. umask y permisos por defecto
      6. noclobber y sobrescrituras
    2. Inyección y sanitización
      1. Construcción segura de comandos
      2. Evitar eval
      3. Validación de rutas y nombres
      4. Filtrado de entrada y listas blancas
      5. Limitación de globbing inesperado
      6. Escapes al invocar herramientas
    3. Archivos temporales
      1. mktemp y directorios dedicados
      2. Limpieza con trap
      3. Colisiones y condiciones de carrera
      4. Nombres predecibles a evitar
      5. tmpfs y consideraciones de rendimiento
      6. Permisos y herencia en TMPDIR
    4. Secretos y credenciales
      1. Variables de entorno sensibles
      2. Archivos .netrc y permisos
      3. Pass/Keychain/GPG
      4. Redacción de logs
      5. Integración con gestores de secretos
      6. Expiración y rotación
    5. Casos conocidos
      1. Shellshock y funciones en entorno
      2. PATH envenenado
      3. Scripts sudo inseguros
      4. ssh sin restricción de comandos
      5. tar y paths relativos
      6. find -exec y comodines
  10. Portabilidad y diferencias de plataformas
    1. GNU vs BSD
      1. sed -i y compatibilidad
      2. date y formatos
      3. xargs flags por defecto
      4. tar opciones divergentes
      5. readlink y realpath
      6. stat campos y sintaxis
    2. Linux vs macOS vs *BSD
      1. Utilidades de red
      2. Directorios del sistema
      3. Enlaces simbólicos y Finder
      4. Lanzadores y launchd
      5. Homebrew y rutas en ARM
      6. Frameworks y restricciones SIP
    3. Entornos mínimos
      1. BusyBox/ash
      2. Alpine y musl
      3. Imágenes scratch/distroless
      4. Docker entrypoints en sh
      5. Shells en initramfs
      6. Limitaciones de locales
    4. Windows y POSIX
      1. WSL y interoperabilidad
      2. MSYS2/Cygwin
      3. CRLF vs LF
      4. Rutas y letras de unidad
      5. Procesos y señales
      6. Permissions y ACLs
  11. Integración con ecosistema y empaquetado
    1. Gestores de paquetes del sistema
      1. apt, dnf/yum, pacman, zypper
      2. brew, port
      3. nix/guix
      4. snap/flatpak para CLIs
      5. Repos privados y mirrors
      6. Cachés y proxies
    2. Distribución de scripts
      1. Instalación en /usr/local/bin
      2. Paquetización DEB/RPM básica
      3. Publicación via tarballs
      4. Checksums y firmas
      5. Versionado semántico por convención
      6. Changelogs y notas de versión
    3. Contenedores
      1. Dockerfiles con sh/bash
      2. Entrypoint vs CMD
      3. Señales y PID 1
      4. Imágenes multi-stage
      5. Salud y readiness checks
      6. Logs y STDOUT/STDERR
    4. CI/CD
      1. Ejecutores y runners
      2. Caching de dependencias
      3. Matrices y paralelismo
      4. Artefactos y reportes
      5. Lint/test en pipelines
      6. Firmas y supply chain
    5. Interoperabilidad
      1. Makefiles y targets
      2. Invocación desde otros lenguajes
      3. Subprocesos y códigos de retorno
      4. IPC simple con FIFOs
      5. JSON/YAML como interfaz
      6. CLI contract-first
  12. Redes, servicios y sistemas
    1. Gestión de servicios
      1. systemd y systemctl
      2. SysV init scripts
      3. Launchd en macOS
      4. Supervisores (supervisord, s6)
      5. Logs de sistema y journalctl
      6. Rotación y retención
    2. Almacenamiento y backups
      1. rsync avanzado
      2. Snapshots y LVM/ZFS (conceptos)
      3. Verificación de integridad
      4. Backups diferenciales/incrementales
      5. Restores y pruebas periódicas
      6. Cifrado en repositorios
    3. Observabilidad
      1. top, htop, atop
      2. vmstat, iostat, dstat
      3. lsof y fugas de descriptores
      4. ss/netstat
      5. Logging estructurado con jq
      6. Exportadores y métricas simples
    4. Seguridad operativa
      1. sudo políticas y NOPASSWD
      2. pam y restricciones
      3. faillock/fail2ban básicos
      4. Chequeos de permisos en scripts
      5. Listas de control y setcap
      6. Auditoría de comandos críticos
  13. Casos de uso y patrones
    1. Procesamiento masivo de archivos
      1. Canonización de nombres
      2. Renombrado seguro
      3. Extracción y partición
      4. Validaciones de estructura
      5. Resúmenes y reportes
      6. Reintentos de operaciones fallidas
    2. Pipelines de datos
      1. Extracción → Transformación → Carga
      2. Logs y métricas por etapa
      3. Paralelismo por particiones
      4. Reprocesamiento idempotente
      5. Control de versiones de pipeline
      6. Almacenamiento temporal y limpieza
    3. CLI de utilería
      1. Plantillas --help
      2. Comandos anidados
      3. Config por archivo y env
      4. Verbosidad y --quiet
      5. Códigos de retorno estandarizados
      6. Tests de humo automáticos
    4. Automatización de despliegues
      1. Construcción y empaquetado
      2. Publicación artefactos
      3. Migraciones y rollbacks
      4. Checks de salud post-deploy
      5. Canary y gradual rollouts
      6. Auditoría y trazabilidad
    5. Mantenimiento y tareas programadas
      1. Limpieza de caches
      2. Rotación de logs
      3. Verificación de espacio
      4. Renovación de certificados
      5. Respaldo y rotación
      6. Alertas y notificaciones
  14. Lectura, escritura y formatos específicos
    1. CSV/TSV robusto
      1. Delimitadores y comillas
      2. Filtrado por columnas
      3. Uniones y mezclas
      4. Limpieza de encabezados
      5. Detección de codificaciones
      6. Conversión a JSON/YAML
    2. JSON
      1. Extracción y transformación con jq
      2. Validación y esquema básico
      3. Merge y patch
      4. Orden y pretty-print
      5. Streams y SLURP
      6. Filtrado por claves
    3. YAML
      1. yq para consultas
      2. Conversión YAML↔JSON
      3. Anclas y alias (operativo)
      4. Plantillas con here-doc
      5. Splits por documentos
      6. Validación básica
    4. Texto y codificaciones
      1. UTF-8 por defecto
      2. Eliminación de BOM
      3. Normalización de saltos de línea
      4. Reemplazos seguros de binarios
      5. Detección con file
      6. Reglas de localización
  15. Internos del shell
    1. Ciclo de vida de un comando
      1. Tokenización y parsing
      2. Expansiones en orden
      3. Globbing y splitting
      4. Redirecciones y FDs
      5. Fork/exec y espera
      6. Recolección del estado
    2. Builtins esenciales
      1. cd, echo, printf
      2. test/[, [[
      3. read, mapfile
      4. set, shopt
      5. exec, eval (con cautela)
      6. trap, ulimit
    3. Readline y edición
      1. .inputrc y bindings
      2. Modos emacs/vi
      3. Macros simples
      4. Compleciones dinámicas
      5. Historial y expansión !
      6. Control de mayúsculas/minúsculas
    4. Opciones y comportamiento
      1. POSIX mode
      2. Emulación de sh
      3. Opciones heredadas
      4. Variables especiales de bash
      5. Límite de recursión de funciones
      6. Máximos de longitud de línea/argv
  16. Internacionalización y locales
    1. Locales del sistema
      1. LC_ALL, LANG, LC_* variables
      2. Efectos en sort/grep/awk
      3. Estabilidad con LC_ALL=C
      4. Fechas, números y collations
      5. Conversión de charset
      6. Scripts reproducibles y locales fijas
    2. Mensajes y traducción (nivel operativo)
      1. Mensajes de ayuda neutrales
      2. Señales y textos estándar
      3. Salidas parsables vs human-friendly
      4. Documentación bilingüe por convención
      5. Evitar dependencias regionales
      6. Pruebas con locales variados
  17. Buenas prácticas y antipatrones
    1. Citar siempre expansiones
    2. Evitar for x in $(cmd) para líneas
    3. Preferir read -r con IFS controlado
    4. Manejo de errores explícito
    5. No abusar de subshells innecesarios
    6. Reemplazar cat inútil (UUOC)
    7. grep -q para pruebas silenciosas
    8. set -Eeuo pipefail cuando aplique
    9. Validar entradas externas
    10. Registrar acciones críticas
  18. Migración y compatibilidad
    1. De bash a POSIX sh
    2. Detección y eliminación de bashismos
    3. Sustituciones de [[[ cuando sea posible
    4. mapfile/arrays en entornos sin bash
    5. extglob y alternativas
    6. Pruebas cruzadas en shells comunes
  19. Catálogo de recetas frecuentes
    1. Parseo robusto de flags con getopts
    2. Leer fichero línea a línea seguro
    3. Procesar grandes árboles con find -print0
    4. Pipelines con manejo de errores
    5. Retries con backoff exponencial
    6. Locking con flock
    7. Logging con niveles y timestamps
    8. Rotación de logs por tamaño
    9. Descargas con checksum y verificación
    10. Recolección y limpieza a la salida
  20. Referencias y ecosistema
    1. Manuales (man bash, POSIX)
    2. Guías de estilo reconocidas
    3. Proyectos ejemplo y plantillas
    4. Herramientas de verificación (ShellCheck, shfmt)
    5. Conjuntos de pruebas (bats, shUnit2)
    6. Comunidades y recursos de aprendizaje

9 - Diseño de software

  1. Diseño de software
    1. Diseño y arquitectura de software

      1. Principios de diseño orientado a mantenibilidad
        1. Acoplamiento bajo y cohesión alta
        2. Separación de responsabilidades (SoC)
        3. Encapsulamiento y ocultamiento de información
        4. Principios SOLID
        5. Interfaces estables y contratos claros
        6. Evolución controlada de componentes
        7. Facilidad de pruebas y capacidad de ser testeable
        8. Observabilidad y depurabilidad
      2. Principios como evitar repetición innecesaria y mantener la simplicidad
        1. DRY (Don’t Repeat Yourself)
        2. KISS (Keep It Simple, Stupid)
        3. YAGNI (You Aren’t Gonna Need It)
        4. Minimización de complejidad accidental
        5. Ley de Demeter
        6. Principio de menor sorpresa
        7. Minimización de dependencias implícitas
      3. Patrones de diseño (creacionales, estructurales y de comportamiento)
        1. Patrones creacionales
          1. Factory Method
          2. Abstract Factory
          3. Builder
          4. Prototype
          5. Singleton
          6. Object Pool
          7. Dependency Injection
        2. Patrones estructurales
          1. Adapter
          2. Bridge
          3. Composite
          4. Decorator
          5. Facade
          6. Flyweight
          7. Proxy
          8. DTO (Data Transfer Object)
        3. Patrones de comportamiento
          1. Strategy
          2. Observer / Publish–Subscribe
          3. Command
          4. Chain of Responsibility
          5. State
          6. Template Method
          7. Iterator
          8. Mediator
          9. Memento
          10. Visitor
          11. Specification
          12. Null Object
        4. Patrones concurrentes
          1. Producer–Consumer
          2. Reader–Writer
          3. Reactor
          4. Circuit Breaker
          5. Bulkhead
          6. Retry / Backoff
        5. Patrones arquitectónicos
          1. MVC / MVP / MVVM
          2. CQRS (Command Query Responsibility Segregation)
          3. Event Sourcing
          4. Pipes and Filters
      4. Arquitectura en capas
        1. Capa de presentación
        2. Capa de aplicación / servicio
        3. Capa de dominio / negocio
        4. Capa de infraestructura / persistencia
        5. Separación lógica vs separación física
        6. Dependencias dirigidas hacia adentro
        7. Problemas comunes del modelo de capas tradicional
      5. Arquitectura limpia
        1. Círculos concéntricos y dependencia hacia el dominio
        2. Entidades y casos de uso
        3. Interfaces de entrada y salida
        4. Controladores y presentadores
        5. Gateways / repositorios
        6. Independencia de frameworks
        7. Testabilidad y reemplazo de infraestructura
      6. Arquitectura hexagonal y separación de puertos/adaptadores
        1. Dominio como núcleo independiente
        2. Puertos (interfaces dirigidas hacia el dominio)
        3. Adaptadores primarios (driving)
        4. Adaptadores secundarios (driven)
        5. Sustitución de infraestructura (DB, colas, APIs externas)
        6. Aislamiento de efectos secundarios
        7. Pruebas a nivel de puerto
      7. Diseño guiado por el dominio (Domain-Driven Design)
        1. Lenguaje ubicuo
        2. Contextos delimitados (bounded contexts)
        3. Mapeo de contexto y relaciones entre contextos
        4. Modelo de dominio explícito
        5. Entidades de dominio
        6. Objetos de valor
        7. Servicios de dominio
        8. Agregados y raíces de agregado
        9. Repositorios
        10. Eventos de dominio
        11. Anti-corrupción layer
        12. Refactorización del modelo a partir del conocimiento del negocio
      8. Monolitos modulares y microservicios
        1. Monolito tradicional
        2. Monolito modular
        3. Fronteras de módulo internas
        4. Microservicios
        5. Criterios para extraer un microservicio
        6. Comunicación síncrona vs asíncrona
        7. Despliegue independiente
        8. Consistencia eventual entre servicios
        9. Observabilidad distribuida
        10. Versionado e independencia de ciclo de vida
        11. Enrutamiento y descubrimiento de servicios
        12. Gestión de fallas en cascada
      9. Arquitecturas dirigidas por eventos
        1. Productores y consumidores de eventos
        2. Bus de eventos y colas de mensajería
        3. Event Sourcing
        4. CQRS y eventos como fuente de verdad
        5. Coreografía vs orquestación
        6. Idempotencia en el consumo de eventos
        7. Consistencia eventual
        8. Retries y colas muertas
        9. Garantías de entrega (at-most-once, at-least-once, exactly-once)
      10. Versionado de interfaces y ciclos de vida de APIs
        1. Versionado de endpoints
        2. Versionado semántico
        3. Compatibilidad hacia atrás
        4. Deprecación controlada de contratos
        5. Estabilidad de contratos públicos
        6. Gestión del ciclo de vida de API
        7. Cambios breaking y comunicación interna/externa
        8. Evolución de esquemas y modelos de datos
        9. Control de capacidad y límites de uso (rate limiting)
        10. Políticas de seguridad y autenticación
      11. Documentación técnica orientada a desarrolladores y mantenimiento
        1. Documentación de arquitectura
        2. Diagramas de componentes y dependencias
        3. Especificación de APIs
        4. Contratos de servicios internos
        5. ADRs (Architecture Decision Records)
        6. Guías de despliegue y operación
        7. Manuales de resolución de incidentes
        8. Documentación de límites y garantías (SLO, SLA)
        9. Registro de cambios técnicos
        10. Estándares de estilo y convenciones
        11. Versionado de la documentación
        12. Documentación cercana al código vs documentación externa
      12. Modularización y empaquetado de componentes reutilizables
        1. Diseño de librerías internas
        2. Paquetes reutilizables por equipo/proyecto
        3. Reutilización vs copia localizada
        4. Estabilidad de interfaces internas
        5. Control de dependencias internas
        6. Gestión de versiones de componentes compartidos
        7. Monorepos vs multirepos
        8. Plugins y extensiones
        9. Políticas de rompimiento de compatibilidad interna
        10. Reglas de ownership por módulo
        11. Catálogo interno de servicios y librerías
        12. Distribución binaria vs distribución de código fuente
    2. Algoritmos y estructuras de datos

      1. Complejidad temporal y espacial (notación asintótica)
        1. O grande
        2. Ω y Θ
        3. Mejor caso, peor caso y caso promedio
        4. Complejidad amortizada
        5. Costos de memoria y caché
        6. Complejidad de acceso a memoria
      2. Análisis de eficiencia algorítmica
        1. Conteo de operaciones dominantes
        2. Análisis de bucles anidados
        3. Análisis de recurrencias
        4. Optimización temprana vs microoptimizaciones
        5. Trade-offs tiempo vs espacio
        6. Escalabilidad asintótica
      3. Estructuras lineales (listas, pilas, colas, colas dobles)
        1. Arreglos (arrays) y listas contiguas
        2. Listas enlazadas simples y dobles
        3. Pilas (stacks)
        4. Colas (queues)
        5. Colas dobles (deques)
        6. Listas circulares
        7. Listas bloqueadas / chunked
        8. Buffers circulares
        9. Implementación sobre memoria dinámica
        10. Costos de inserción, borrado y acceso
      4. Árboles, montículos, tries y estructuras jerárquicas
        1. Árboles binarios
        2. Árboles binarios de búsqueda (BST)
        3. Árboles balanceados (AVL, Red-Black)
        4. Árboles B y B+
        5. Árboles segmentados (segment trees)
        6. Fenwick / Binary Indexed Trees
        7. Montículos (heaps)
        8. Priority queues
        9. Heaps binomiales y Fibonacci
        10. Tries
        11. Compresión de tries y radix trees
        12. Árboles cuaternarios y octrees
        13. Árboles de intervalo y de rango
        14. Árboles de decisión
        15. Árboles de sufijos
      5. Grafos
        1. Representación de grafos (matriz de adyacencia, lista de adyacencia)
        2. Grafos dirigidos y no dirigidos
        3. Grafos ponderados
        4. Árboles de expansión mínima
        5. Caminos mínimos
        6. Detección de ciclos
        7. Ordenamiento topológico
        8. Componentes fuertemente conexas
        9. Flujos máximos
        10. Matching y emparejamiento
        11. Grafos bipartitos
        12. Conectividad y puentes
        13. Grafos dinámicos y online
        14. Grafos probabilísticos
      6. Hashing y tablas hash
        1. Funciones hash
        2. Colisiones y métodos de resolución
        3. Direccionamiento abierto
        4. Encadenamiento separado
        5. Rehashing y factor de carga
        6. Hash consistente
        7. Bloom filters
        8. Cuckoo hashing
        9. Tablas hash inmutables
        10. Trade-offs entre hash y árboles balanceados
      7. Algoritmos de ordenamiento y búsqueda
        1. Búsqueda lineal
        2. Búsqueda binaria
        3. Ordenamiento por comparación (quicksort, mergesort, heapsort)
        4. Ordenamiento no comparativo (counting sort, radix sort, bucket sort)
        5. Estabilidad del ordenamiento
        6. Selección del k-ésimo elemento
        7. Ordenamiento externo
        8. Ordenamiento parcial e incremental
        9. Búsqueda aproximada
      8. Recursividad y divide y vencerás
        1. Recurrencias clásicas
        2. Descomposición de problemas
        3. Mergesort / Quicksort como divide y vencerás
        4. Búsqueda binaria recursiva
        5. Poda y recursión con backtracking
        6. Recursión de cola y optimización de cola
        7. Profundidad máxima y stack frames
      9. Programación dinámica y memoización
        1. Subproblemas solapados
        2. Estados y transiciones
        3. Tablas bottom-up
        4. Memoización top-down
        5. Optimización de espacio
        6. Reutilización incremental de resultados
        7. DP con reconstrucción de solución
        8. DP en grafos acíclicos dirigidos
        9. DP probabilística
      10. Algoritmos de concurrencia y sincronización
        1. Secciones críticas
        2. Exclusión mutua
        3. Locks, mutexes y semáforos
        4. Barreras y barreras cíclicas
        5. Paso de mensajes
        6. Algoritmos sin bloqueo (lock-free)
        7. Algoritmos wait-free
        8. Consistencia de memoria
        9. Algoritmos de consenso
        10. Deadlocks y prevención
        11. Scheduling y fairness
        12. Control de contención
      11. Estructuras de datos inmutables o persistentes
        1. Árboles persistentes
        2. Listas persistentes
        3. Hash tries inmutables
        4. Copy-on-write
        5. Versionado estructural
        6. Sharing estructural
        7. Costos de mutación lógica
        8. Estructuras puramente funcionales
      12. Algoritmos probabilísticos y aproximados
        1. Algoritmos Monte Carlo
        2. Algoritmos Las Vegas
        3. Sampling aleatorio
        4. Sketches de datos
        5. Conteo aproximado y cardinalidad estimada
        6. Algoritmos streaming
        7. Aprox. para problemas NP-duros
        8. Randomización para balance de carga
        9. Probabilistic hashing
        10. Tolerancia a error y control de confianza
    3. Procesos de ingeniería de software

      1. Requisitos de software
        1. Requisitos funcionales
        2. Requisitos no funcionales
        3. Atributos de calidad (rendimiento, seguridad, confiabilidad, escalabilidad)
        4. Restricciones técnicas y regulatorias
        5. Requisitos operacionales
        6. Priorización de requisitos
        7. Gestión de expectativas de stakeholders
      2. Análisis, especificación y trazabilidad de requisitos
        1. Historias de usuario
        2. Casos de uso
        3. Escenarios de negocio
        4. Requisitos formales
        5. Modelos de dominio y vocabulario compartido
        6. Matrices de trazabilidad
        7. Control de cambios de requisitos
      3. Diseño de software
        1. Modelado de arquitectura
        2. Diseño de componentes y módulos
        3. Diagramas estructurales y de interacción
        4. Definición de interfaces
        5. Diseño orientado a pruebas
        6. Diseño para observabilidad
        7. Diseño para despliegue y operación
      4. Construcción y estándares de codificación
        1. Estándares de estilo
        2. Convenciones de nombres
        3. Revisión de código (code review)
        4. Guías de ramificación y control de versiones
        5. Integración continua
        6. Automatización de builds
        7. Gestión de dependencias externas
        8. Gestión de secretos y configuración
        9. Prácticas seguras de codificación
        10. Políticas de deuda técnica
      5. Verificación y validación
        1. Pruebas unitarias
        2. Pruebas de integración
        3. Pruebas de contrato
        4. Pruebas end-to-end
        5. Pruebas de regresión
        6. Pruebas de rendimiento y carga
        7. Pruebas de seguridad
        8. Fuzzing
        9. Revisión estática de código y análisis estático
        10. Auditorías técnicas
        11. Aprobación de despliegues
      6. Mantenimiento evolutivo y correctivo
        1. Corrección de defectos
        2. Refactorización continua
        3. Gestión de deuda técnica
        4. Extensión de funcionalidades existentes
        5. Migración tecnológica
        6. Compatibilidad hacia atrás
        7. Gestión de riesgos en cambios
        8. Planificación de fin de vida
      7. Gestión de la configuración
        1. Control de versiones
        2. Estrategias de branching
        3. Versionado semántico
        4. Gestión de releases
        5. Trazabilidad de cambios en producción
        6. Infraestructura como código
        7. Gestión de entornos
        8. Auditoría y cumplimiento
      8. Ingeniería de calidad de software
        1. Aseguramiento de calidad (QA)
        2. Control de calidad
        3. Estrategias de pruebas automatizadas
        4. Cobertura de pruebas
        5. Definición de criterios de aceptación
        6. Definición de DoD (Definition of Done)
        7. Observabilidad como parte de la calidad
        8. Gestión de incidentes y postmortems
        9. Revisión continua de confiabilidad
        10. Gestión de vulnerabilidades
      9. Procesos de desarrollo
        1. Cascada
        2. Prototipado evolutivo
        3. Iterativo incremental
        4. RUP / procesos unificados
        5. Agile / Agile industrial
        6. Scrum
        7. Kanban
        8. Lean software
        9. DevOps
        10. GitOps
        11. Continuous Delivery / Continuous Deployment
        12. Inner source y colaboración abierta interna
      10. Métricas de productividad y calidad del software
        1. Velocidad de entrega
        2. Lead time de cambios
        3. Tiempo medio de recuperación (MTTR)
        4. Frecuencia de despliegues
        5. Tasa de cambios fallidos
        6. DORA metrics
        7. Densidad de defectos
        8. Cobertura de pruebas útil
        9. SLOs y SLIs
        10. Disponibilidad y confiabilidad percibida
        11. Estabilidad vs velocidad de cambio
        12. Costo total de propiedad (TCO)
      11. Herramientas de soporte al ciclo de vida del software
        1. Sistemas de control de versiones
        2. Integración continua y pipelines de CI/CD
        3. Sistemas de seguimiento de issues
        4. Gestión de requisitos y especificaciones
        5. Gestión de arquitectura y documentación
        6. Monitoreo y alertas en producción
        7. Trazabilidad de despliegues
        8. Gestión de incidentes y on-call
        9. Feature flags y despliegues progresivos
        10. Entornos efímeros y pruebas aisladas
        11. Observabilidad (logs, métricas, trazas)
        12. Gestión de secretos y configuración segura
      12. Mejora continua de procesos y madurez operativa
        1. Ciclo de retroalimentación corta
        2. Postmortems sin culpa
        3. Revisión de arquitectura evolutiva
        4. Iteración sobre estándares internos
        5. Automatización sistemática de tareas manuales
        6. Reducción de trabajo no planificado
        7. Gestión activa de deuda técnica
        8. Capacitación continua y transferencia de conocimiento
        9. Escalamiento organizacional de prácticas efectivas
        10. Madurez operacional y confiabilidad como característica del producto
        11. Gobernanza técnica y responsabilidad compartida
        12. Cultura de seguridad incorporada en el proceso

10 - Backend y servicios

  1. Backend y servicios
    1. Frameworks web y diseño de APIs
      1. Tipos y arquitecturas web
        1. REST / RESTful
        2. HATEOAS
        3. GraphQL
        4. RPC binario (gRPC / Thrift / Avro)
        5. WebSockets
        6. Long Polling
        7. Server-Sent Events (SSE)
        8. WebTransport
        9. WebRTC orientado a data channels
        10. SOA (Service-Oriented Architecture)
        11. SOAP / WSDL
        12. API Gateway y BFF (Backend for Frontend)
      2. Comunicación bidireccional y tiempo real
        1. Canales WebSocket persistentes
        2. Server-Sent Events para notificaciones unidireccionales
        3. Long polling compatible con entornos legacy
        4. Streaming gRPC bidireccional
        5. Difusión en tiempo real mediante pub/sub
        6. Canales / rooms compartidos entre clientes
        7. Estado de presencia y “usuario en línea”
        8. Sincronización colaborativa en vivo (co-edición)
        9. Entrega parcial y progresiva de resultados largos
        10. Priorización de mensajes críticos vs mensajes secundarios
      3. Middleware, interceptores y filtros
        1. Cadena de middlewares componibles
        2. Interceptores de request / response
        3. Validación previa al handler
        4. Transformación y normalización de payload
        5. Logging estructurado y trazas
        6. Métricas de latencia y tiempos de respuesta
        7. Autenticación centralizada
        8. Control de acceso a nivel de ruta
        9. Rate limiting y cuotas por endpoint
        10. Gestión de CORS y headers de seguridad
      4. Validación y serialización de datos de entrada y salida
        1. Esquemas de validación consistentes
        2. Sanitización y normalización de entrada
        3. Tipado fuerte en DTOs / contratos formales
        4. Serialización estructurada (JSON / XML / YAML)
        5. Serialización binaria eficiente
        6. Normalización de fechas, números y zonas horarias
        7. Validación de tamaños, límites y formatos
        8. Respuestas de error estandarizadas
        9. Versionado de esquemas con retrocompatibilidad
        10. Evolución del contrato sin romper clientes existentes
      5. Autenticación y autorización a nivel de servicio
        1. Autenticación básica y API Keys
        2. Tokens firmados (JWT)
        3. OAuth2 / OpenID Connect
        4. SSO corporativo y federación de identidad (SAML / IdP)
        5. Gestión de identidades delegadas y externas (proveedores de identidad)
        6. Passkeys / WebAuthn
        7. MFA (SMS, TOTP/HOTP, push, biométrico, hardware tokens)
        8. Sesiones seguras y cookies con protección
        9. Rotación, expiración y revocación de credenciales
        10. Identidad de servicio a servicio (workload identity / service accounts)
      6. Autorización basada en roles y atributos
        1. RBAC (Role-Based Access Control)
        2. ABAC (Attribute-Based Access Control)
        3. PBAC / autorización basada en políticas centralizadas
        4. Scopes y claims en tokens
        5. Lógicas de permisos jerárquicos y delegados
        6. Controles por acción, recurso y contexto
        7. Evaluación de políticas en runtime
        8. Auditoría de decisiones de autorización
        9. Separación de funciones (SoD)
        10. Acceso condicional basado en riesgo / postura del cliente
      7. Limitación de tasa, paginación y control de abuso
        1. Rate limiting global
        2. Rate limiting por IP / usuario / API key
        3. Cotas (quotas) diarias, horarias o por plan
        4. Throttling y backpressure
        5. Paginación offset/limit
        6. Paginación basada en cursor / “a partir de aquí”
        7. Detección de patrones abusivos (scraping / bursts anómalos)
        8. Bloqueo temporal selectivo / cooldown
        9. Detección de automatización/bots y mitigación
        10. Honeypots / endpoints señuelo para identificar abuso
      8. Versionado de APIs
        1. Versionado explícito en la ruta (v1, v2…)
        2. Versionado mediante headers de negociación
        3. Versionado semántico de contrato
        4. Compatibilidad retroactiva (backward compatibility)
        5. Compatibilidad hacia adelante (forward compatibility)
        6. Deprecación gradual y retirada planificada
        7. Coexistencia de versiones en paralelo
        8. Canales beta / vista previa controlada
        9. Pruebas automáticas de compatibilidad de esquema
        10. Gestión del ciclo de vida público / interno / legacy
      9. Especificaciones y documentación de APIs
        1. OpenAPI / Swagger
        2. IDL / protobuf para gRPC
        3. Esquemas GraphQL documentados
        4. Documentación generada automáticamente
        5. Ejemplos de requests / responses y códigos de error
        6. Definición formal de contratos de error
        7. SDKs y clientes generados desde el contrato
        8. Testing de contrato (consumer-driven)
        9. Mock servers a partir de la especificación
        10. Validación de contrato en CI/CD
    2. Bases de datos y persistencia
      1. Lenguajes de consulta estructurados
        1. SQL declarativo
        2. DDL / DML / DQL / DCL
        3. Joins y combinaciones complejas
        4. Subconsultas y CTEs
        5. Agregaciones y ventanas analíticas
        6. Planificación y optimización por el planner
        7. Index hints y tuning de consultas
        8. Planes de ejecución y análisis de costos
        9. Sentencias preparadas y binding de parámetros
        10. Prevención de inyección y consultas seguras
      2. Modelado relacional
        1. Definición de tablas y claves primarias
        2. Claves foráneas y restricciones referenciales
        3. Relaciones 1:1, 1:N, N:M
        4. Integridad referencial estricta
        5. Restricciones CHECK y dominios de valor
        6. Modelos altamente normalizados
        7. Desnormalización estratégica para lectura rápida
        8. Tablas pivote y tablas puente
        9. Trazabilidad de cambios (audit columns, timestamps)
        10. Versionado de registros (soft history / temporal tables)
      3. Normalización y desnormalización
        1. Formas normales (1NF, 2NF, 3NF, BCNF)
        2. Eliminación de redundancia no controlada
        3. Balance entre consistencia y performance
        4. Campos derivados precalculados
        5. Tablas resumen / agregadas materializadas
        6. Tablas anchas optimizadas para lectura
        7. Tablas altamente factorizadas optimizadas para escritura
        8. Estrategias de duplicación de datos por servicio
        9. Mantenimiento de sincronización entre copias duplicadas
        10. Impacto en caché y latencia de lectura
      4. Transacciones, atomicidad y aislamiento
        1. Propiedades ACID
        2. Commit y rollback
        3. Niveles de aislamiento configurables
        4. Lecturas sucias, no repetibles y phantom reads
        5. Bloqueos pesimistas y bloqueos por fila
        6. MVCC (control multiversión)
        7. Detección y resolución de deadlocks
        8. Timeouts de transacción y reintentos
        9. Transacciones distribuidas / 2PC
        10. Idempotencia de operaciones críticas
      5. Índices, vistas y disparadores
        1. Índices B-Tree
        2. Índices hash y GIN/GiST
        3. Índices compuestos y parciales
        4. Índices funcionales / expresiones indexadas
        5. Vistas lógicas
        6. Vistas materializadas y refresco incremental
        7. Disparadores BEFORE / AFTER
        8. Auditoría, logging y enforcement en disparadores
        9. Índices específicos para búsquedas de texto
        10. Mantenimiento y health check de índices
      6. Procedimientos almacenados y lógica en base de datos
        1. Funciones definidas por usuario (UDF)
        2. Procedimientos con estado transaccional
        3. Validación de reglas de negocio en capa SQL
        4. Enriquecimiento de datos al insertar / actualizar
        5. Implementación de colas simples dentro de la DB
        6. Control de acceso granular en funciones
        7. Encapsulación de lógica crítica centralizada
        8. Versionado y despliegue de cambios en SP/UDF
        9. Optimización y caching de resultados de funciones
        10. Gobernanza y revisión de seguridad de lógica en DB
      7. Mapeo objeto-relacional y capas de acceso a datos
        1. ORMs
        2. Repositorios / DAOs
        3. Query builders tipados
        4. Problema N+1 y técnicas de batching
        5. Caché de primer nivel (por sesión)
        6. Caché de segundo nivel (compartida)
        7. Unidad de trabajo (Unit of Work)
        8. Mapeo de herencia y políformas complejas
        9. Migración gradual fuera del ORM cuando es cuello de botella
        10. Pruebas de acceso a datos con fixtures realistas
      8. Migraciones estructuradas y controladas de esquema
        1. Migraciones versionadas incrementales
        2. Migraciones forward / backward seguras
        3. Aplicación transaccional de migraciones
        4. Migraciones online sin downtime
        5. Renombrar, dividir y fusionar tablas grandes
        6. Auditoría y registro de cambios de esquema
        7. Semillas / datos iniciales consistentes
        8. Feature flags ligados a cambios de esquema
        9. Validación de migraciones en staging
        10. Rollback automatizado ante fallo en producción
      9. Pools de conexiones y eficiencia de acceso concurrente
        1. Pooling y reutilización de conexiones
        2. Límite máximo de conexiones simultáneas
        3. Reuso vs reconexión agresiva
        4. Timeouts y keepalive
        5. Balanceo hacia réplicas de solo lectura
        6. Encolamiento de consultas en saturación
        7. Priorización de consultas críticas
        8. Circuit breakers hacia la base de datos
        9. Pooling por servicio / tenant
        10. Telemetría de uso del pool y tuning dinámico
      10. Almacenamiento no relacional
        1. Clave-valor
        2. Documentos
        3. Columnar ancho / wide-column
        4. Grafos
        5. Series de tiempo (time-series)
        6. TTL por registro y expiración automática
        7. Consistencia eventual configurable
        8. Sharding horizontal nativo
        9. Índices secundarios y consultas ad-hoc
        10. Políticas de replicación específicas por colección / bucket
      11. Motores de búsqueda y consulta de texto libre
        1. Indexación full-text
        2. Ranking de relevancia configurable
        3. Tokenización, stemming y normalización lingüística
        4. Búsqueda difusa y tolerancia a errores tipográficos
        5. Facetas, filtros y agregaciones por campo
        6. Índices invertidos distribuidos
        7. Búsqueda distribuida a escala horizontal
        8. Enriquecimiento / anotación de documentos indexados
        9. Destacado de coincidencias (highlighting)
        10. Control de sinónimos y relevancia semántica
      12. Almacenamiento analítico y sistemas orientados a consultas de negocio
        1. Data warehouses columnares
        2. Diferencia OLTP vs OLAP
        3. Cubos analíticos y agregados precomputados
        4. Tablas particionadas por rango temporal
        5. Data lakes y lakehouses
        6. ETL / ELT y pipelines de ingesta
        7. Tablas de hechos y tablas de dimensiones
        8. Catálogo de datos y linaje
        9. Materialización incremental de métricas de negocio
        10. Governance de acceso a datos analíticos
      13. Replicación, particionamiento y alta disponibilidad
        1. Réplicas de solo lectura y escalamiento de lectura
        2. Sharding horizontal (por rango / hash / geografía)
        3. Failover automático de primario
        4. Geo-replicación multi-región
        5. Balanceo de carga entre nodos
        6. Consistencia configurable por operación (quórum)
        7. Recuperación ante caída de nodo / rack / AZ
        8. Promoción controlada de réplicas a primario
        9. Sincronización incremental basada en logs
        10. Monitoreo de salud y latencia entre réplicas
      14. Integridad referencial y consistencia eventual
        1. Integridad fuerte en bases relacionales
        2. Soft deletes y consistencia lógica
        3. Reconciliación asíncrona entre servicios
        4. Reintentos idempotentes en escritura
        5. Eventos de compensación para revertir cambios
        6. Garantías de lectura propia (read-your-writes)
        7. Proyecciones materializadas
        8. Consistencia eventual tolerante a particiones
        9. Conflictos de escritura y resolución semántica
        10. Auditoría y trazabilidad de mutaciones de datos
    3. Integraciones y comunicación entre servicios
      1. Mensajería asíncrona y colas de mensajes
        1. Colas persistentes y durables
        2. Topics y subscripciones múltiples
        3. Métricas de lag y throughput
        4. Garantías de entrega (at-most-once / at-least-once / exactly-once)
        5. Retries diferidos con backoff
        6. Dead-letter queues (DLQ)
        7. Backpressure y control de velocidad de consumo
        8. Ordenamiento por partición / clave
        9. Priorización de mensajes críticos
        10. Aislamiento de colas por servicio / tenant
      2. RPC eficiente y contratos binarios
        1. gRPC y streaming bidireccional
        2. IDL y contratos fuertemente tipados
        3. Serialización binaria compacta (protobuf/avro)
        4. Timeouts y cancelación propagada extremo a extremo
        5. Retries con backoff exponencial y jitter
        6. Propagación de contexto (traza, auth)
        7. mTLS entre servicios
        8. Control de versión del contrato RPC
        9. Compatibilidad backward/forward en campos opcionales
        10. Validación automática del contrato en CI
      3. Webhooks, notificaciones y callbacks externos
        1. Entrega HTTP saliente firmada
        2. Reintentos con política exponencial
        3. Detección y supresión de duplicados
        4. Auditoría y tracking de entregas
        5. Suspensión temporal frente a receptor caído
        6. Replay manual / reenvío seguro
        7. Seguridad de endpoints receptores (secret, IP allowlist)
        8. Idempotencia en callbacks
        9. Versionado del payload externo
        10. Contratos legales / SLA con terceros
      4. Integración con servicios de terceros
        1. Consumo de APIs externas
        2. OAuth2 / tokens delegados
        3. Limitación de tasa impuesta por el proveedor
        4. Uso de entornos sandbox / staging del tercero
        5. Versionado y migración de API del proveedor
        6. Caching defensivo de respuestas externas
        7. Circuit breakers ante degradación externa
        8. Observabilidad específica por integración externa
        9. Cumplimiento de términos de uso / auditorías
        10. Estrategias de fallback si el tercero falla
      5. Estrategias de reintento y colas de mensajes muertos
        1. Retries con backoff progresivo
        2. Retries con jitter aleatorio
        3. Límite máximo de reintentos por mensaje
        4. DLQ (Dead-letter queue) para mensajes problemáticos
        5. Reprocesamiento manual y herramientas operativas
        6. Correlación de mensajes e identificadores únicos
        7. Idempotencia y deduplicación en reintentos
        8. Aislamiento de tráfico tóxico
        9. Alertas automáticas al acumularse mensajes fallidos
        10. Priorización de reprocesamiento según criticidad
      6. Serialización binaria y formatos compactos
        1. Protocol Buffers
        2. Avro
        3. FlatBuffers / Cap’n Proto
        4. Campos opcionales y repetidos
        5. Evolución de esquema sin romper compatibilidad
        6. Compresión y fragmentación de mensajes
        7. Versionado explícito del mensaje
        8. Validación de esquema en runtime
        9. Validación de esquema en pipeline CI/CD
        10. Compatibilidad multiplataforma / multilenguaje
      7. Arquitecturas basadas en eventos y event sourcing
        1. Eventos inmutables como fuente de verdad
        2. Log append-only distribuido
        3. Proyecciones materializadas derivadas del log
        4. Reconstrucción de estado a partir de eventos
        5. Reproducción de eventos históricos (replay)
        6. Versionamiento de tipos de evento
        7. Consistencia eventual mediante propagación de eventos
        8. Integración con CQRS
        9. Orden total vs orden por partición
        10. Garantías de entrega y deduplicación de eventos
      8. Modelos de publicación/suscripción
        1. Pub/Sub desacoplado productor-consumidor
        2. Filtros por tópico / etiqueta / patrón
        3. Broadcast selectivo
        4. Subscripciones durables con retención histórica
        5. Fan-out masivo a múltiples consumidores
        6. Balanceo de carga entre consumidores de un mismo tópico
        7. Multiplexación de eventos en canales lógicos
        8. Reintentos y confirmación explícita de consumo
        9. Aislamiento por prioridad o criticidad
        10. Versionado de payloads en tópicos compartidos
      9. Streaming de datos en tiempo real y captura de cambios
        1. Streaming continuo de registros
        2. Procesamiento de flujo (stream processing)
        3. Ventanas temporales y agregaciones en vivo
        4. CDC (Change Data Capture) desde la base de datos
        5. Replicación basada en logs de transacciones
        6. Suscripciones reactivas a cambios de estado
        7. Alertas en near real-time
        8. Priorización de eventos críticos
        9. Backpressure en pipelines de streaming
        10. Persistencia y replay de streams históricos
    4. Arquitecturas distribuidas y microservicios
      1. Patrones de microservicios
        1. BFF (Backend For Frontend)
        2. API Gateway centralizado
        3. Servicios alineados a dominios de negocio
        4. Base de datos independiente por servicio
        5. Servicios dirigidos por eventos
        6. CQRS (separación lectura / escritura)
        7. Sagas distribuidas para consistencia eventual
        8. Capa anti-corrupción entre dominios
        9. Funciones serverless como piezas de dominio
        10. Servicios stateless vs servicios stateful especializados
      2. Descubrimiento de servicios y enrutamiento
        1. Registro dinámico de instancias activas
        2. Health checks y heartbeats
        3. Descubrimiento basado en DNS
        4. Descubrimiento basado en sidecar / service mesh
        5. Balanceo interno L4/L7 según políticas
        6. Enrutamiento basado en versión / etiqueta
        7. Rutas canario / blue-green controladas
        8. Circuit breaking y failover automático
        9. Traffic shadowing / mirroring
        10. Segmentación de tráfico por tenant / cliente
      3. Versionamiento y despliegue incremental
        1. Versiones paralelas del mismo servicio
        2. Despliegues canario
        3. Blue-green deployment
        4. Feature flags y toggles de capacidad
        5. Rollback rápido y seguro
        6. Compatibilidad backward en contratos
        7. Shadow traffic para validar nuevas versiones
        8. Deploy gradual por región / AZ
        9. Deploy continuo (CI/CD) con puertas de calidad
        10. Métricas de salud antes de promover a “estable”
      4. Fault tolerance y resiliencia operativa
        1. Circuit breakers por dependencia
        2. Retries con límites y backoff
        3. Bulkhead isolation (aislar recursos críticos)
        4. Timeouts agresivos y cancelación temprana
        5. Degradación parcial de funcionalidades (graceful degradation)
        6. Réplicas activas y failover interno
        7. Reinicio / reschedule automático de servicios caídos
        8. Tolerancia a particiones de red
        9. Limitación de propagación de fallos en cascada
        10. Chaos testing / fault injection en producción controlada
      5. Observabilidad distribuida y trazabilidad
        1. Métricas por servicio y por endpoint
        2. Logs estructurados con IDs de correlación
        3. Trazas distribuidas end-to-end
        4. Mapas de dependencias entre servicios
        5. Alertas orientadas a SLO / SLA
        6. Auditoría de llamadas entre servicios
        7. Análisis de cuellos de botella de latencia
        8. Detección de outliers de error rate
        9. Dashboards operativos unificados
        10. Retención histórica para postmortems
      6. Gobernanza de contratos y compatibilidad
        1. Contratos de API versionados
        2. Pruebas de contrato consumidor/proveedor
        3. Validación automática de cambios de esquema
        4. Deprecación gradual de endpoints
        5. Control centralizado de políticas de acceso
        6. Catálogo de servicios y documentación interna
        7. Reglas de seguridad y autorización homogéneas
        8. Auditoría de cambios en interfaces públicas
        9. Gestión de breaking changes y avisos tempranos
        10. Revisión técnica cruzada antes de exponer nuevas APIs
      7. Multi-tenancy y aislamiento de tráfico
        1. Separación lógica por tenant / cuenta / cliente
        2. Namespaces de datos por cliente
        3. Rate limiting y cuotas por organización
        4. Cifrado y llaves dedicadas por tenant
        5. Aislamiento de “noisy neighbors” y fair-use
        6. Aislamiento de fallos por tenant / dominio funcional
        7. Control de acceso por tenant integrado en la capa de negocio
        8. Auditoría y trazabilidad por cliente
        9. Políticas de retención y borrado por cliente
        10. Personalización de configuración / features por tenant

11 - Frontend, interfaces gráficas y usabilidad

  1. Frontend, interfaces gráficas y usabilidad
    1. Fundamentos de experiencia y flujo
      1. Interacción humano–computador
        1. Modelos mentales y expectativas del usuario
        2. Affordances y señales de uso
        3. Feedback inmediato y retroalimentación visible
        4. Latencia percibida y sensación de control
        5. Mapeo directo entre acción e impacto
        6. Coste cognitivo de uso
        7. Errores prevenibles vs recuperables
        8. Fitts’ Law y distancia de objetivos
        9. Ley de Hick y sobrecarga de opciones
        10. Memoria de trabajo y carga visual
      2. Flujos de usuario
        1. Objetivo primario de la tarea
        2. Happy path vs edge cases
        3. Pasos obligatorios vs opcionales
        4. Minimización de fricción
        5. Puntos de abandono
        6. Estados previos y siguientes (contexto antes/después)
        7. Flujo lineal vs ramificado
        8. Recuperación tras interrupción
        9. Continuidad entre dispositivos
        10. Persistencia parcial de progreso
      3. Estados de la interfaz
        1. Estado inicial / vacío
        2. Estado cargando
        3. Estado con datos
        4. Estado sin resultados / vacío significativo
        5. Estado de error y recuperación
        6. Estado parcialmente interactivo / deshabilitado
        7. Estado confirmado / éxito
        8. Estado pendiente / en progreso
        9. Estados transitorios vs persistentes
        10. Estados locales vs globales de la app
    2. Interacción y comunicación con la persona usuaria
      1. Arquitectura visual
        1. Jerarquía visual (peso, tamaño, contraste)
        2. Tipografía y escala modular
        3. Uso de color funcional
        4. Iconografía semántica
        5. Espaciado y ritmo visual
        6. División en zonas funcionales (navegación / contenido / acciones)
        7. Patrones de lectura F/Z
        8. Enfoque en lo accionable vs lo informativo
        9. Señales de accesibilidad visual
        10. Consistencia entre pantallas
      2. Patrones de interacción
        1. Selección (click/tap/drag)
        2. Búsqueda y filtrado
        3. Edición inline
        4. Confirmación explícita y undo
        5. Formularios paso a paso (wizards)
        6. Navegación tabular / pestañas / acordeones
        7. Menús contextuales
        8. Hover vs long-press vs right-click
        9. Gestos táctiles
        10. Acciones masivas / edición en lote
      3. Microinteracciones y percepción
        1. Animaciones pequeñas con intención funcional
        2. Indicadores de carga no bloqueantes
        3. Hover states / pressed states
        4. Vibración háptica y feedback táctil
        5. Sonidos sutiles de confirmación o error
        6. Indicadores de “escribiendo…” o “enviando…”
        7. Reacciones visuales inmediatas a entradas del usuario
        8. Confirmaciones no modales (toasts)
        9. Transiciones suaves entre vistas relacionadas
        10. Micromensajes de ayuda en contexto
      4. Notificaciones y gestión de atención
        1. Notificaciones locales en la app
        2. Notificaciones push
        3. Urgencia vs ruido
        4. Priorización visual (color, posición, persistencia)
        5. Centro de notificaciones histórico
        6. Modo silencioso / no molestar
        7. Alertas bloqueantes vs no bloqueantes
        8. Confirmaciones requeridas vs informativas
        9. Relevancia personalizable por el usuario
        10. Caducidad de la notificación
      5. Descubribilidad y búsqueda
        1. Etiquetado claro de acciones
        2. Tooltips y ayudas inline
        3. Búsqueda global en la interfaz
        4. Atajos de teclado visibles
        5. Tutorial progresivo (no front-load)
        6. Ejemplos prellenados (placeholders significativos)
        7. Demostraciones guiadas (“try it” interactivo)
        8. Estado inicial educativo (empty state instructivo)
        9. Secciones “qué hay de nuevo”
        10. Destacar funcionalidades avanzadas sin bloquear las básicas
      6. Contenido en la interfaz
        1. Microcopy claro y directo
        2. Lenguaje inclusivo
        3. Evitar tecnicismos innecesarios
        4. Evitar culpar al usuario en errores
        5. Indicar causa y acción posible
        6. Texto contextual, no genérico
        7. Tono consistente con la marca
        8. Evitar muros de texto
        9. Estados vacíos con instrucciones accionables
        10. Etiquetas cortas y accionables en botones
      7. Onboarding y aprendizaje continuo
        1. Progresivo y contextual, no tutorial gigante inicial
        2. Modalidad guía interactiva paso a paso
        3. Señalización visual de “nuevo”
        4. Estados demo con datos ficticios
        5. Checklist de primeros pasos
        6. Recordatorios suaves de funcionalidades clave
        7. Onboarding distinto según rol/permiso
        8. Re-onboarding tras grandes rediseños
        9. Centro de ayuda integrado
        10. Aprendizaje por repetición guiada
    3. Capa de presentación y composición de UI
      1. Renderizado y composición de interfaz
        1. Árbol de nodos / árbol de vistas
        2. Layout responsivo (adaptación a viewport)
        3. Flujo de composición (layout → paint → composite)
        4. Reutilización de vistas y subárboles
        5. Virtual DOM / reconciliación
        6. Server-Side Rendering (SSR)
        7. Static Site Generation (SSG)
        8. Hydration parcial / progresiva
        9. Islands architecture
        10. Rendering incremental bajo demanda
      2. Gestión de estado local de UI
        1. Estado controlado vs no controlado
        2. Formularios controlados
        3. Estados efímeros (focus, hover, expanded)
        4. Estados derivados / memoización
        5. Estructuras inmutables para cambios predecibles
        6. Local reducers / stores por componente
        7. Sincronización de estado con URL
        8. Restauración de estado al volver atrás
        9. Persistencia temporal en memoria o storage local
        10. Rollback visual tras error en acción
      3. Estabilidad visual
        1. Evitar layout shift inesperado (CLS)
        2. Reservas de espacio para contenido que carga tarde
        3. Evitar saltos al inyectar publicidad o banners
        4. Animaciones suaves en lugar de parpadeos
        5. Carga de fuentes sin parpadeo excesivo (FOIT/FOUT)
        6. Mantener foco del teclado estable
        7. Mantener scroll position entre renders
        8. Indicadores de “cargando” que no bloqueen todo el layout
        9. Evitar overlays intrusivos que muevan el contenido
        10. Progresión visual comprensible al usuario
    4. Arquitectura de la aplicación frontend
      1. Modelado de componentes
        1. Componentes presentesacionales vs contenedores
        2. Props y entrada explícita
        3. Encapsulación de comportamiento
        4. Componentes reusables y componibles
        5. Componentes controlados vs no controlados
        6. Aislamiento de efectos secundarios
        7. Separación entre vista y lógica de negocio
        8. Patrones de render props / slots / children function
        9. Diseño de componentes atómicos, moleculares, organizacionales
        10. Versionado / deprecación de componentes UI
      2. Gestión de estado compartido
        1. Estado global de aplicación
        2. Stores centralizados
        3. Context propagation
        4. Reducción de renders por suscripción selectiva
        5. Estados cacheados por recurso remoto
        6. Normalización de datos en el cliente
        7. Invalidación de caché coherente
        8. Sincronización de estado entre pestañas
        9. Control de concurrencia en actualizaciones
        10. Persistencia selectiva (localStorage / IndexedDB)
      3. Gestión de navegación y flujo
        1. Routing declarativo
        2. Routing basado en URL / hash / memoria
        3. Rutas protegidas (auth)
        4. Rutas anidadas
        5. Lazy loading de rutas
        6. Guardas de navegación (confirmar salida, cambios sin guardar)
        7. Deep linking
        8. Sincronización de la UI con la URL (query params como estado)
        9. Navegación optimista (UI antes de confirmación real)
        10. Manejo de estados intermedios entre pantallas
      4. Integración con el sistema de diseño
        1. Uso de tokens de diseño (color, espaciado, tipografía)
        2. Librerías de componentes compartidas
        3. Versionado del design system
        4. Theming (modo oscuro / marca blanca)
        5. Compatibilidad visual entre equipos y productos
        6. Consistencia en interacciones (hover, focus, active)
        7. Alineación con guías de accesibilidad
        8. Procesos de aprobación de nuevos patrones
        9. Detección temprana de drift visual
        10. Eliminación de componentes duplicados
      5. DSL de interfaz y plantillas
        1. Componentes declarativos
        2. Templates reutilizables para vistas repetidas
        3. Configuración basada en esquemas (schema-driven UI)
        4. Formularios generados por metadatos
        5. Renderizado condicional declarativo
        6. Builders visuales internos
        7. Layouts parametrizables
        8. Internacionalización integrada en las plantillas
        9. Testing snapshot de vistas declarativas
        10. Evolución controlada sin romper pantallas existentes
    5. Datos, red y sincronización
      1. Consumo de APIs
        1. Fetch / XHR / gRPC-web
        2. Manejo de errores de red
        3. Retries con backoff
        4. Cache en cliente
        5. Normalización de respuestas en el cliente
        6. Transformación de wire format a modelo interno
        7. Manejo de paginación
        8. Streams de datos vs requests puntuales
        9. Seguridad de tokens/autorización por request
        10. Firma/verificación de integridad de payload
      2. Sincronización con backend
        1. Lecturas frescas vs lecturas cacheadas
        2. Invalidación reactiva
        3. Actualizaciones delta / patch
        4. Sincronización periódica
        5. Sincronización bajo demanda
        6. Colas locales de cambios pendientes
        7. Conflictos de escritura simultánea
        8. Resolución de conflictos en cliente
        9. Confirmación optimista y rollback visual
        10. Versionado de recursos
      3. Tiempo real y concurrencia
        1. Suscripción a eventos del servidor
        2. Indicadores de presencia en vivo
        3. Edición simultánea de la misma entidad
        4. Estados de “alguien está escribiendo”
        5. Conflictos de edición paralela
        6. Bloqueo suave vs bloqueo duro de recursos
        7. Difusión por canal / sala compartida
        8. Diferenciación entre cambios locales/remotos
        9. Update incremental de vistas sin recargar
        10. Priorización de eventos críticos vs ruido
      4. Modo offline y resiliencia de red
        1. Cacheado local de datos críticos
        2. Cola de operaciones pendientes offline
        3. Reintento al reconectar
        4. Indicador de estado offline/online
        5. Desactivación de acciones que requieren conexión
        6. Resolución de inconsistencias al volver online
        7. Persistencia en IndexedDB / almacenamiento local
        8. Políticas de expiración de datos offline
        9. Uso de Service Workers
        10. Experiencia degradada pero utilizable
      5. Escalabilidad con datos en vivo
        1. Paginación incremental infinita
        2. Virtualización de listas
        3. Renderizado parcial de tablas grandes
        4. Throttling y debouncing de actualizaciones
        5. Agrupación de eventos en lotes
        6. Priorización visual de cambios recientes
        7. Indicadores de “hay más cambios nuevos”
        8. Evitar rerender global ante cambios locales
        9. Suscripción selectiva por canal / sala / recurso
        10. Evitar sobrecargar el main thread
    6. Rendimiento y experiencia percibida
      1. Costos de renderizado
        1. Layout thrashing
        2. Reflows no necesarios
        3. Repaint excesivo
        4. Cálculo pesado en el hilo principal
        5. Uso de memorization / memo / pure components
        6. Batching de actualizaciones
        7. Suspense / carga diferida de partes costosas
        8. Animaciones aceleradas por GPU
        9. Uso de Web Workers para trabajo pesado
        10. Limpieza de listeners y timers
      2. Entrega y carga inicial
        1. Bundle splitting
        2. Lazy loading por ruta o por componente
        3. Preload / prefetch selectivo
        4. Compresión de recursos
        5. Minimización de CSS y JS
        6. Carga progresiva de imágenes
        7. Uso eficiente de fuentes web
        8. Prioridad de recursos críticos
        9. Evitar JS bloqueante en el head
        10. Edge caching / CDN
      3. Interactividad percibida
        1. Time to Interactive
        2. Respuesta inmediata a input
        3. Estados de “procesando” claros
        4. Transiciones suaves entre pantallas
        5. Animaciones breves para evitar sensación de congelamiento
        6. Minimizar el tiempo de bloqueo del main thread
        7. Feedback optimista
        8. Evitar scroll jank
        9. Evitar “UI muerta” tras click
        10. Priorizar respuesta de acciones sobre tareas en background
      4. Presupuestos de performance
        1. Límite de peso de bundle
        2. Límite de scripts de terceros
        3. Límite de tiempo de bloqueo del hilo principal
        4. Límite de CLS / LCP / INP
        5. Cuotas de consumo de CPU en dispositivos móviles
        6. Cuotas de memoria en dispositivos de gama baja
        7. Comportamiento aceptable bajo red lenta
        8. Métricas mínimas de respuesta a input
        9. Tiempos máximos de render incremental
        10. Alertas automáticas cuando se rompe el presupuesto
    7. Accesibilidad, confianza y ética
      1. Accesibilidad e inclusión
        1. Navegación por teclado completa
        2. Focus visible
        3. Texto alternativo en imágenes
        4. Contraste suficiente
        5. Roles y ARIA adecuados
        6. Lectores de pantalla
        7. Evitar dependencias exclusivas de color
        8. Ajustes de tamaño de texto
        9. Animaciones reducidas / modo de accesibilidad
        10. Formularios etiquetados correctamente
      2. Internacionalización y localización
        1. Soporte multilenguaje
        2. Formatos locales (fecha, moneda, separadores)
        3. Plurales y géneros
        4. LTR y RTL
        5. Texto incrustado en imágenes
        6. Evitar suposiciones culturales rígidas
        7. Zonas horarias y contexto temporal
        8. Ajustes regionales de legalidad y cumplimiento
        9. Copias adaptadas, no solo traducidas
        10. Evitar anglicismos técnicos opacos sin explicación
      3. Seguridad y confianza
        1. Indicadores claros de acciones destructivas
        2. Confirmaciones para operaciones críticas
        3. Manejo seguro de credenciales
        4. Indicadores visuales de cifrado / sesión segura
        5. Prevención de phishing visual interno
        6. Prevención de clickjacking
        7. Bloqueo de UI tras inactividad prolongada
        8. Feedback al usuario sobre permisos solicitados
        9. Explicación del uso de datos personales
        10. Estados de sesión y cierre de sesión claros
      4. Cumplimiento y datos sensibles
        1. Minimización de datos visibles
        2. Redacción parcial / enmascaramiento de datos
        3. Flujo seguro para datos personales o financieros
        4. Historial de acciones del usuario
        5. Confirmación de identidad reforzada para ciertas acciones
        6. Consentimiento explícito para almacenamiento
        7. Indicaciones legales visibles cuando corresponde
        8. Auditoría de acceso a información sensible
        9. Retención / expiración de datos visibles
        10. Descarga / portabilidad de datos personales
      5. Ética de interacción
        1. Evitar patrones oscuros (dark patterns)
        2. Evitar manipulación emocional
        3. Claridad sobre el costo real de las acciones
        4. Respeto al tiempo del usuario
        5. Preguntar vs asumir consentimiento
        6. Evitar adicción por gamificación excesiva
        7. Evitar obligar a compartir datos innecesarios
        8. Transparencia sobre uso de IA / automatización
        9. Evitar sesgos en presentación de información
        10. Respeto a límites cognitivos y sensoriales
    8. Sistema de diseño y gobernanza de experiencia
      1. Sistema de diseño
        1. Tokens de diseño
        2. Librería unificada de componentes
        3. Patrones de interacción normados
        4. Guía de uso de color y tipografía
        5. Espaciado y grid
        6. Iconografía estándar
        7. Estados de error / éxito consistentes
        8. Animaciones estandarizadas
        9. Librería accesible por defecto
        10. Versionado del sistema y changelog
      2. Mantenibilidad y deuda de experiencia
        1. Componentes duplicados
        2. Inconsistencias de estilo
        3. Patrones legacy no accesibles
        4. Elementos experimentales sin consolidar
        5. Divergencias entre equipos
        6. Dependencia en overrides ad-hoc
        7. Fragmentación de layouts
        8. Falta de documentación de uso correcto
        9. Falta de eliminación de patrones obsoletos
        10. Acumulación de hacks visuales
      3. Gobernanza del diseño
        1. Comité o figura responsable del diseño global
        2. Proceso de propuesta de nuevos patrones
        3. Revisión cruzada entre diseño y ingeniería
        4. Aprobación de cambios que afectan accesibilidad
        5. Control de consistencia de marca
        6. Auditorías periódicas de experiencia
        7. Mecanismo de feedback de equipos satélite
        8. Roadmap de evolución del sistema
        9. Comunicación de cambios mayores
        10. Deprecación planificada de componentes viejos
      4. Estándares y guías de interfaz
        1. Guía de tono y voz
        2. Guía de microcopy
        3. Guía de formularios y validaciones
        4. Guía de estados de error
        5. Guía de confirmaciones y diálogos
        6. Guía de interacción con teclado
        7. Guía de accesibilidad mínima aceptable
        8. Guía de navegación y arquitectura de información
        9. Guía de notificaciones
        10. Guía de componentes críticos reutilizables
    9. Calidad y validación
      1. Testing
        1. Pruebas unitarias de componentes
        2. Pruebas de integración de vistas completas
        3. Pruebas end-to-end en navegador real
        4. Snapshots visuales / regresión visual
        5. Pruebas de accesibilidad automatizadas
        6. Pruebas de performance en cliente real
        7. Pruebas de contratos con backend mockeado
        8. Tests deterministas de edge cases
        9. Simulación de latencia / fallo de red
        10. Pruebas cross-browser / cross-device
      2. Pruebas de experiencia y usabilidad
        1. User testing moderado
        2. User testing no moderado
        3. Pruebas A/B
        4. Heatmaps y mapas de clic
        5. Grabaciones de sesión con consentimiento
        6. Encuestas in-product
        7. Medición de tasa de éxito de tarea
        8. Tiempo hasta completar tarea crítica
        9. Tasa de abandono de flujo
        10. Fricción percibida y feedback cualitativo
      3. Versionado y mantenibilidad de cambios
        1. Lanzamientos graduales (rollout progresivo)
        2. Feature flags
        3. Canary release por segmento de usuarios
        4. Métricas antes / después del cambio
        5. Reversibilidad rápida (rollback)
        6. Compatibilidad con datos locales ya guardados
        7. Versionado de contratos visuales internos
        8. Documentación de cambios notables para soporte
        9. Comunicación de cambios al usuario final
        10. Auditoría de riesgo previo al merge
    10. Colaboración y multiusuario
      1. Presencia en tiempo real (quién está viendo/editando)
        1. Indicadores de cursor remoto
        2. Avatares de presencia simultánea
        3. Estados “escribiendo…” por usuario
        4. Notificación de entrada/salida de sala
        5. Señalización de visualización vs edición activa
        6. Zonas de trabajo reservadas
        7. Estado de conexión de cada colaborador
        8. Sesiones de co-edición efímeras
        9. Anotaciones contextuales en vivo
        10. Escalamiento visual con muchos usuarios concurrentes
      2. Resolución de conflictos de edición simultánea
        1. Locking optimista
        2. Locking pesimista
        3. Merge automatizado por campo
        4. CRDTs
        5. Historial de cambios por usuario
        6. Alertas de conflicto en tiempo real
        7. Vista previa del contenido remoto antes de aceptar
        8. “Última palabra gana” vs reconciliación inteligente
        9. Revertir cambios remotos no deseados
        10. Estado intermedio de reconciliación
      3. Historial compartido y atribución por persona / rol
        1. Línea de tiempo de cambios
        2. Autoría visible por elemento
        3. Comentarios y discusión inline
        4. Revisión y aprobación formal
        5. Roles (lector / comentarista / editor / aprobador)
        6. Responsabilidad trazable
        7. Restaurar versiones anteriores
        8. Comparación visual diff entre versiones
        9. Auditoría para cumplimiento
        10. Señalización de cambios críticos pendientes de revisión
    11. Operación y evolución del frontend
      1. Observabilidad y métricas
        1. Métricas reales de usuario (RUM)
        2. Latencia percibida de interacción
        3. Tiempos de carga inicial y navegación interna
        4. Crash reporting en cliente
        5. Registros de errores JS
        6. Alertas de degradación percibida
        7. Métricas de accesibilidad en producción
        8. Métricas de conversión y abandono de flujo
        9. Seguimiento de performance por dispositivo/red
        10. Segmentación por versión desplegada
      2. Mejora guiada por evidencia
        1. Priorización basada en impacto real en usuarios
        2. Iteración sobre puntos de fricción más altos
        3. Eliminación de features no usadas
        4. Ajuste fino de microinteracciones
        5. Cambios escalonados probados con cohorts
        6. Roadmap dirigido por datos y feedback cualitativo
        7. Observación de comportamiento post-cambio
        8. Mecanismos de feedback in-product
        9. Telemetría ética y con consentimiento
        10. Revisión cruzada diseño–producto–ingeniería

12 - Computación científica y HPC

  1. Computación científica y HPC
    1. Fundamentos de análisis numérico
      1. Aritmética de punto flotante y error numérico
        1. Formatos IEEE-754 (precisión simple, doble y extendida)
        2. Representación de números subnormales y denormales
        3. Redondeo hacia arriba/abajo/cercano y modos de redondeo
        4. Pérdida de significancia y cancelación catastrófica
        5. Desbordamiento (overflow) y subdesbordamiento (underflow)
        6. Errores acumulados en sumas largas y sumas compensadas (Kahan)
        7. Comparaciones numéricas con tolerancia (epsilon machine)
        8. Precisión extendida y cómputo multiprecisión arbitraria
        9. Impacto en reproducibilidad entre arquitecturas distintas
        10. Sensibilidad del resultado frente a pequeñas variaciones de entrada
      2. Condicionamiento numérico y número de condición
        1. Condicionamiento absoluto vs relativo
        2. Número de condición de una función o problema
        3. Problemas bien condicionados vs mal condicionados
        4. Ejemplos clásicos mal condicionados (matrices de Hilbert)
        5. Efecto del condicionamiento en la precisión del resultado final
        6. Relación entre condicionamiento y necesidad de precisión extendida
        7. Técnicas de reescalamiento para mejorar condicionamiento
        8. Estimación práctica del número de condición
        9. Propagación de incertidumbre en problemas mal condicionados
        10. Impacto en la estabilidad de métodos iterativos
      3. Estabilidad algorítmica y estabilidad numérica
        1. Algoritmos estables vs inestables numéricamente
        2. Error hacia adelante vs error hacia atrás
        3. Análisis de estabilidad backward (backward error analysis)
        4. Cancelación numérica en restas casi iguales
        5. Reordenamiento algebraico para mejorar estabilidad
        6. Elección de formulaciones equivalentes pero más estables
        7. Métodos que amplifican vs amortiguan el error de redondeo
        8. Estabilidad en presencia de ruido en los datos de entrada
        9. Estabilidad en operaciones repetitivas / acumulativas
        10. Evaluación empírica de estabilidad con datos sintéticos
      4. Consistencia, convergencia y orden de métodos numéricos
        1. Definición de consistencia del método
        2. Convergencia a la solución exacta al refinar el paso
        3. Orden de convergencia y tasa de error
        4. Métodos de primer orden vs alto orden
        5. Consistencia + estabilidad ⇒ convergencia (teorema de Lax)
        6. Refinamiento de malla / paso temporal en simulaciones
        7. Convergencia global vs convergencia local
        8. Estimación del error y control adaptativo de paso
        9. Balance costo computacional vs precisión deseada
        10. Comparación de métodos explícitos vs implícitos en convergencia
      5. Propagación y acumulación de errores de redondeo
        1. Errores independientes vs correlacionados
        2. Amplificación de error en operaciones repetidas
        3. Sumas largas y compensación de error
        4. Reordenamiento de operaciones para minimizar error acumulado
        5. Efecto del tipo de dato (float32 vs float64 vs float128)
        6. Impacto de la paralelización en suma/reducciones (no asociatividad)
        7. Estimación a priori vs estimación empírica de acumulación de error
        8. Técnicas de interval arithmetic para cotas de error
        9. Control de precisión en hardware vectorial / GPU
        10. Reproducibilidad bit a bit entre ejecuciones
      6. Escalamiento y no dimensionalización de ecuaciones físicas
        1. Variables adimensionales y unidades normalizadas
        2. Reducción de magnitudes extremas para evitar overflow/underflow
        3. Escalamiento de matrices mal condicionadas
        4. No dimensionalización para mejorar estabilidad temporal
        5. Elección de escalas características (tiempo, longitud, energía)
        6. Re-escritura de ecuaciones diferenciales en forma adimensional
        7. Comparabilidad entre simulaciones con distinta escala física
        8. Estimación de rangos esperados de las variables simuladas
        9. Evitar cancelación por diferencias de órdenes de magnitud
        10. Interpretación física posterior de resultados adimensionales
      7. Sensibilidad y análisis de perturbaciones
        1. Sensibilidad de la salida ante cambios pequeños en la entrada
        2. Análisis de perturbaciones lineales y no lineales
        3. Derivadas de sensibilidad y diferenciación numérica
        4. Detección de parámetros críticos / rígidos (stiff)
        5. Identificación de variables dominantes en el comportamiento global
        6. Robustez de un modelo frente a incertidumbre experimental
        7. Propagación de ruido estocástico en simulaciones
        8. Tolerancias de fabricación / medición en modelos de ingeniería
        9. Sensibilidad paramétrica para calibración e inversión de modelos
        10. Uso en control óptimo y diseño asistido
      8. Caos numérico y dependencia en condiciones iniciales
        1. Sistemas dinámicos caóticos
        2. Sensibilidad exponencial a condiciones iniciales
        3. Horizonte de predicción útil
        4. Divergencia numérica por errores de redondeo
        5. Lyapunov exponents (indicadores de caos)
        6. Caos físico vs caos numérico inducido por la discretización
        7. Métodos para acotar trayectorias probables vs exactas
        8. Importancia del muestreo estadístico en vez de trayectoria única
        9. Simulaciones Monte Carlo en sistemas caóticos
        10. Implicancias en clima, turbulencia, astrofísica y dinámica de fluidos
    2. Métodos numéricos fundamentales
      1. Interpolación y aproximación polinómica
        1. Interpolación de Lagrange
        2. Interpolación de Newton (forma dividida)
        3. Splines cúbicos y splines suaves
        4. Interpolación piecewise y continuidad C¹ / C²
        5. Fenómeno de Runge en polinomios de alto grado
        6. Puntos de Chebyshev para minimizar oscilaciones
        7. Interpolación multivariada
        8. Ajuste local vs global
        9. Evaluación eficiente de polinomios (Horner)
        10. Estimación del error de interpolación
      2. Ajuste de curvas y regresión numérica
        1. Mínimos cuadrados lineales
        2. Mínimos cuadrados no lineales
        3. Ajuste polinómico de distintos órdenes
        4. Regularización (L2 / ridge, L1 / LASSO)
        5. Ajuste robusto frente a outliers
        6. Ajuste logarítmico / exponencial / potencia
        7. Problemas mal condicionados en regresión de alto orden
        8. Validación cruzada y sobreajuste numérico
        9. Solución normal vs descomposición QR para estabilidad
        10. Interpretación física de parámetros ajustados
      3. Derivación numérica
        1. Diferencias hacia adelante / hacia atrás / centradas
        2. Orden de truncamiento del error en diferencias finitas
        3. Elección de paso h óptimo vs error de redondeo
        4. Derivadas de orden superior numéricas
        5. Diferenciación automática vs diferenciación numérica
        6. Ruido en datos experimentales y suavizado previo
        7. Estimación de gradientes para optimización
        8. Técnicas espectrales para derivación (FFT)
        9. Derivadas direccionales en espacios de alta dimensión
        10. Costos computacionales en derivación repetida
      4. Integración numérica
        1. Regla del trapecio y Simpson
        2. Cuadratura compuesta en subintervalos
        3. Métodos adaptativos con refinamiento local
        4. Cuadratura gaussiana
        5. Integración de funciones altamente oscilatorias
        6. Integración en dimensiones altas (curse of dimensionality)
        7. Integración Monte Carlo
        8. Importancia del cambio de variable y normalización
        9. Estimación de error a partir de múltiples reglas
        10. Paralelización de integración sobre subdominios independientes
      5. Resolución numérica de ecuaciones no lineales
        1. Método de bisección (búsqueda por intervalo)
        2. Método de Newton-Raphson
        3. Secante y quasi-Newton
        4. Condiciones de convergencia local
        5. Selección de punto inicial y problemas con múltiples raíces
        6. Detección de divergencia y fallback a métodos más robustos
        7. Métodos globalmente convergentes vs localmente rápidos
        8. Restricciones físicas para descartar raíces no válidas
        9. Sistemas de ecuaciones no lineales acopladas
        10. Paralelización de búsqueda de raíces múltiples en distintos rangos
      6. Optimización numérica determinista
        1. Gradiente descendente clásico
        2. Métodos de Newton y quasi-Newton (BFGS, L-BFGS)
        3. Métodos de región de confianza
        4. Métodos de línea de búsqueda con backtracking
        5. Condiciones de optimalidad (KKT, gradiente cero)
        6. Programación cuadrática / convexa
        7. Manejo de restricciones (penalizaciones, multiplicadores de Lagrange)
        8. Detección de óptimos locales vs globales
        9. Criterios de parada (norma del gradiente, cambio de energía)
        10. Escalabilidad en problemas de muy alta dimensión
      7. Optimización numérica estocástica
        1. Simulated annealing
        2. Búsqueda aleatoria guiada / random restart
        3. Algoritmos genéticos y evolución diferencial
        4. Búsqueda de enjambre de partículas (PSO)
        5. Métodos estocásticos de gradiente (SGD)
        6. Ruido térmico / ruido gaussiano para escapar mínimos locales
        7. Balance exploración vs explotación
        8. Hiperparámetros y sensibilidad al tuning
        9. Paralelización de evaluaciones de función objetivo
        10. Uso en calibración de modelos físicos complejos
      8. Métodos de Monte Carlo y muestreo aleatorio
        1. Generación de números pseudoaleatorios de alta calidad
        2. Muestreo uniforme vs muestreo por importancia
        3. Métodos de aceptación-rechazo
        4. Cadenas de Markov Monte Carlo (MCMC)
        5. Estimación estadística de integrales y esperanzas
        6. Varianza y errores de Monte Carlo
        7. Reducción de varianza (estratificación, control variate)
        8. Quasi-Monte Carlo y secuencias de baja discrepancia
        9. Paralelización masiva de simulaciones independientes
        10. Aplicación en física estadística, finanzas cuantitativas y confiabilidad
      9. Cuadratura adaptativa y métodos compuestos
        1. Subdivisión recursiva de intervalos según error estimado
        2. Refinamiento local donde la función es más compleja
        3. Control global del error absoluto y relativo
        4. Integración piecewise con reglas simples en cada subintervalo
        5. Manejo de singularidades locales
        6. Mezcla de reglas (trapecio, Simpson) según suavidad local
        7. Paralelización por bloques independientes
        8. Estimación de coste computacional incremental
        9. Criterios de parada adaptativos
        10. Uso en problemas con picos, capas límite o fronteras irregulares
      10. Minimización de energía y métodos variacionales
      11. Planteamiento de problemas físicos como minimización de energía libre
      12. Métodos variacionales y funcionales de energía
      13. Principio de mínima acción / mínima energía potencial
      14. Discretización espacial (elementos finitos) para energía continua
      15. Métodos iterativos de relajación de energía
      16. Restricciones físicas duras (incompresibilidad, límites geométricos)
      17. Métodos gradiente descendente proyectado
      18. Técnicas multiescala para relajar grandes sistemas físicos
      19. Estabilidad numérica de la relajación de energía
      20. Aplicaciones en mecánica estructural, elasticidad, materiales y fluidos
    3. Álgebra lineal numérica avanzada
      1. Descomposición LU, Cholesky, QR, SVD
        1. Factorización LU para resolver Ax=b
        2. Descomposición Cholesky para matrices simétricas definidas positivas
        3. Descomposición QR para mínimos cuadrados estables
        4. Descomposición en valores singulares (SVD)
        5. Estabilidad numérica de cada factorización
        6. Complejidad computacional y costo en FLOPs
        7. Uso de pivoteo parcial / completo para estabilidad
        8. Reducción de rango y compresión con SVD truncada
        9. Resolución sobredeterminada y subdeterminada
        10. Uso en regresión, compresión, PCA y filtrado de ruido
      2. Resolución directa de sistemas lineales
        1. Sustitución hacia adelante y hacia atrás
        2. Eliminación gaussiana clásica
        3. Pivoteo parcial para estabilidad numérica
        4. Factorización en bloques para explotar cache
        5. Sistemas densos vs dispersos
        6. Costos de O(n³) y límites prácticos en n grande
        7. Uso repetido de la misma factorización para múltiples RHS
        8. Efecto del condicionamiento de A en la precisión de x
        9. Impacto de errores de redondeo en el resultado final
        10. Implementaciones optimizadas con BLAS/LAPACK
      3. Métodos iterativos para sistemas lineales
        1. Jacobi y Gauss-Seidel
        2. Successive Over-Relaxation (SOR)
        3. Métodos basados en subespacios de Krylov
        4. Convergencia condicionada a propiedades espectrales de A
        5. Criterios de parada (residuo, norma relativa)
        6. Preacondicionamiento para acelerar convergencia
        7. Escalabilidad a sistemas muy grandes y dispersos
        8. Paralelización natural de métodos iterativos
        9. Almacenamiento más eficiente que métodos directos en gran escala
        10. Aplicación en simulación de campos, fluidos y estructuras
      4. Gradiente conjugado y variantes
        1. Método de gradiente conjugado para SPD (simétrica definida positiva)
        2. Relación con minimización de una forma cuadrática
        3. Precondicionadores (PCG)
        4. Estimación de convergencia según espectro de la matriz
        5. Limitaciones en matrices no SPD
        6. Flexible CG y adaptaciones prácticas
        7. Reutilización de precondicionadores entre pasos de simulación
        8. Parallel CG en clusters y GPU
        9. Reducción de comunicación entre nodos en HPC
        10. Estabilidad numérica en iteraciones largas
      5. GMRES, BiCGSTAB y métodos de Krylov generales
        1. GMRES para sistemas no simétricos
        2. Reinicio de GMRES (GMRES(m)) para limitar memoria
        3. BiCGSTAB para convergencia acelerada en no simétricas
        4. Métodos Krylov basados en subespacios crecientes
        5. Sensibilidad al precondicionador elegido
        6. Costos de almacenamiento de las bases de Krylov
        7. Estrategias para evitar pérdida de ortogonalidad
        8. Paralelización distribuida y comunicaciones colectivas
        9. Balance entre iteraciones baratas y iteraciones robustas
        10. Uso en simulaciones de dinámica de fluidos y electromagnetismo
      6. Problemas de autovalores y autovectores
        1. Potencia y potencia inversa
        2. Descomposición QR iterativa para autovalores
        3. Métodos de subespacio para autovalores dominantes
        4. Métodos de Lanczos (matrices simétricas grandes)
        5. Métodos de Arnoldi (no simétricas grandes)
        6. Cálculo de modos propios en sistemas físicos (vibraciones, modos normales)
        7. Extracción de pocos autovalores relevantes sin calcular todos
        8. Desplazamiento espectral (shift-and-invert)
        9. Estabilidad numérica en espectros muy cercanos
        10. Paralelización de cálculo espectral en HPC
      7. Descomposiciones espectrales y modos propios
        1. Descomposición espectral de matrices simétricas
        2. Representación modal de sistemas dinámicos lineales
        3. Descomposición modal en vibraciones estructurales
        4. Modos propios en mecánica cuántica / ecuaciones de onda
        5. Filtrado modal para reducción de orden de modelos
        6. Selección de modos dominantes y truncado modal
        7. Análisis de estabilidad mediante autovalores con parte real positiva/negativa
        8. Reducción de dimensionalidad guiada por espectro
        9. Construcción de bases reducidas (ROMs / reduced-order models)
        10. Proyección Galerkin y aproximaciones subespaciales
      8. Matrices dispersas y formatos de almacenamiento disperso
        1. Formato CSR / CSC (Compressed Sparse Row / Column)
        2. Formatos COO y DIA (diagonal)
        3. Bloques dispersos (Block CSR / BCSR)
        4. Impacto en el acceso a memoria y cache
        5. Multiplicación matriz-vector (SpMV) eficiente
        6. Carga en GPU y coalescing de accesos dispersos
        7. Ensamblaje de matrices dispersas en métodos de elementos finitos
        8. Reordenamiento de nodos para mejorar localidad (RCM, etc.)
        9. Compresión y trade-offs entre memoria y velocidad
        10. Serialización / intercambio de matrices dispersas entre nodos HPC
      9. Precondicionadores y mejora de convergencia
        1. Precondicionadores diagonales / Jacobi escalado
        2. ILU(0) y variantes incompletas
        3. Precondicionadores multigrid / algebraic multigrid (AMG)
        4. Precondicionadores basados en bloques
        5. Precondicionadores específicos de dominio físico (domain-specific)
        6. Balance entre costo de construir el precondicionador y ganancia en iteraciones
        7. Reutilización en pasos sucesivos de simulación transitoria
        8. Implementación distribuida en clústeres (domain decomposition)
        9. Efecto del precondicionador en la estabilidad numérica global
        10. Ajuste adaptativo del precondicionador durante la corrida
      10. Métodos multigrid y multiescala 11. Relajación en mallas finas y corrección en mallas gruesas 12. Ciclos V, W y F 13. Restricción y prolongación entre niveles de malla 14. Suavizado de errores de alta frecuencia 15. Convergencia casi independiente del tamaño del problema 16. Multigrid geométrico vs multigrid algebraico 17. Uso en ecuaciones de Poisson / difusión / elasticidad 18. Extensión a problemas no lineales (Full Approximation Scheme) 19. Paralelización natural por niveles y dominios 20. Combinación con precondicionadores para métodos de Krylov
      11. Factorizaciones de rango bajo
        1. Aproximación de matrices grandes por matrices de bajo rango
        2. SVD truncada y PCA numérica
        3. Descomposición CUR
        4. Low-Rank Approximation para compresión de operadores
        5. Métodos aleatorizados para bajo rango
        6. Reducción de costo en almacenamiento y cómputo
        7. Aplicación en modelos reducidos de sistemas físicos grandes
        8. Separación de señal/ruido mediante modos dominantes
        9. Uso en simulaciones de alta dimensión (fluidodinámica, clima)
        10. Trade-off entre precisión perdida y ahorro computacional
    4. Métodos para ecuaciones diferenciales ordinarias (EDO)
      1. Métodos explícitos de paso único
        1. Euler explícito
        2. Métodos de Taylor de orden bajo
        3. Métodos de Runge-Kutta explícitos básicos (RK2, RK4)
        4. Estabilidad condicionada al tamaño de paso
        5. Propagación de error local vs global
        6. Ventajas en problemas no rígidos y bien comportados
        7. Costos computacionales por paso bajos
        8. Paralelización simple en evaluación de la función derivada
        9. Limitaciones frente a ecuaciones rígidas
        10. Uso en simulaciones en tiempo real donde importa velocidad más que precisión fina
      2. Métodos implícitos de paso único
        1. Euler implícito (backward Euler)
        2. Métodos trapezoidales implícitos
        3. Estabilidad A-stable y L-stable
        4. Resolución de sistemas no lineales en cada paso
        5. Requerimiento de Jacobianos o aproximaciones del Jacobiano
        6. Adecuación a ecuaciones rígidas
        7. Costos computacionales más altos por paso
        8. Métodos de Newton para cerrar el paso implícito
        9. Buen control de amortiguamiento numérico en sistemas disipativos
        10. Uso en simulaciones de alta rigidez (química, circuitos eléctricos, reacciones rápidas)
      3. Métodos multistep
        1. Métodos de Adams-Bashforth (explícitos)
        2. Métodos de Adams-Moulton (implícitos)
        3. Métodos de diferenciación hacia atrás (BDF)
        4. Uso de historial de pasos anteriores para acelerar cómputo
        5. Estabilidad y rigidez: BDF para problemas muy rígidos
        6. Control de orden variable dinámico
        7. Arranque (startup) con métodos de paso único antes de aplicar multistep
        8. Control de error mediante estimadores embebidos
        9. Dificultades con eventos/discontinuidades (reset del historial)
        10. Eficiencia en simulaciones largas en el tiempo
      4. Métodos Runge-Kutta clásicos y de alto orden
        1. RK4 clásico como estándar generalista
        2. Runge-Kutta de orden adaptativo embebido (Fehlberg, Cash-Karp, Dormand-Prince)
        3. Métodos explícitos vs implícitos de Runge-Kutta
        4. Métodos diagonales implícitos para rigidez
        5. Orden alto (RK de orden 5,6,7+) y trade-off costo/precisión
        6. Control de error local incorporado en pares embebidos
        7. Métodos particionados (para sistemas desacoplados rígido/no rígido)
        8. Simplicidad de implementación vs complejidad analítica
        9. Uso extensivo en simulación física y animación científica
        10. Paralelización parcial de evaluaciones intermedias de la derivada
      5. Métodos adaptativos con control de paso
        1. Estimación de error local en cada paso
        2. Ajuste dinámico del tamaño de paso (step size control)
        3. Criterios absolutos vs relativos de tolerancia
        4. Rechazo y repetición de pasos cuando el error es demasiado alto
        5. Manejo de regiones con cambios rápidos vs suaves
        6. Evitar trabajo excesivo en zonas suaves usando pasos largos
        7. Evitar inestabilidad numérica en zonas rígidas con pasos cortos
        8. Métodos embebidos (par de órdenes p/p-1) para estimar error sin costo extra grande
        9. Detección de blow-up numérico y frenado de integración
        10. Relevancia en simuladores generales tipo “solve ODE” automáticos
      6. Sistemas rígidos y métodos para rigidez
        1. Definición de rigidez (stiffness) en EDO
        2. Restricciones severas de paso en métodos explícitos
        3. Métodos BDF para rigidez severa
        4. Runge-Kutta implícitos L-stable
        5. Linealización local y resolución de sistemas lineales internos
        6. Necesidad de Jacobianos o aproximaciones numéricas del Jacobiano
        7. Precondicionamiento en la resolución de los sistemas internos
        8. Estabilidad numérica frente a modos rápidos altamente amortiguados
        9. Problemas típicos rígidos: cinética química, circuitos eléctricos, reacciones nucleares
        10. Detección automática de rigidez y cambio de solver en caliente
      7. Conservación de invariantes y métodos geométricos
        1. Integradores simplécticos para sistemas Hamiltonianos
        2. Conservación de energía a largo plazo en sistemas conservativos
        3. Conservación de momento y otras cantidades invariantes
        4. Métodos de ángulo-acción y preservación de estructuras de fase
        5. Métodos de partición (split-step) para dinámica separable
        6. Integradores de rotación / rigid body preserving constraints
        7. Uso en mecánica celeste y dinámica molecular
        8. Evitar deriva numérica en simulaciones largas
        9. Métodos de Lie-Trotter y Strang splitting
        10. Métodos que respetan restricciones holónomas (constraint-preserving)
      8. Métodos linealizados y métodos de disparo
        1. Linealización local alrededor de trayectorias temporales
        2. Aproximaciones de primer orden para sistemas débilmente no lineales
        3. Método de disparo (shooting method) para problemas de contorno
        4. Ajuste iterativo de condiciones iniciales para satisfacer condiciones finales
        5. Sensibilidad extrema a condiciones iniciales en disparo directo
        6. Descomposición del problema en subintervalos para mejorar estabilidad
        7. Acoplamiento con métodos de optimización para cerrar condiciones de borde
        8. Variantes múltiples-disparo (multiple shooting)
        9. Uso en control óptimo y trayectorias balísticas
        10. Relación con métodos de contorno tipo collocation
      9. Solución de problemas de contorno
        1. EDO con condiciones en más de un punto (boundary value problems)
        2. Métodos de disparo simple y múltiple
        3. Métodos de colocation y aproximación por bases de funciones
        4. Ajuste de la solución en forma global en todo el dominio
        5. Linearización incremental y solución iterativa
        6. Estabilidad y sensibilidad a pequeñas variaciones en condiciones de borde
        7. Uso de splines / polinomios por tramos para forzar condiciones
        8. Métodos tipo Galerkin para problemas de contorno
        9. Conversión de problema de contorno en un sistema algebraico grande
        10. Aplicación en vigas, elasticidad 1D, transferencia de calor estacionaria
    5. Métodos para ecuaciones diferenciales parciales (EDP)
      1. Discretización por diferencias finitas
        1. Aproximación de derivadas espaciales por diferencias hacia adelante/atrás/centradas
        2. Esquemas explícitos en el tiempo (Forward Euler en PDE)
        3. Esquemas implícitos (Backward Euler, Crank–Nicolson)
        4. Orden de truncamiento espacial y temporal
        5. Estabilidad condicional y CFL en métodos explícitos
        6. Manejo de condiciones de borde (Dirichlet, Neumann, mixtas)
        7. Mallado uniforme vs no uniforme
        8. Discretización de operadores elípticos, parabólicos e hiperbólicos
        9. Tratamiento de términos convectivos y difusión numérica
        10. Implementación eficiente en mallas regulares (stencil computation)
      2. Discretización por elementos finitos
        1. Formulación débil / variacional del problema
        2. Funciones base locales (elementos lineales, cuadráticos, etc.)
        3. Ensamblaje de la matriz global de rigidez / masa
        4. Manejo de geometrías complejas y dominios irregulares
        5. Adaptación de malla local donde hay gradientes fuertes
        6. Elementos isoparamétricos y mapeos curvos
        7. Condiciones de borde naturales vs esenciales
        8. Métodos mixtos y formulaciones híbridas
        9. FEM para problemas elásticos, térmicos, flujo, electromagnetismo
        10. Uso de precondicionadores específicos de FEM en HPC
      3. Discretización por volúmenes finitos
        1. Conservación de flujo a través de volúmenes de control
        2. Balance integral sobre cada celda
        3. Cálculo de flujos numéricos en las fronteras de celda
        4. Adecuado para leyes de conservación (masa, momentum, energía)
        5. Manejo de discontinuidades (shock capturing)
        6. Esquemas de alta resolución con limitadores de pendiente
        7. Mallas estructuradas vs no estructuradas
        8. Conservación global garantizada por construcción
        9. Uso extensivo en dinámica de fluidos computacional (CFD)
        10. Fácil interpretación física del balance local
      4. Métodos espectrales y pseudoespectrales
        1. Expansión de la solución en series de funciones base globales (Fourier, Chebyshev)
        2. Alta precisión con pocos grados de libertad en problemas suaves
        3. Transformadas rápidas (FFT) para acelerar cómputo
        4. Tratamiento complicado de geometrías complejas
        5. Aliasing y dealiasing en no linealidades
        6. Métodos pseudoespectrales evaluando derivadas en el espacio físico
        7. Condiciones periódicas naturales en dominios tipo caja
        8. Captura de modos dominantes en turbulencia y flujo inestable
        9. Escalabilidad en paralelo vía descomposición de dominio espectral
        10. Uso en simulación de fluidos incompresibles y ondas
      5. Métodos de contorno e integrales de frontera
        1. Reformulación de la PDE como integral sobre la frontera del dominio
        2. Reducción de la dimensionalidad del problema (de 3D a 2D, etc.)
        3. Uso de funciones de Green
        4. Tratamiento muy eficiente para dominios infinitos / semi-infinitos
        5. Condiciones de borde complejas (acústica, electromagnetismo)
        6. Matrices densas resultantes y necesidad de aceleración (FMM, etc.)
        7. Dificultad con no linealidades fuertes
        8. Precisión alta en problemas de potencial estacionario
        9. Acoplamiento con métodos volumétricos en el interior
        10. Aplicaciones en scattering de ondas y problemas elípticos
      6. Esquemas conservativos y leyes de conservación
        1. Discretizaciones que respetan conservación de masa, momento, energía
        2. Flujos numéricos tipo Riemann solver
        3. Métodos upwind y Godunov
        4. Esquemas de alto orden con limitadores TVD / ENO / WENO
        5. Captura de shocks sin oscilaciones espurias
        6. Entropía numérica y estabilidad física
        7. Tratamiento de discontinuidades de contacto y ondas de choque
        8. Prevención de presión negativa / densidad negativa en fluidos comprimibles
        9. Métodos para hidrodinámica relativista y MHD
        10. Conservación exacta en cada celda como criterio de validez
      7. Estabilidad numérica y condición CFL
        1. Definición de la condición CFL (Courant-Friedrichs-Lewy)
        2. Relación entre paso temporal, velocidad característica y tamaño de celda
        3. Estabilidad condicional de esquemas explícitos hiperbólicos
        4. Elección de paso de tiempo seguro en simulaciones transitorias
        5. Schemas implícitos que alivian restricción CFL
        6. Impacto de CFL en precisión vs costo computacional
        7. Control adaptativo del paso de tiempo basado en CFL local
        8. Diferencias entre CFL global y CFL local en mallas no uniformes
        9. CFL en problemas multipropósito (ondas + difusión)
        10. Fallas típicas por violar CFL (explosión numérica)
      8. Métodos implícitos vs explícitos en EDP
        1. Métodos explícitos: más simples y paralelizables pero con pasos pequeños
        2. Métodos implícitos: más estables pero requieren resolver sistemas grandes
        3. Métodos semi-implícitos / IMEX (implícito-explícito híbrido)
        4. Diferencias para problemas difusivos vs convectivos
        5. Costo de ensamblar y factorizar matrices grandes en el caso implícito
        6. Uso de precondicionadores en métodos implícitos
        7. Trade-off costo por paso vs tamaño de paso permitido
        8. Elección práctica según rigidez y escala temporal del fenómeno
        9. Métodos particionados por física (tratando términos distintos con esquemas distintos)
        10. Consideraciones de memoria y comunicación en HPC
      9. Refinamiento de malla adaptativo (AMR)
        1. Refinamiento espacial local donde hay alta variación
        2. Coarsening donde la solución es suave
        3. Niveles jerárquicos de malla anidada
        4. Criterios de refinamiento basados en gradiente / curvatura / error estimado
        5. Balance de carga entre nodos HPC con mallas refinadas localmente
        6. Interpolación entre niveles de refinamiento
        7. Conservación de cantidades físicas al refinar / desrefinar
        8. Adaptación dinámica en el tiempo (refinamiento que se mueve con la onda / shock)
        9. AMR en 2D vs 3D y costos de memoria
        10. Integración con multigrid y solvers iterativos
      10. Métodos de partículas y SPH (Smoothed Particle Hydrodynamics)+
        1. Representación lagrangiana: el fluido como partículas
        2. Kernel de suavizado para estimar campos continuos
        3. Manejo natural de grandes deformaciones y superficies libres
        4. No requiere malla fija (mesh-free)
        5. Tratamiento de fronteras y condiciones de contorno en SPH
        6. Estabilidad y viscosidad numérica artificial
        7. Conservación de masa y momentum a través de interacciones entre partículas
        8. Uso en astrofísica, fluidos libres, impactos y rompimiento de materiales
        9. Escalabilidad en GPU con vecindarios locales
        10. Dificultad para capturar fenómenos altamente compresibles con alta precisión
      11. Métodos de frontera inmersa
        1. Representación de objetos sólidos inmersos en un fluido sin mallar el sólido explícitamente
        2. Fuerzas de interacción sólido-fluido distribuidas en la malla del fluido
        3. Manejo de geometrías móviles / complejas sin re-mallado completo
        4. Uso en biomecánica (válvulas cardíacas, organismos nadadores)
        5. Desacople entre resolución del fluido y del sólido
        6. Tratamiento de condiciones de no deslizamiento (no-slip) aproximadas
        7. Posibles fugas numéricas cerca de la interfaz si no se refina suficiente
        8. Costo computacional adicional por imponer la condición de frontera inmersa
        9. Extensión a flujos no newtonianos y multicomponente
        10. Acoplamiento con estructuras elásticas deformables
      12. Tratamiento numérico de discontinuidades y shocks
        1. Captura de shocks sin introducir oscilaciones numéricas espurias
        2. Limitadores de pendiente para evitar overshoot/undershoot
        3. Métodos de Godunov y Riemann solvers aproximados
        4. Técnicas ENO / WENO para alta resolución sin oscilaciones
        5. Rastreo explícito de la discontinuidad vs captura difusa
        6. Entropía física y selección de la solución físicamente correcta
        7. Prevención de valores no físicos (densidad negativa, presión negativa)
        8. Interacción de shocks múltiples y reflexión en paredes
        9. Shocks relativistas y choques magnetizados en MHD
        10. Validación contra soluciones analíticas de referencia / problemas estándar (Sod, blast wave)
    6. Simulación científica por dominio físico
      1. Dinámica de fluidos computacional (CFD)
        1. Resolución de ecuaciones de Navier-Stokes (incompresibles y compresibles)
        2. Modelos de turbulencia (RANS, LES, DNS)
        3. Estabilidad numérica en flujos de alta velocidad (Mach alto)
        4. Captura de capas límite, separación de flujo y arrastre
        5. Métodos de presión-velocidad (proyección, SIMPLE, PISO)
        6. Flujo multifásico y seguimiento de interfaces (VOF, Level Set)
        7. Flujos reactivos y combustión numérica
        8. Simulación de cavitación y erosión por vórtices
        9. Acoplamiento fluido-estructura (FSI)
        10. Paralelización masiva en mallas 3D de alta resolución
      2. Mecánica de sólidos y análisis estructural
        1. Elasticidad lineal y no lineal
        2. Plasticidad y endurecimiento
        3. Grandes deformaciones y no linealidad geométrica
        4. Elementos finitos para tensión y deformación
        5. Análisis modal de vibraciones estructurales
        6. Estabilidad estructural y pandeo
        7. Contacto y fricción entre cuerpos
        8. Fatiga y vida útil bajo cargas cíclicas
        9. Materiales compuestos y anisotropía
        10. Optimización topológica de estructuras
      3. Fractura, plasticidad y mecánica del daño
        1. Mecánica de la fractura lineal elástica (LEFM)
        2. Criterios de iniciación y propagación de grietas
        3. Modelos cohesivos de zona de fractura
        4. Plasticidad dependiente de la historia de carga
        5. Daño acumulativo y degradación de rigidez
        6. Fractura dinámica y fragmentación rápida
        7. Efectos térmicos y termo-mecánicos en propagación de grietas
        8. Modelos multiescala (microestructura → macrocomportamiento)
        9. Simulación de impacto, penetración y balística
        10. Evaluación de vida útil y tolerancia al daño en ingeniería crítica
      4. Electromagnetismo computacional
        1. Resolución numérica de las ecuaciones de Maxwell
        2. Métodos FDTD (Finite-Difference Time-Domain)
        3. Métodos de elementos finitos electromagnéticos
        4. Métodos de contorno para scattering electromagnético
        5. Propagación de ondas electromagnéticas en medios complejos
        6. Guías de onda, antenas y cavidades resonantes
        7. Acoplamiento electromagnético de alta frecuencia y efectos de radiación
        8. Interferencia, difracción y absorción en materiales reales
        9. Simulación de compatibilidad electromagnética (EMC/EMI)
        10. Optimización de dispositivos RF / microondas / fotónica integrada
      5. Física de plasmas y magnetohidrodinámica
        1. Ecuaciones MHD (magnetohidrodinámica) acopladas
        2. Dinámica de campos magnéticos congelados en el fluido
        3. Reconección magnética y liberación de energía
        4. Inestabilidades de plasma (Rayleigh-Taylor, Kelvin-Helmholtz, kink)
        5. Modelos cinéticos vs modelos de fluido para plasmas
        6. Métodos de partículas-celda (PIC) para plasmas collisionless
        7. Ondas de choque magnetizadas y estructuras de choque MHD
        8. Confinamiento magnético en fusión nuclear
        9. Transporte anisotrópico de calor en plasmas magnetizados
        10. Simulación de plasmas espaciales y astrofísicos
      6. Astrofísica computacional y relatividad numérica
        1. Evolución gravitacional N-cuerpos auto-gravitantes
        2. Colapso gravitacional y formación de estructuras cósmicas
        3. Simulación hidrodinámica cosmológica con expansión del universo
        4. Simulaciones acopladas radiación-hidrodinámica
        5. Relatividad general numérica (ecuaciones de Einstein discretizadas)
        6. Ondas gravitacionales y fusiones de objetos compactos
        7. Modelos de acreción alrededor de agujeros negros
        8. Eyección relativista de jets y campos magnéticos extremos
        9. Seguimiento de especies químicas en evolución estelar y medios interestelares
        10. Resolución adaptativa de malla en escalas astronómicas enormes
      7. Dinámica molecular clásica
        1. Simulación de movimiento de partículas según fuerzas clásicas
        2. Potenciales interatómicos empíricos (Lennard-Jones, Morse, etc.)
        3. Integradores simplécticos para conservar energía a largo plazo
        4. Condiciones periódicas de contorno (cajas periódicas)
        5. Termostatos y barostatos (NVT, NPT)
        6. Cálculo de propiedades termodinámicas (energía libre, difusividad)
        7. Análisis de trayectorias y correlaciones temporales
        8. Simulación de procesos de difusión, mezcla, autoensamblado
        9. Modelos coarse-grained vs atomísticos detallados
        10. Aceleración con GPU y descomposición espacial entre nodos
      8. Dinámica molecular ab initio
        1. Fuerzas derivadas directamente de cálculos de estructura electrónica
        2. DFT (Teoría del Funcional de la Densidad) acoplada a dinámica atómica
        3. Altísimo costo computacional por paso de tiempo
        4. Escalas temporales cortas pero alta fidelidad cuántica
        5. Simulación de reacciones químicas y enlaces que se forman/rompen
        6. Propiedades electrónicas bajo condiciones extremas (alta P, alta T)
        7. Comparación con potenciales clásicos ajustados
        8. Métodos híbridos QM/MM (cuántico-molecular)
        9. Optimización de estructuras moleculares y búsqueda de estados metaestables
        10. Uso en materiales nuevos, catálisis y química de superficies
      9. Física estadística y simulación de Monte Carlo
        1. Simulación de ensambles canónico, microcanónico, gran canónico
        2. Método de Metropolis-Hastings
        3. Simulación de sistemas de espines (Ising, Potts)
        4. Transiciones de fase y fenómenos críticos
        5. Técnicas de recocido simulado (simulated annealing)
        6. Reponderación de histogramas y análisis de estados raros
        7. Caminatas aleatorias y difusión browniana
        8. Métodos de muestreo avanzado (cluster updates, parallel tempering)
        9. Cálculo de observables promediados estadísticamente
        10. Estimación de incertidumbre estadística y autocorrelación
      10. Modelos climáticos y geo-simulación
        1. Modelos acoplados océano-atmósfera
        2. Ecuaciones de transporte de calor, humedad y momento a escala planetaria
        3. Dinámica de circulación general atmosférica
        4. Modelos de hielo, criosfera y dinámica de glaciares
        5. Modelos de ciclo del carbono y biogeoquímica
        6. Resolución de procesos de nubes y precipitación sub-resueltos (parametrizaciones)
        7. Asimilación de datos observacionales en el modelo numérico
        8. Simulación de eventos extremos (huracanes, olas de calor)
        9. Escalabilidad en supercomputadores para predicciones de largo plazo
        10. Análisis de incertidumbre y ensembles de proyecciones climáticas
      11. Sismología y propagación de ondas
        1. Ecuaciones de onda elástica en medios heterogéneos
        2. Modelado de propagación sísmica en 3D
        3. Métodos espectrales y de elementos finitos para ondas sísmicas
        4. Discontinuidades de interfaces geológicas y fallas
        5. Modelación de fuentes sísmicas realistas (rupturas dinámicas)
        6. Atenuación, disipación y dispersión del pulso sísmico
        7. Inversión sísmica para obtener estructuras internas de la Tierra
        8. Simulación de escenarios de terremotos para ingeniería sísmica
        9. Propagación de tsunamis y acoplamiento océano-suelo
        10. Necesidad de mallas adaptativas en regiones urbanas / costeras
      12. Biofísica computacional y dinámica de proteínas
        1. Simulación del plegamiento de proteínas
        2. Interacciones proteína-ligando y afinidad de unión
        3. Canales iónicos y transporte a través de membranas
        4. Modelos de ADN/ARN y dinámica conformacional
        5. Métodos coarse-grained para sistemas biológicos grandes
        6. Simulación de membranas celulares y microdominios lipídicos
        7. Dinámica conformacional lenta y rare-event sampling
        8. Predicción de estabilidad de mutaciones
        9. Acoplamiento con datos experimentales (crio-EM, rayos X)
        10. Exploración de rutas de transición entre estados funcionales
      13. Simulación de reactores nucleares y transporte de radiación
        1. Ecuaciones de transporte neutrónico (neutrones en medios materiales)
        2. Difusión neutrónica y métodos multigrupo de energía
        3. Cálculo de criticidad y factores de multiplicación
        4. Termohidráulica acoplada (flujo + calentamiento del combustible)
        5. Gestión de combustibles y quemado (burnup)
        6. Transporte de radiación gamma / fotones energéticos
        7. Métodos Monte Carlo para trayectorias de partículas
        8. Blindaje y protección radiológica
        9. Simulación transitoria de accidentes y scram (apagado rápido)
        10. Validación frente a mediciones experimentales y benchmarks estándar
    7. Programación científica
      1. Lenguajes y ecosistemas dominantes (Fortran moderno, C/C++, Julia)
        1. Fortran moderno (Fortran 90+ con módulos, arrays n-dimensionales, paralelismo)
        2. C para cómputo cercano al hardware y control de memoria explícito
        3. C++ para metaprogramación, genéricos y abstracciones sin costo
        4. C++ moderno (C++17/C++20) con plantillas y expresiones constantes evaluables en compile-time
        5. Julia como lenguaje de alto nivel con performance cercano a C
        6. Interoperabilidad entre lenguajes (por ejemplo, C/Fortran → Python)
        7. Gestión manual de memoria vs recolección de basura controlada
        8. Estabilidad numérica y reproducibilidad entre implementaciones
        9. Soporte para paralelismo nativo por lenguaje
        10. Portabilidad entre arquitecturas (CPU, GPU, aceleradores)
      2. Bibliotecas numéricas de bajo nivel (BLAS, LAPACK)
        1. BLAS nivel 1/2/3 (operaciones vector, matriz-vector, matriz-matriz)
        2. Implementaciones optimizadas específicas de hardware (MKL, OpenBLAS, BLIS)
        3. LAPACK para resolución de sistemas lineales densos
        4. Factorizaciones LU, QR, Cholesky mediante llamadas estándar
        5. Cálculo de autovalores/autovectores
        6. Interfaz procedural y convenciones de memoria (column-major)
        7. Uso en cómputo de alto rendimiento sin reescribir álgebra básica a mano
        8. Enfoque en matrices densas vs necesidad de extensiones para matrices dispersas
        9. Llamadas desde lenguajes de más alto nivel
        10. Vinculación estática vs dinámica y problemas de ABI
      3. Bibliotecas científicas de más alto nivel (FFTW, PETSc, Trilinos)
        1. FFTW para transformadas rápidas de Fourier multidimensionales
        2. PETSc para álgebra lineal dispersa y solvers iterativos escalables
        3. Trilinos para solvers multipropósito en entornos paralelos distribuidos
        4. Manejo de mallas, discretizaciones y operadores diferenciales discretizados
        5. Solución de EDP acopladas en paralelo
        6. Precondicionadores avanzados ya implementados
        7. Soporte para descomposición de dominio y cómputo distribuido
        8. Integración con MPI y OpenMP
        9. Abstracción de vectores y matrices con distinta representación interna
        10. Reutilización en simulación multi-física compleja
      4. Programación con precisión controlada
        1. Elección entre float32, float64, float128
        2. Árbitro de costo vs precisión requerida física
        3. Acumulación de sumas en precisión extendida
        4. Uso de tipos de punto fijo en hardware embebido científico
        5. Control de redondeo y modos IEEE-754
        6. Rescate de estabilidad numérica usando precisión mixta
        7. Estrategias de reproducibilidad bit a bit
        8. Minimización del error catastrófico en restas casi iguales
        9. Impacto de la precisión reducida en desempeño GPU
        10. Uso de precisión mixta en métodos iterativos con refinamiento
      5. Programación vectorial explícita y extensiones SIMD
        1. SIMD (Single Instruction Multiple Data) en CPU (AVX, NEON, SVE)
        2. Vectorización automática del compilador vs vectorización manual
        3. Alineamiento de datos y layout contiguo
        4. Desenrollado de loops para mejorar throughput
        5. Instrucciones de fusión de operaciones (FMA)
        6. Minimización de dependencias de datos en el loop
        7. Estructura de datos AoS vs SoA (Array of Structs vs Struct of Arrays)
        8. Uso de intrinsics específicos de arquitectura
        9. Portabilidad del código vectorizado entre arquitecturas
        10. Interacción entre vectorización y cachés L1/L2/L3
      6. Uso de plantillas y metaprogramación para rendimiento
        1. Metaprogramación en C++ para generar kernels especializados en compile-time
        2. Eliminación de capas de abstracción en tiempo de compilación (zero-cost abstractions)
        3. Expresión de álgebra lineal como expresiones template (expression templates)
        4. Inlining agresivo y eliminación de funciones virtuales
        5. Selección de rutas de cómputo optimizadas según tipo/dimensión
        6. Generación de código estático para tamaños de bloque conocidos
        7. Especialización parcial para arquitecturas específicas
        8. Plantillas para fusionar loops y reducir pasadas de memoria
        9. Codegen de kernels específicos de problema
        10. Costos de compilación y mantenibilidad vs ganancia de performance
      7. Modelos de cómputo distribuido científico (MPI)
        1. Paso de mensajes explícito punto a punto
        2. Comunicación colectiva (broadcast, scatter, gather, all-reduce)
        3. Particionamiento de dominio espacial entre procesos
        4. Decomposición 1D / 2D / 3D de mallas
        5. Sincronización de bordes (halo exchange)
        6. Comunicaciones bloqueantes vs no bloqueantes
        7. Minimización de latencia entre nodos
        8. Overlap de cómputo y comunicación
        9. Escalamiento a miles o millones de procesos
        10. Tolerancia a fallos en ejecuciones largas
      8. Directivas paralelas (OpenMP, OpenACC)
        1. Paralelización con anotaciones pragmas en el código
        2. Creación y gestión automática de hilos
        3. Distribución de loops entre hilos de CPU
        4. Control de afinidad de hilos y binding a núcleos
        5. Reducciones paralelas seguras
        6. Regiones críticas y secciones atómicas
        7. Paralelización incremental sin reescribir toda la base de código
        8. OpenACC para offload a GPU con directivas
        9. Balance entre sencillez de directivas y control fino
        10. Interacción con vectorización y jerarquías NUMA
      9. Modelos de cómputo acelerado (CUDA, HIP, OpenCL)
        1. Kernels ejecutados masivamente en GPU
        2. Jerarquías de hilos, bloques y grids
        3. Memoria global vs compartida vs registros
        4. Coalescing de accesos a memoria y alineamiento
        5. Ocultamiento de latencia mediante sobre-subscription de hilos
        6. Portabilidad entre proveedores (CUDA vs HIP vs OpenCL)
        7. Transferencia CPU↔GPU y solapamiento con cómputo
        8. Uso de bibliotecas aceleradas (cuBLAS, cuFFT, rocBLAS)
        9. Kernel fusion para reducir tráfico a memoria
        10. Ajuste fino de occupancy y límites de registros
      10. Lenguajes y DSLs específicos de dominio
        1. DSLs para ecuaciones diferenciales parciales
        2. Lenguajes declarativos para mallas y discretizaciones
        3. DSLs para álgebra lineal dispersa
        4. Lenguajes simbólicos que generan kernels numéricos
        5. Generación automática de código optimizado para GPU/CPU
        6. Plantillas de simulación para ciertos dominios (CFD, FEM, EM)
        7. Abstracción de hardware sin perder eficiencia
        8. Minimización de errores humanos en discretizaciones complejas
        9. Exploración rápida de nuevos modelos físicos
        10. Reutilización científica entre equipos de investigación
      11. Envolturas científicas en Python y bindings nativos
        1. Python como capa de orquestación y análisis
        2. Llamadas a kernels en C/C++/Fortran desde Python
        3. Uso de ctypes, cffi, pybind11
        4. Numpy como representación estándar de arreglos numéricos
        5. SciPy como wrapper de librerías nativas de álgebra y optimización
        6. Compilación just-in-time (Numba) para acelerar loops críticos
        7. Gestión del GIL en cómputo intensivo
        8. Interoperabilidad con GPU (CuPy, PyCUDA)
        9. Construcción de prototipos rápidos antes de portar a C++/Fortran
        10. Entornos reproducibles con dependencias científicas complejas
      12. Entornos interactivos de exploración científica
        1. Notebooks interactivos para experimentación numérica
        2. Visualización inmediata de resultados parciales
        3. Exploración de parámetros y sensibilidad
        4. Registro de decisiones experimentales junto al código
        5. Reproducibilidad de cálculos paso a paso
        6. Integración con librerías de plotting científico
        7. Interacción con clúster remoto desde entorno interactivo
        8. Post-procesamiento de simulaciones HPC masivas
        9. Comparación visual de distintas corridas / configuraciones
        10. Comunicación de resultados a no especialistas dentro del equipo
    8. Arquitecturas HPC y rendimiento extremo
      1. Supercomputadores y clústeres HPC
        1. Nodos de cómputo dedicados interconectados a alta velocidad
        2. Nodo de login vs nodos de ejecución
        3. Jerarquías de colas y asignación por proyecto
        4. Balance entre cómputo CPU y aceleradores (GPU, TPU)
        5. Redes internas dedicadas de baja latencia
        6. Sistemas de archivos paralelos compartidos
        7. Refrigeración y consumo eléctrico masivo
        8. Escalabilidad a cientos de miles de núcleos
        9. Chequeo de salud del clúster en operación continua
        10. Mantenimiento planificado y ventanas de inactividad
      2. Topologías de interconexión de alto rendimiento
        1. Topología malla (mesh)
        2. Topología toro (torus) 2D/3D
        3. Fat-tree / árbol gordo
        4. Dragonfly / HyperX
        5. Clos networks
        6. Impacto de la topología en latencia entre nodos
        7. Balance de tráfico y hotspots
        8. Afinidad de tareas según proximidad física
        9. Escalabilidad de la topología al crecer el clúster
        10. Resiliencia de la topología ante fallos de enlace
      3. Redes de baja latencia y alto ancho de banda
        1. Minimización del overhead de comunicación entre nodos
        2. Comunicación RDMA (Remote Direct Memory Access)
        3. Evitar intervención de CPU en transferencias de datos
        4. Ancho de banda agregado sostenido vs pico
        5. Jitter de latencia y su impacto en sincronización paralela
        6. Alineación de buffers de red con memoria de usuario
        7. Offload de protocolo en NICs inteligentes
        8. Agrupamiento de mensajes pequeños en bursts más grandes
        9. Priorización de tráfico crítico
        10. Compatibilidad con librerías MPI de alto rendimiento
      4. Tecnologías de interconexión (InfiniBand, Omni-Path)
        1. InfiniBand como estándar de facto en HPC
        2. Omni-Path y alternativas propietarias
        3. Latencia sub-microsegundo
        4. RDMA para acceso directo remoto
        5. QoS y partición lógica del tejido de red
        6. Escalamiento del tejido a miles de nodos
        7. Integración con GPU Direct (GPU↔GPU entre nodos)
        8. Costos de hardware especializado vs Ethernet optimizada
        9. Gestión de congestión en redes de muy alto rendimiento
        10. Diagnóstico y monitoreo de la salud del fabric
      5. Jerarquías de memoria en HPC (HBM, NUMA, NVRAM)
        1. Memoria local por CPU (NUMA domains)
        2. Memoria de alta banda ancha (HBM) junto a la CPU/GPU
        3. Cachés compartidas multinivel
        4. Memoria persistente rápida (NVRAM / PMem)
        5. Latencia variable según cercanía NUMA
        6. Colocación explícita de datos para minimizar saltos remotos
        7. Desbordamiento hacia almacenamiento rápido como “casi RAM”
        8. Administración explícita de memoria cercana a GPU
        9. Técnicas de tiling / blocking para localización espacial y temporal
        10. Estrategias para minimizar movimientos de memoria como cuello de botella
      6. Arquitecturas manycore y vector engines
        1. CPUs con decenas o cientos de núcleos ligeros
        2. Aceleradores vectoriales especializados (vector engines)
        3. GPUs orientadas a throughput masivo
        4. Co-procesadores dedicados a álgebra lineal
        5. Arquitecturas híbridas CPU+vector engine en el mismo nodo
        6. Schedulers que asignan kernels al dispositivo más adecuado
        7. Explotación de paralelismo de datos extremo
        8. Desafíos de memoria compartida entre muchos núcleos
        9. Limitaciones de ancho de banda interno al escalar núcleos
        10. Programación portable para arquitecturas heterogéneas
      7. Escalamiento fuerte y escalamiento débil
        1. Escalamiento fuerte: resolver el mismo problema más rápido con más recursos
        2. Escalamiento débil: resolver problemas más grandes con más recursos manteniendo el tiempo
        3. Speedup ideal vs speedup real
        4. Eficiencia paralela (speedup / número de procesos)
        5. Ley de Amdahl y limitación por la parte secuencial
        6. Ley de Gustafson en escalamiento débil
        7. Overhead de comunicación al aumentar procesos
        8. Desequilibrios de carga entre procesos
        9. Escalado a miles de nodos vs decenas de nodos
        10. Métricas para justificar costo de hardware adicional
      8. Modelos de equilibrio cómputo/memoria (roofline model)
        1. Roofline model como visualización de límites teóricos de rendimiento
        2. Intensidad aritmética (operaciones por byte transferido)
        3. Límite por cómputo vs límite por ancho de banda
        4. Detección de kernels ligados a memoria (memory-bound)
        5. Optimización para subir en el eje de intensidad aritmética
        6. Uso del roofline para priorizar optimizaciones
        7. Comparación entre distintas arquitecturas objetivo
        8. Aplicación a kernels de álgebra lineal dispersa
        9. Identificación de cuellos de botella de memoria compartida
        10. Trazabilidad de mejoras tras cambios de código
      9. Cómputo exascale y arquitecturas exascale
        1. Objetivo: ≥10^18 operaciones por segundo sostenidas
        2. Fuertes requisitos de paralelismo masivo
        3. Tolerancia a fallos como requisito central (fallos frecuentes esperables)
        4. Energía y refrigeración como limitante físico
        5. Jerarquías de memoria más profundas y especializadas
        6. Heterogeneidad extrema (CPU+GPU+aceleradores específicos)
        7. Nuevos modelos de programación resilientes a fallos
        8. Localidad de datos como factor dominante del rendimiento
        9. Replanteamiento de algoritmos para reducir comunicación global
        10. Co-diseño hardware-software-algoritmo
      10. Eficiencia energética y cómputo verde
        1. Rendimiento por watt como métrica clave
        2. DVFS (Dynamic Voltage and Frequency Scaling) en nodos HPC
        3. Apagado selectivo de unidades no usadas
        4. Localidad de datos para minimizar consumo de movimiento de memoria
        5. Agrupamiento de trabajos para optimizar enfriamiento y uso térmico
        6. Reutilización de calor residual
        7. Programación energéticamente consciente (energy-aware scheduling)
        8. Balance entre precisión numérica y costo energético (precisión reducida)
        9. Selección dinámica de acelerador más eficiente para cada kernel
        10. Métricas de sostenibilidad para justificar diseño de nueva infraestructura
      11. Heterogeneidad CPU/GPU/FPGA en nodos de cómputo
        1. Nodos con múltiples tipos de procesador especializados
        2. Asignación dinámica de tareas según el tipo de carga (cómputo denso, streaming, IO-bound)
        3. FPGAs para aceleración de kernels específicos
        4. Programación de kernels reconfigurables en FPGA
        5. Comunicación directa GPU↔GPU y GPU↔NIC
        6. Balance de memoria entre dispositivos heterogéneos
        7. Estrategias de scheduling multi-dispositivo
        8. Portabilidad de código entre distintas arquitecturas
        9. Superposición de cómputo en varios aceleradores simultáneos
        10. Complejidad de depuración y profiling en entornos heterogéneos
      12. Reducción de movimiento de datos como limitante físico
        1. El costo energético/milimétrico de mover datos supera a veces el costo de computar
        2. Computar “donde están los datos” para minimizar transferencia
        3. Fusión de kernels para evitar escrituras/lecturas intermedias
        4. Bloqueo (tiling) espacial y temporal para reusar datos en caché
        5. Almacenamiento intermedio en memoria cercana al acelerador
        6. Reducción en línea (on-the-fly reduction) en vez de recolectar todo
        7. Cómputo in-situ sobre datos científicos sin moverlos al host
        8. Desduplicación de datos compartidos entre procesos cercanos
        9. Compresión rápida en memoria/registro antes de enviar datos
        10. Cambios algorítmicos diseñados explícitamente para minimizar comunicación
    9. Administración y operación de clústeres HPC
      1. Gestión de recursos compartidos multiusuario
        1. Asignación de CPU/GPU/RAM entre distintos usuarios/grupos
        2. Políticas de uso justo (fair share)
        3. Aislamiento entre trabajos concurrentes
        4. Cuotas de almacenamiento y límites de IO
        5. Control de saturación de nodos críticos
        6. Administración de colas por prioridad científica o contractual
        7. Coordinación entre requerimientos de grandes campañas de simulación
        8. Gestión de accesos y cuentas de usuario
        9. Monitoreo de abuso o mal uso intencional/involuntario
        10. Reportes de uso para financiamiento/proyectos
      2. Planificadores y colas de trabajo por lotes
        1. Envío de trabajos batch con scripts de especificación
        2. Reserva anticipada de nodos completos
        3. Tiempo máximo de ejecución permitido por cola
        4. Priorización según tamaño/urgencia/proyecto
        5. Preempción de trabajos de baja prioridad
        6. Backfilling (llenar huecos libres con trabajos cortos)
        7. Agrupación de trabajos similares para eficiencia energética
        8. Gestión de dependencias entre trabajos
        9. Reintentos automáticos en caso de fallo transitorio
        10. Políticas para trabajos interactivos vs trabajos largos
      3. Sistemas de colas (SLURM, PBS, LSF)
        1. SLURM como estándar común en centros HPC
        2. PBS/Torque y LSF en entornos heredados/industriales
        3. Solicitud de recursos (nodos, CPUs, GPUs, memoria, tiempo)
        4. Control de afinidad NUMA y binding de hilos
        5. Array jobs para barridos paramétricos masivos
        6. Recolección de logs de job y salidas estándar
        7. Limitación de acceso a colas especiales (GPU, alta memoria)
        8. Integración con contenedores HPC (Singularity/Apptainer)
        9. Contabilidad automática de horas de cómputo
        10. Integración con sistemas de monitoreo y dashboards
      4. Gestión de módulos y entornos de compilación
        1. Módulos de entorno (module load) para seleccionar toolchains
        2. Versiones múltiples de compiladores (gcc, clang, Intel, NVHPC)
        3. Versiones múltiples de MPI y BLAS/LAPACK
        4. Evitar conflictos de librerías en /usr/lib global
        5. Reproducibilidad de builds mediante entornos módulo-fijados
        6. Documentación de qué módulos cargar para cada workflow
        7. Despliegue centralizado de nuevas librerías científicas
        8. Módulos específicos para GPU / CUDA
        9. Aislamiento de entornos de usuario vs entornos del sistema
        10. Limpieza y auditoría de módulos obsoletos
      5. Gestión de dependencias científicas y toolchains
        1. Compilación optimizada con flags específicos de CPU
        2. Toolchains consistentes (compilador + MPI + BLAS)
        3. Control de ABI y binarios compatibles
        4. Libraries matemáticas propietarias vs open source
        5. Construcción reproducible (Spack, EasyBuild)
        6. Versionado paralelo de la misma librería para distintos usuarios
        7. Minimizar recompilaciones masivas tras actualización del sistema
        8. Testing de regresión de rendimiento tras update
        9. Integridad criptográfica de toolchains instaladas
        10. Documentación de combinaciones soportadas oficialmente
      6. Sistemas de archivos paralelos (Lustre, GPFS, BeeGFS)
        1. Almacenamiento compartido entre miles de nodos
        2. Altísimo throughput agregado de lectura/escritura
        3. Distribución de archivos en múltiples servidores de datos
        4. Metadata distribuida y bots de metadata dedicados
        5. Stripeado de archivos grandes en muchos discos/nodos
        6. Limitaciones de latencia para muchos archivos pequeños
        7. Políticas de cuota por usuario/proyecto
        8. Recuperación ante fallo de nodo de almacenamiento
        9. Optimización de IO secuencial vs IO aleatorio
        10. Limpieza periódica de datos temporales de simulaciones
      7. Políticas de prioridad y fairness
        1. Priorización por proyecto financiado / grupo investigador
        2. Fair-share dinámico (prioridad baja si ya usaste muchas horas)
        3. Reservas especiales para deadlines críticos
        4. Jobs urgentes de emergencia científica / industrial
        5. Balance entre jobs largos y jobs cortos
        6. Slottime “sobrante” reutilizado con backfilling
        7. Prevención del acaparamiento de GPUs de alta gama
        8. Transparencia de colas y razones de espera
        9. Negociación entre equipos por ventanas de uso exclusivas
        10. Auditoría de cumplimiento de SLAs internos
      8. Contabilidad y uso de horas de cómputo
        1. Registro de consumo de CPU-horas / GPU-horas
        2. Asociar gasto computacional a proyectos/grants
        3. Límites presupuestarios por período
        4. Reportes automáticos para facturación interna o externa
        5. Penalización por jobs que fallan repetidamente
        6. Ajuste de prioridad según consumo histórico
        7. Análisis de eficiencia (tiempo reservado vs tiempo realmente usado)
        8. Atribución de costo energético aproximado
        9. Métricas para justificar ampliación de capacidad
        10. Trazabilidad histórica para auditorías
      9. Monitoreo y telemetría de clúster
        1. Uso de CPU, GPU y memoria por nodo en tiempo real
        2. Temperatura y salud térmica de nodos
        3. Estado de enlaces de red de alta velocidad
        4. Carga de IO en el sistema de archivos paralelo
        5. Detección temprana de nodos inestables o lentos
        6. Alertas automáticas ante degradaciones
        7. Dashboards operativos agregados
        8. Historial de performance para detectar tendencias
        9. Correlación entre fallos de hardware y cargas extremas
        10. Integración con sistemas de tickets / incidentes
      10. Seguridad y aislamiento de usuarios en HPC
        1. Cuentas por usuario autenticadas centralmente
        2. Aislamiento de procesos y jobs entre usuarios
        3. Control de acceso a datos sensibles de investigación
        4. Cifrado de datos en reposo y en tránsito interno
        5. Restricción de conectividad externa desde nodos de cómputo
        6. Auditoría de accesos y ejecución de binarios
        7. Escaneo de cargas maliciosas o minado no autorizado
        8. Gestión de claves SSH y certificados internos
        9. Cumplimiento de normativas (por ej. datos biomédicos)
        10. Contención de incidentes sin apagar todo el clúster
      11. Mantenimiento predictivo y gestión de fallos de nodo
        1. Monitoreo de temperatura, ventiladores, energía
        2. Alertas por errores de memoria ECC recurrentes
        3. Reemplazo proactivo de nodos “inestables”
        4. Migración de jobs fuera de nodos sospechosos
        5. Downtime planificado por rack / fila
        6. Diagnóstico remoto de hardware sin intervención física inmediata
        7. Gestión de repuestos críticos (NICs, GPUs, fuentes)
        8. Análisis de MTBF y confiabilidad de componentes
        9. Registro histórico de fallos por lote de hardware
        10. Minimizar pérdidas de simulaciones largas ante cortes imprevistos
      12. Planificación de capacidad y escalamiento físico
        1. Proyección de demanda futura (CPU, GPU, memoria, IO)
        2. Necesidades de potencia eléctrica y refrigeración
        3. Espacio físico en racks y densidad térmica
        4. Evaluación de nuevas arquitecturas (nuevas GPUs, aceleradores IA)
        5. Balance entre nodos “grandes” vs muchos nodos pequeños
        6. Planificación de upgrades sin romper compatibilidad software
        7. Costo total de propiedad (TCO) del hardware adicional
        8. Impacto en el sistema de archivos paralelo y la red central
        9. Riesgos de obsolescencia tecnológica acelerada
        10. Justificación presupuestaria y priorización entre grupos usuarios
    10. Optimización de rendimiento científico
      1. Perfilado y trazado de rendimiento
        1. Perfilado de CPU (tiempo por función / por línea)
        2. Perfilado de GPU (tiempo por kernel)
        3. Perfilado de memoria (allocs, frees, leaks)
        4. Conteo de FLOPs y ancho de banda usado
        5. Trazas temporales (timeline) de ejecución paralela
        6. Instrumentación manual vs muestreo estadístico
        7. Análisis de regiones críticas con alto tiempo bloqueado
        8. Herramientas específicas (perf, VTune, Nsight, TAU)
        9. Medición reproducible y controlada (misma entrada, mismo entorno)
        10. Identificación de variabilidad entre corridas
      2. Análisis de hotspots y kernels críticos
        1. Detección de funciones que consumen la mayor parte del tiempo total
        2. Agrupación de tiempo en operaciones repetitivas (loops internos)
        3. Determinar si el hotspot es cómputo-bound o memory-bound
        4. Extraer el kernel crítico como unidad aislada
        5. Microbenchmarks del kernel aislado
        6. Reescritura manual del kernel crítico
        7. Evaluación del impacto de una optimización local en el total
        8. Evitar optimizar secciones no dominantes
        9. Uso de roofline model para orientar el esfuerzo
        10. Iterar: volver a perfilar tras cada mejora
      3. Vectorización automática y manual
        1. Revisión de informes de vectorización del compilador
        2. Uso de restrict / no-aliasing para ayudar al compilador
        3. Reorganización de bucles para eliminar dependencias falsas
        4. Alineamiento de datos en memoria
        5. Uso de intrinsics SIMD específicos de la arquitectura
        6. Cambiar AoS → SoA para acceso contiguo
        7. Desenrollado de bucles (loop unrolling)
        8. Fusión de operaciones en instrucciones FMA
        9. Verificación de resultados numéricos tras vectorizar
        10. Caer a rutas escalares seguras en arquitecturas sin SIMD
      4. Afinidad de CPU y pinning de hilos
        1. Fijar hilos a núcleos específicos (CPU pinning)
        2. Evitar migración de hilos entre núcleos
        3. Considerar la topología NUMA al asignar hilos
        4. Alinear acceso a memoria con el nodo NUMA local
        5. Balancear hilos entre sockets físicos
        6. Separar hilos de cómputo y hilos de IO
        7. Minimizar contención en recursos compartidos del core
        8. Ajustar afinidad para jobs mixtos CPU/GPU
        9. Medir efectos en latencia y jitter temporal
        10. Uso de herramientas de afinidad (numactl, taskset)
      5. Optimización de caché y localidad de datos
        1. Mejorar localidad espacial (acceso secuencial a memoria)
        2. Mejorar localidad temporal (reuso rápido de los mismos datos)
        3. Tiling / blocking de bucles anidados
        4. Reordenamiento de bucles (loop interchange)
        5. Alinear estructuras a límites de caché
        6. Reducir stride grande en accesos a arreglos
        7. Evitar falsos compartidos entre hilos
        8. Prefetching explícito o asistido por compilador
        9. Minimizar misses de caché L1/L2 críticos
        10. Ajustar tamaño de bloque al tamaño real de la caché
      6. Bloqueo y tiling de bucles
        1. Dividir dominios grandes en sub-bloques (tiles) más pequeños
        2. Ajustar tiles para caber en caché L1/L2
        3. Aplicar tiling en espaciales (x,y,z) y temporal (t)
        4. Evitar traer repetidamente datos fríos desde RAM
        5. Fusionar loops que acceden a las mismas regiones de memoria
        6. Separar loops que destruyen localidad entre datos distintos
        7. Intercambiar orden de iteración para acceso contiguo
        8. Tiling jerárquico en multinivel de caché
        9. Tiling específico para kernels de álgebra lineal
        10. Evaluación del impacto en la vectorización
      7. Reducción de costo de comunicación
        1. Minimizar llamadas MPI punto a punto frecuentes
        2. Usar comunicaciones colectivas eficientes (all-reduce en árbol)
        3. Agrupar mensajes pequeños en buffers más grandes
        4. Evitar sincronizaciones innecesarias entre procesos
        5. Reorganizar el dominio para reducir superficie de intercambio halo
        6. Computar más localmente antes de comunicar
        7. Mantener datos derivados en caché local
        8. Evitar “chatter” entre nodos lejanos
        9. Evaluar topología física de red para mapear procesos
        10. Usar algoritmos con menor complejidad de comunicación global
      8. Solapamiento comunicación / cómputo
        1. Comunicación no bloqueante (MPI Isend/Irecv)
        2. Computar en regiones interiores mientras llegan halos
        3. Pre-post de recepciones antes del cómputo
        4. Pipelines entre etapas de cómputo y transferencia
        5. Offload de comunicación a NICs inteligentes
        6. Uso de streams asíncronos en GPU
        7. Desacoplar threads de comunicación vs threads de cómputo
        8. Máscara de latencia de red con trabajo útil
        9. Solapamiento IO disco ↔ CPU ↔ GPU
        10. Validación de coherencia de datos antes de usar resultados recién llegados
      9. Minimización de sincronizaciones globales
        1. Evitar barreras globales innecesarias
        2. Reemplazar reducciones globales frecuentes por reducciones jerárquicas
        3. Uso de algoritmos asíncronos cuando la física lo permite
        4. Algoritmos tolerantes a retrasos (“latency tolerant”)
        5. Desacoplar pasos de avance de procesos lentos
        6. Relajar sincronía estricta entre subdominios
        7. Técnicas de comunicación eventual en métodos iterativos
        8. Menos global all-reduce en solvers lineales grandes
        9. Aislar nodos lentos sin frenar toda la simulación
        10. Métricas de overhead de sincronización frente a cómputo puro
      10. Escalabilidad paralela y eficiencia
        1. Escalabilidad fuerte vs débil medida empíricamente
        2. Speedup y eficiencia paralela por número de procesos
        3. Detección de pérdida de eficiencia por comunicación
        4. Balanceo dinámico de carga entre procesos/hilos
        5. Análisis de desbalance espacial en dominios físicos
        6. Sensibilidad del rendimiento al tamaño de problema
        7. Saturación de memoria compartida como limitante
        8. Escalado hasta miles de núcleos sin caída abrupta
        9. Identificación de “punto dulce” de escalamiento
        10. Reportes comparables entre arquitecturas distintas
      11. Portabilidad de rendimiento entre arquitecturas
        1. Código que rinde bien en CPU y también en GPU
        2. Uso de capas de abstracción portables (Kokkos, RAJA)
        3. Evitar dependencias rígidas de una sola ISA vectorial
        4. Adaptación a distintos anchos SIMD
        5. Ajuste de tamaño de bloque específico por backend
        6. Minimizar llamadas a librerías propietarias no portables
        7. Autotuning por arquitectura destino
        8. Selección dinámica de kernels especializados en runtime
        9. Mantenimiento de una sola base de código
        10. Validación numérica cruzada entre targets
      12. Auto-tuning y generación de kernels óptimos
        1. Búsqueda automática de parámetros de bloque / tile
        2. Variación sistemática de flags de compilación
        3. Selección adaptativa de algoritmos según tamaño de problema
        4. Mediciones empíricas para elegir la mejor variante
        5. Generación de kernels especializados por hardware
        6. Ajuste dinámico en runtime (JIT tuning)
        7. Almacenamiento de perfiles óptimos para reuso futuro
        8. Exploración heurística/genética de configuraciones
        9. Meta-programación que produce múltiples implementaciones candidatas
        10. Integración con pipelines CI para reevaluar al cambiar hardware
    11. Computación heterogénea y aceleradores
      1. GPU de propósito general
        1. Ejecución masivamente paralela tipo SIMT
        2. Miles de hilos ligeros en paralelo
        3. Memoria global con alta latencia oculta por concurrencia
        4. Memoria compartida rápida por bloque
        5. Uso de kernels especializados para álgebra lineal densa y dispersa
        6. Librerías optimizadas (cuBLAS, cuFFT, cuSPARSE)
        7. Overhead de transferencia host↔device
        8. Streams y concurrencia solapada de kernels
        9. Ajuste fino de occupancy y uso de registros
        10. Escalamiento multi-GPU y comunicación peer-to-peer
      2. Aceleradores matriciales especializados
        1. Tensor cores / matrix cores
        2. Unidades de multiplicación-acumulación masiva
        3. Rendimiento extremo en multiplicación densa de matrices
        4. Precisión reducida (FP16, BF16, INT8) como palanca de performance
        5. Aplicación fuera de IA: álgebra lineal científica clásica
        6. Mapeo de kernels científicos a operaciones de bloques matriciales
        7. Limitaciones cuando la matriz es dispersa/no estructurada
        8. Ajuste de layout de datos para explotar ancho de bloque
        9. Impacto en eficiencia energética (GFLOP/s por watt)
        10. Evolución rápida del hardware entre generaciones
      3. FPGA para cómputo científico
        1. Lógica reconfigurable orientada al problema
        2. Pipelines de datos completamente personalizados
        3. Latencia ultra baja en ciertas operaciones
        4. Paralelismo espacial en vez de temporal
        5. Uso en filtrado de señales, correlaciones masivas, cálculo específico
        6. Ancho de palabra arbitrario (precisión fija optimizada)
        7. Desarrollo complejo (HDL, HLS) y tiempos de síntesis largos
        8. Dificultad de mantenimiento vs GPU programable
        9. Excelente rendimiento/consumo en kernels bien definidos
        10. Integración en nodos HPC especializados
      4. Offloading selectivo de kernels
        1. Identificar kernels altamente paralelizables
        2. Medir si el costo de transferencia compensa la aceleración
        3. Dividir el pipeline en etapas CPU vs GPU/FPGA
        4. Solapar transferencia de datos con cómputo
        5. Evitar offload de rutinas con poco paralelismo
        6. Mantener datos residentes en el acelerador varias etapas
        7. Diseño de interfaces de llamada claras (host → device → host)
        8. Reutilización de buffers en el acelerador
        9. Selección en runtime de a qué acelerador mandar cada kernel
        10. Balancear precisión numérica al migrar kernels sensibles
      5. Modelos de memoria unificada y memory pooling
        1. Memoria unificada CPU/GPU (UMA / UVA)
        2. Acceso compartido a la misma dirección virtual
        3. Migración automática/transparente de páginas de memoria
        4. Reducción del overhead de copias explícitas
        5. Riesgo de accesos remotos con gran latencia
        6. Pool de memoria común entre múltiples GPUs
        7. Coordinación de grandes datasets en nodos heterogéneos
        8. Políticas de colocación preferida (preferred location)
        9. Ajuste fino manual cuando el runtime no decide bien
        10. Interacción con NUMA y memoria cercana a aceleradores
      6. Balanceo dinámico CPU/GPU
        1. Repartir trabajo entre CPU y GPU según carga actual
        2. Detectar desequilibrios entre dispositivos
        3. Mover kernels entre CPU y GPU en ejecución prolongada
        4. Adaptar granularidad del trabajo para mejor overlap
        5. Coordinar uso de memoria compartida y cachés
        6. Evitar que la GPU quede ociosa esperando a la CPU (y viceversa)
        7. Modelos de predicción de tiempo de ejecución por kernel
        8. Scheduling consciente del costo de transferencia de datos
        9. Priorización de etapas críticas en el acelerador más rápido
        10. Ajustes en caliente según telemetría de rendimiento
      7. Co-scheduling de múltiples aceleradores
        1. Nodos con varias GPUs trabajando en paralelo coordinado
        2. Pipeline por etapas (GPU A → GPU B)
        3. Reparto de subdominios espaciales entre aceleradores
        4. Comunicación directa GPU↔GPU sin pasar por CPU
        5. Minimizar congestión del bus de interconexión
        6. Sincronización ligera entre aceleradores
        7. Replicación de datos comunes en varias GPUs
        8. Balance de carga entre GPUs heterogéneas (diferentes generaciones)
        9. Evitar starvation de un acelerador lento que frena toda la cadena
        10. Telemetría multinodo para ajustar distribución de trabajo
      8. Estrategias NUMA-aware en nodos heterogéneos
        1. Entender dominios NUMA internos del nodo (sockets múltiples)
        2. Asignar hilos cerca de la memoria que usan
        3. Colocar buffers GPU en la memoria más cercana a esa GPU
        4. Evitar saltos inter-socket de alta latencia
        5. Afinidad de IRQ/red hacia el socket correcto
        6. Política “first touch” para inicializar memoria en el nodo adecuado
        7. Migración dinámica de memoria NUMA mal colocada
        8. Monitorizar contadores NUMA miss
        9. Ajustar topología de procesos MPI dentro del nodo
        10. Combinar NUMA-awareness con pinning de hilos y afinidad GPU
      9. Codiseño hardware-software
        1. Ajustar algoritmos numéricos al hardware disponible
        2. Cambiar discretización para favorecer acceso contiguo a datos
        3. Reformular kernels para usar aceleradores matriciales
        4. Especializar precisión numérica para ahorrar energía
        5. Integrar hardware emergente (neuromórfico, óptico) en flujos científicos
        6. Feedback iterativo entre equipo de hardware y equipo de simulación
        7. Automatización de generación de kernels específicos de plataforma
        8. Minimizar movimiento de datos como objetivo de diseño inicial
        9. Diseñar librerías reutilizables paramétricas por arquitectura
        10. Anticipar escalamiento a arquitecturas exascale heterogéneas
    12. Métodos estocásticos y muestreo masivo
      1. Monte Carlo clásico
        1. Muestreo aleatorio independiente de configuraciones/estados
        2. Estimación de integrales de alta dimensión
        3. Ley de los grandes números como base de convergencia
        4. Error estadístico ~ 1/sqrt(N)
        5. Variance reduction (control variates, antithetic sampling)
        6. Importancia de generadores aleatorios de alta calidad
        7. Paralelización trivial repartiendo semillas distintas
        8. Aplicación en transporte de radiación, finanzas cuantitativas, difusión
        9. Detección de convergencia estable de estimadores
        10. Almacenamiento y reproducibilidad de semillas iniciales
      2. Monte Carlo de cadenas de Markov (MCMC)
        1. Construcción de una cadena que converge a la distribución objetivo
        2. Métodos de Metropolis-Hastings
        3. Gibbs sampling
        4. Mezcla (mixing) y tiempo de autocorrelación
        5. Burn-in y descarte de muestras iniciales
        6. Diagnóstico de convergencia de múltiples cadenas
        7. MCMC paralelo: cadenas independientes y análisis combinado
        8. Hamiltonian / Hybrid Monte Carlo para saltar regiones de baja probabilidad
        9. Uso en inferencia bayesiana de parámetros complejos
        10. Costos de evaluación de la función de probabilidad objetivo
      3. Muestreo de Importancia y reponderación
        1. Muestreo según una distribución propuesta fácil de simular
        2. Reponderación (weights) para estimar la distribución objetivo real
        3. Reducción de varianza enfocando en regiones relevantes
        4. Degeneración de pesos (pocos pesos dominan)
        5. Normalización numérica estable de pesos
        6. Uso en integración de alta dimensión con colas pesadas
        7. Sequential Importance Sampling (SIS)
        8. Particle filters en sistemas dinámicos
        9. Resampling estratificado / sistemático
        10. Aplicaciones en seguimiento probabilístico de estados ocultos
      4. Cuasi-Monte Carlo y secuencias de baja discrepancia
        1. Uso de secuencias deterministas (Sobol, Halton)
        2. Cobertura más uniforme del espacio de integración
        3. Convergencia potencialmente más rápida que 1/sqrt(N)
        4. Importancia de la dimensión efectiva del problema
        5. Scrambling aleatorio para estimar error estadístico
        6. Alineación de ejes y correlaciones entre dimensiones
        7. Rendimiento en pricing financiero y problemas suaves
        8. Limitaciones en problemas altamente discontinuos
        9. Paralelización conservando las propiedades de baja discrepancia
        10. Interacción con técnicas de reducción de varianza clásicas
      5. Rare-event sampling y métodos de eventos raros
        1. Estimación de probabilidades extremadamente bajas
        2. Splitting / branching de trayectorias prometedoras
        3. Importance sampling dirigido a colas extremas
        4. Accelerated Monte Carlo para choques muy improbables
        5. Técnicas de genealogía de trayectorias
        6. Aplicaciones en confiabilidad estructural y riesgo extremo
        7. Estimación de tiempos de fallo en ingeniería
        8. Simulación de catástrofes naturales o nucleares poco frecuentes
        9. Control estricto de error estadístico en colas
        10. Validación de resultados con métodos analíticos aproximados
      6. Análisis de incertidumbre y propagación de errores estadísticos
        1. Propagar incertidumbre de parámetros de entrada
        2. Barridos estadísticos de sensibilidad paramétrica
        3. Métodos no intrusivos basados en muestreo
        4. Cuantificación de intervalo de confianza en salidas físicas
        5. Estimación de correlaciones entre parámetros de entrada y métricas de salida
        6. Métodos polinomiales de Caos Generalizado (gPC)
        7. Reducción de dimensionalidad en el espacio de incertidumbre
        8. Visualización de superficies de respuesta probabilísticas
        9. Comparación entre incertidumbre numérica vs incertidumbre física real
        10. Uso en certificación de modelos predictivos
      7. Inferencia bayesiana computacional de gran escala
        1. Evaluación de posteriori en modelos complejos con datos masivos
        2. MCMC a gran escala distribuido
        3. Variational Inference como aproximación determinista
        4. Métodos Laplace y Gaussian approximation alrededor del modo
        5. SMC (Sequential Monte Carlo) para inferencia dinámica
        6. Amortized inference con redes neuronales que aproximan posteriori
        7. Uso de GPUs para evaluar likelihood y gradientes masivos
        8. Factorización de la verosimilitud para datos particionados
        9. Cálculo de evidencia / Bayes factors
        10. Trazabilidad de incertidumbre en parámetros inferidos
      8. Simulación de ensambles y métodos de réplicas
        1. Simulación simultánea de múltiples copias del sistema (réplicas)
        2. Réplica-exchange / parallel tempering para cruzar barreras de energía
        3. Ensambles canónicos, isobáricos, gran canónicos simultáneos
        4. Exploración de paisajes energéticos rugosos
        5. Intercambio controlado de temperatura / presión entre réplicas
        6. Aceleración del muestreo de estados metaestables raros
        7. Estimación robusta de propiedades termodinámicas globales
        8. Identificación de transiciones de fase y estados intermedios
        9. Uso intensivo de paralelismo masivo (cada réplica en un nodo distinto)
        10. Análisis posterior conjunto para promediar observables entre réplicas
    13. Optimización matemática de gran escala
      1. Programación lineal
        1. Problemas lineales en forma estándar (minimizar cᵀx sujeto a Ax = b, x ≥ 0)
        2. Método símplex y variantes revisadas para alta dimensión
        3. Métodos de punto interior aplicados a programación lineal
        4. Escalamiento y normalización de restricciones para estabilidad numérica
        5. Descomposición de Dantzig-Wolfe y Benders para problemas estructurados grandes
        6. Relajaciones lineales de problemas enteros/mixtos
        7. Uso de PL en logística, planificación de recursos y flujo en redes
        8. Resolución distribuida y paralelizada de PL gigantes (millones de variables)
        9. Calentamiento de arranque (warm start) entre iteraciones sucesivas
        10. Sensibilidad y análisis de dualidad (precios sombra)
      2. Programación cuadrática
        1. Problemas con función objetivo cuadrática convexa y restricciones lineales
        2. QP estrictamente convexa vs indefinida
        3. Métodos activos de restricción (active set methods)
        4. Métodos de punto interior especializados en QP
        5. QP en control predictivo basado en modelo (MPC)
        6. Penalización cuadrática y regularización L2
        7. Uso en ajuste de portafolios, control, ajuste de curvas suaves
        8. Reducción de QP grandes a subconjuntos activos relevantes
        9. Aproximación de problemas no lineales locales como QP sucesivos (SQP)
        10. Solución en hardware acelerado (GPU/FPGA) para control en tiempo real
      3. Métodos de punto interior
        1. Barreras logarítmicas para mantener factibilidad estricta
        2. Trayectoria central y seguimiento de la curva óptima
        3. Resolución repetida de sistemas lineales tipo KKT
        4. Precondicionadores para sistemas lineales mal condicionados
        5. Escalabilidad a problemas con millones de variables y restricciones
        6. Paralelización de factorizaciones lineales internas
        7. Métricas de convergencia primal-dual
        8. Warm start entre problemas cercanos en simulaciones iterativas
        9. Estabilidad numérica en presencia de restricciones muy rígidas
        10. Aplicación en planificación energética, telecomunicaciones, enrutamiento
      4. Optimización no lineal sin restricciones
        1. Métodos de descenso de gradiente clásico
        2. Descenso de gradiente con paso adaptativo (line search, backtracking)
        3. Métodos de segundo orden (Newton puro)
        4. Newton amortiguado / Levenberg-Marquardt
        5. Métodos quasi-Newton sin Hessiana explícita
        6. Búsqueda en dirección conjugada
        7. Detección de mínimos locales vs sillas
        8. Condicionamiento del problema y escalamiento de variables
        9. Paralelización del cálculo de gradientes en HPC
        10. Evaluación masiva de la función objetivo en simulaciones de física
      5. Optimización con restricciones
        1. Formulación con restricciones de igualdad y desigualdad
        2. Multiplicadores de Lagrange
        3. Métodos de penalización y barrera
        4. Métodos de Augmented Lagrangian
        5. Sequential Quadratic Programming (SQP)
        6. Proyección sobre el conjunto factible
        7. Manejo de restricciones físicas duras (conservación de masa, energía)
        8. Inviabilidad numérica y relajación suave de restricciones
        9. Uso de lagrangianos distribuidos en HPC
        10. Escalabilidad en problemas con muchas restricciones acopladas
      6. Métodos de descenso de gradiente a gran escala
        1. Gradiente puro con pasos pequeños
        2. Gradiente con momento / momentum
        3. Gradiente acelerado tipo Nesterov
        4. Gradiente estocástico y mini-batch para datasets masivos
        5. Adaptación de tasa de aprendizaje (RMSProp, Adam en contextos científicos)
        6. Preacondicionamiento del gradiente
        7. Reducción de comunicación en gradiente distribuido (all-reduce eficiente)
        8. Cuantización / compresión de gradientes
        9. Métodos de gradiente en entornos de memoria limitada
        10. Estabilidad numérica al usar precisión reducida en GPU
      7. Métodos quasi-Newton y BFGS limitado
        1. BFGS como aproximación iterativa a la Hessiana inversa
        2. L-BFGS para problemas de muy alta dimensión (memoria acotada)
        3. Actualizaciones rank-1 / rank-2 de aproximaciones de Hessiana
        4. Superar el costo del cálculo Hessiano exacto
        5. Buenas propiedades de convergencia superlineal
        6. Uso frecuente en ajuste de parámetros científicos
        7. Tolerancia a ruido en evaluación de gradiente
        8. Implementación distribuida de L-BFGS
        9. Aceleración combinando L-BFGS con precondicionadores físicos
        10. Comparación con métodos puramente de gradiente en problemas rígidos
      8. Descomposición por bloques y coordenadas alternadas
        1. Optimización de subconjuntos de variables mientras las demás quedan fijas
        2. Métodos de coordenadas cíclicos vs aleatorios
        3. Block Coordinate Descent (BCD) para variables agrupadas
        4. Alternating Direction Method of Multipliers (ADMM)
        5. Separación natural en problemas con estructura espacial o física
        6. Computación distribuida asignando bloques a distintos nodos
        7. Convergencia en problemas convexos y no convexos
        8. Uso en problemas de imagen, tomografía, reconstrucción inversa
        9. Ajuste incremental en pipelines iterativos grandes
        10. Facilidad de paralelización cuando los bloques se desacoplan débilmente
      9. Métodos distribuidos y consenso
        1. Descomposición del problema global en subproblemas locales
        2. Consenso iterativo entre nodos para acordar variables compartidas
        3. Intercambio de información parcial entre subproblemas (no compartir todo)
        4. ADMM distribuido en clusters HPC
        5. Robustez frente a fallos parciales de nodos
        6. Reducción de latencia de sincronización global
        7. Escalamiento horizontal con más nodos de cómputo
        8. Aproximaciones descentralizadas sin coordinador único
        9. Métodos tolerantes a comunicación ruidosa o retrasada
        10. Aplicación en redes eléctricas, optimización de tráfico, control distribuido
      10. Control óptimo numérico
        1. Formulación de problemas de control óptimo continuo y discreto
        2. Discretización temporal y espacial del sistema dinámico
        3. Pontryagin y condiciones de optimalidad
        4. Control predictivo basado en modelo (MPC) resuelto en línea
        5. Resolución repetida de problemas QP/LP a cada paso de control
        6. Control de sistemas rígidos y no lineales
        7. Adjoint methods para obtener gradientes respecto a las entradas de control
        8. Optimización en lazo cerrado con restricciones físicas críticas
        9. Uso de hardware acelerado para control en tiempo real
        10. Integración con simuladores físicos de alta fidelidad
      11. Problemas inversos y ajuste de parámetros físicos
        1. Estimar parámetros desconocidos a partir de observaciones experimentales
        2. Ajuste de modelos PDE/EDP a datos reales
        3. Métodos adjuntos para calcular gradientes eficientes
        4. Regularización (L2, L1, Tikhonov) para estabilizar soluciones
        5. Inversión sísmica, tomografía médica, reconstrucción de imágenes
        6. Identificación de condiciones iniciales / de frontera desconocidas
        7. Sensibilidad y multiplicidad de soluciones
        8. Uso de métodos bayesianos para cuantificar incertidumbre
        9. Ejecución iterativa acoplada simulación ↔ optimización
        10. Escalamiento a alta dimensión espacial y temporal
    14. Ciencia de datos a gran escala en HPC
      1. Preprocesamiento masivo de datos científicos
        1. Limpieza de datos brutos provenientes de sensores / simulaciones
        2. Detección y eliminación de valores atípicos / corruptos
        3. Sincronización temporal de múltiples fuentes de medición
        4. Re-muestreo y alineamiento espacial de mallas / grids
        5. Normalización de unidades físicas y escalas
        6. Manejo de datos faltantes y reconstrucción
        7. Conversión entre formatos científicos (NetCDF, HDF5, Parquet)
        8. Paralelización de ETL científico en clúster
        9. Control de versiones de datasets intermedios
        10. Trazabilidad de transformaciones (data lineage)
      2. Limpieza y normalización de datos experimentales
        1. Calibración de instrumentos y sensores
        2. Sustracción de ruido de fondo
        3. Corrección de deriva y bias sistemático
        4. Fusión de datos de distintos experimentos / corridas
        5. Eliminación de artefactos numéricos o de medición
        6. Escalamiento por rango, z-score, normalización física
        7. Alineamiento espacial/temporal de datos heterogéneos
        8. Validación automatizada de calidad de datos
        9. Etiquetado confiable de metadatos
        10. Generación de datasets “curados” reutilizables
      3. Reducción de dimensionalidad y compresión
        1. PCA / SVD para capturar modos dominantes
        2. Autovectores y descomposiciones espectrales de campos físicos
        3. Compresión con pérdida controlada en simulaciones volumétricas
        4. Compresión específica de dominio (por ejemplo, wavelets)
        5. Mapas de baja dimensión para visualización científica
        6. Autoencoders entrenados en HPC
        7. Separación señal/ruido mediante modos principales
        8. Almacenamiento de snapshots reducidos para análisis posterior
        9. Trade-off entre compresión y errores inducidos
        10. Streaming de datos comprimidos entre nodos para análisis distribuido
      4. Análisis de series temporales de alta resolución
        1. Señales multicanal a alta frecuencia de muestreo
        2. Filtrado espectral y análisis en frecuencia/onda
        3. Cross-correlation y cross-spectral analysis entre sensores
        4. Detección de eventos transitorios poco frecuentes
        5. Modelos autorregresivos y VAR multivariados
        6. Predicción temporal con redes recurrentes / Transformers
        7. Segmentación automática en fases/regímenes dinámicos
        8. Detección de deriva lenta vs cambios abruptos
        9. Paralelización del análisis temporal en ventanas
        10. Almacenamiento indexado por tiempo para acceso rápido
      5. Pipelines de análisis batch y streaming científicos
        1. Procesamiento batch de simulaciones completas ya finalizadas
        2. Procesamiento near real-time de resultados parciales
        3. Flujos tipo “simular → analizar → decidir → retroalimentar simulación”
        4. Tolerancia a fallos y reanudación de pipelines largos
        5. Orquestación distribuida en clúster HPC
        6. Encadenamiento de etapas heterogéneas (simulación Fortran, análisis Python)
        7. Buffers compartidos en memoria de alta velocidad
        8. Persistencia intermedia mínima para bajar latencia
        9. Alertas/umbrales automáticos al detectar comportamientos críticos
        10. Auditoría de pasos y resultados intermedios
      6. Visualización científica de alto rendimiento
        1. Renderizado paralelo de volúmenes 3D / campos vectoriales
        2. Ray tracing científico para estructuras complejas
        3. Visualización “in situ” (sin escribir todos los datos a disco)
        4. Exploración interactiva de resultados masivos en remoto
        5. Submuestreo inteligente y refinamiento adaptativo
        6. Extracción de isosuperficies y líneas de corriente
        7. Visualización multi-escala (zoom desde macro a micro)
        8. Pipelines GPU para post-procesamiento visual
        9. Exportación de imágenes/animaciones de alta fidelidad
        10. Análisis colaborativo visual entre varios usuarios
      7. Gestión de datasets masivos y movimiento de datos
        1. Organización de petabytes de resultados de simulación
        2. Almacenamiento jerárquico (rápido vs archivo frío)
        3. Catalogación y metadatos buscables
        4. Minimizar transfers entre centros de cómputo
        5. Políticas de retención y expiración de datos antiguos
        6. Planificación de ancho de banda para mover datos de experimento a HPC
        7. Prefetch de datos necesarios para etapas siguientes
        8. Replicación geográfica para resiliencia
        9. Encriptación y cumplimiento normativo en tránsito
        10. Costos de IO vs costo de recomputar
      8. Indexación eficiente de resultados de simulación
        1. Indexación multimensional de campos físicos (x,y,z,t)
        2. Indexación espacial jerárquica (árboles octree / kd-tree)
        3. Catálogos consultables por rango de parámetros
        4. Búsqueda rápida de instantáneas con propiedades específicas
        5. Metadatos ricos (condiciones iniciales, constantes físicas)
        6. Etiquetado semántico de regiones de interés (por ejemplo, choque, fractura)
        7. Indexación compatible con visualización interactiva
        8. Uso de formatos autocontenidos (HDF5 con metadata)
        9. Precomputo de agregados estadísticos por bloque espacial
        10. APIs de consulta para análisis colaborativo entre equipos
      9. Exploración interactiva en entornos de supercómputo
        1. Acceso remoto a nodos de visualización con GPU
        2. Notebooks científicos conectados al clúster HPC
        3. Exploración de parámetros en vivo sin relanzar simulación completa
        4. Dashboards en tiempo (casi) real de evolución de la simulación
        5. Muestreo adaptativo de regiones interesantes del dominio físico
        6. Comparación lado a lado de distintas corridas / configuraciones
        7. Colaboración multiusuario observando el mismo dataset
        8. Resumen estadístico inmediato al explorar regiones
        9. Protección de datos sensibles en sesiones interactivas
        10. Generación rápida de reportes técnicos reproducibles
    15. Aprendizaje automático acelerado en HPC
      1. Entrenamiento distribuido de modelos profundos
        1. Sincronización de gradientes entre múltiples nodos (data parallel)
        2. All-reduce optimizado y jerárquico
        3. Entrenamiento en clúster con decenas o cientos de GPUs
        4. Checkpointing distribuido tolerante a fallos
        5. Reanudación tras caída de nodos
        6. Uso de redes de baja latencia para sincronización
        7. Mixed precision training (FP16/BF16) para acelerar cómputo
        8. Overlap de comunicación-gradiente con el cómputo forward/backward
        9. Control de desbalance entre GPUs heterogéneas
        10. Escalabilidad a modelos de miles de millones de parámetros
      2. Paralelismo de datos
        1. Cada réplica del modelo procesa un subconjunto distinto del batch
        2. Agregación de gradientes entre réplicas
        3. Tamaños de batch enormes para explotar todo el clúster
        4. Ajuste de tasa de aprendizaje al tamaño de batch
        5. Corrección de sesgo al escalar batch size
        6. Minimizar variabilidad estadística en batches gigantes
        7. Sharding eficiente de datos de entrenamiento
        8. Carga de datos distribuida sin cuello de botella de IO
        9. Data augmentation paralela
        10. Reproducibilidad entre corridas masivas
      3. Paralelismo de modelo
        1. Dividir el modelo entre múltiples dispositivos (model parallel)
        2. Partición por capas profundas consecutivas
        3. Partición por dimensión interna (tensor/model parallel)
        4. Sincronización de activaciones y gradientes entre particiones
        5. Minimizar el volumen de comunicación entre particiones
        6. Alineación de la topología de red física con la partición del modelo
        7. Manejo de capas gigantes que no caben en una sola GPU
        8. Entrenamiento de modelos de gran escala (transformers enormes)
        9. Balance de carga entre fragmentos del modelo
        10. Depuración de errores en forward/backward distribuido
      4. Paralelismo de pipeline
        1. Dividir el modelo en etapas secuenciales como una línea de ensamblaje
        2. Microbatches que fluyen a lo largo del pipeline
        3. Ejecución en “streaming” de forward y backward
        4. Minimizar burbujas (tiempo muerto entre etapas)
        5. Coordinación precisa de tiempos entre etapas
        6. Combinación con paralelismo de datos y de modelo
        7. Ajuste dinámico del tamaño de microbatch
        8. Recuperación tras fallo de una etapa del pipeline
        9. Medición de throughput del pipeline completo
        10. Escalado a pipelines con muchas etapas distribuidas en varios nodos
      5. Técnicas mixtas de paralelismo
        1. Combinación de paralelismo de datos + modelo + pipeline
        2. Diseño de mallas lógicas de GPUs/NICs para sincronización eficiente
        3. Sharding de parámetros en paralelo de datos
        4. Replicación parcial de capas críticas
        5. Mezcla de precisiones numéricas según la capa
        6. Fusión de comunicaciones para reducir overhead
        7. Checkpointing parcial por grupo paralelo
        8. Escalamiento de modelos tipo foundation models
        9. Balance entre complejidad operativa y ganancia de velocidad
        10. Automatización de estrategias híbridas en frameworks modernos
      6. Compiladores de grafos y optimizadores de kernels
        1. Fusión automática de operadores para minimizar tráfico de memoria
        2. Reordenamiento de operaciones para mejor localidad
        3. Generación de kernels especializados por hardware (codegen)
        4. Reducción de overhead de lanzamiento de kernels en GPU
        5. Planificación de ejecución para maximizar ocupación de GPU
        6. Cuantización y poda integradas en el grafo computacional
        7. Auto-tuning de tamaños de bloque y tiling
        8. Selección automática de primitivas de álgebra lineal óptimas
        9. Ajuste a aceleradores matriciales específicos
        10. Exportación a runtimes ligeros para inferencia
      7. Modelos informados por física (physics-informed ML)
        1. Redes neuronales que incorporan leyes físicas (conservación, simetrías)
        2. Penalización de violaciones de ecuaciones diferenciales en la pérdida
        3. Aceleración de simulaciones resolviendo aproximaciones aprendidas
        4. Estimación de campos continuos (presión, velocidad, temperatura)
        5. Aprendizaje de cierres (closures) en modelos de turbulencia
        6. Incorporación de invariantes físicos (energía, masa, momento)
        7. Validación física además de métrica estadística
        8. Reducción de costo de simulaciones de alta fidelidad
        9. Uso en problemas inversos con datos parciales
        10. Acoplamiento bidireccional simulación <-> red neuronal
      8. Surrogates y emuladores de simulaciones costosas
        1. Modelos aproximados (surrogates) que reemplazan una simulación completa
        2. Entrenamiento supervisado con datos de simuladores caros
        3. Evaluación ultrarrápida para exploración paramétrica
        4. Optimización y calibración usando surrogate en vez del solver físico
        5. Emulación estadística con Gaussian Processes / modelos profundos
        6. Redes reducidas para aproximar dinámica compleja
        7. Validación de fidelidad vs simulador base
        8. Cuantificación de incertidumbre del surrogate
        9. Uso en diseño de experimentos y control en línea
        10. Actualización incremental del surrogate con nuevos datos
      9. Inferencia optimizada de baja latencia
        1. Compilación del modelo para inferencia (TensorRT, XLA, etc.)
        2. Cuantización a baja precisión para acelerar inferencia
        3. Podado (pruning) de pesos y compresión estructurada
        4. Batch pequeño vs batch grande según latencia objetivo
        5. Inferencia distribuida en varias GPUs para throughput
        6. Pipeline de inferencia cerca del borde (edge HPC / centros de datos científicos)
        7. Minimización de transferencias CPU↔GPU durante inferencia
        8. Colocación óptima del modelo en nodos con aceleradores
        9. Monitoreo de latencia en ambientes de misión crítica
        10. Reconfiguración dinámica del runtime según carga
      10. AutoML y búsqueda de arquitecturas en HPC
        1. Búsqueda automática de hiperparámetros a gran escala
        2. Búsqueda neural architecture search (NAS) distribuida
        3. Evaluación paralela masiva de configuraciones candidate
        4. Reutilización de pesos (weight sharing) para acelerar NAS
        5. Selección multicriterio (precisión, costo computacional, energía)
        6. Checkpointing intermedio de candidatos prometedores
        7. Priorización inteligente usando modelos tipo bandit/bayesianos
        8. Uso de GPUs/TPUs a escala para barrer el espacio arquitectural
        9. Persistencia y comparación histórica de arquitecturas probadas
        10. Generación de modelos a medida del dominio físico específico
    16. Verificación, validación y reproducibilidad científica
      1. Verificación numérica de solvers
        1. Comparación con soluciones analíticas conocidas
        2. Convergencia de orden esperado bajo refinamiento de malla/paso de tiempo
        3. Conservación de invariantes físicos (masa, energía, momento)
        4. Análisis de estabilidad numérica en integración temporal
        5. Detección de drift numérico en simulaciones largas
        6. Chequeo de sensibilidad ante pequeñas variaciones del paso
        7. Comparación de precisión simple vs doble
        8. Cross-check entre formulaciones equivalentes del mismo operador
        9. Uso de problemas sintéticos controlados para depuración
        10. Pruebas de regresión numérica automatizadas
      2. Validación física frente a datos experimentales
        1. Comparación directa simulación vs medición real
        2. Calibración de parámetros físicos libres
        3. Ajuste de condiciones de frontera a ensayos experimentales
        4. Cuantificación de error relativo y absoluto
        5. Análisis de incertidumbre experimental vs incertidumbre numérica
        6. Evaluación de predicción fuera del rango medido
        7. Validación cruzada entre laboratorios / experimentos
        8. Ciclo iterativo “predecir → medir → refinar modelo”
        9. Identificación de física faltante (p.ej. disipación no modelada)
        10. Aceptación del modelo para uso ingenieril / regulatorio
      3. Comparación cruzada entre códigos independientes
        1. Ejecutar el mismo caso físico con distintos códigos/simuladores
        2. Asegurar consistencia de resultados clave (curvas, tensiones, campos)
        3. Evaluar diferencias numéricas por discretización (FEM vs FDM vs FV)
        4. Análisis de dependencia en el mallado
        5. Benchmarking con códigos de referencia de la comunidad
        6. Identificación de bugs por divergencias sistemáticas
        7. Uso en validación de nuevos métodos numéricos
        8. Documentación de discrepancias aceptables
        9. Generación de “casos patrón” para regresión futura
        10. Publicación conjunta de resultados comparativos
      4. Benchmarks y suites de referencia comunitarias
        1. Casos estándar compartidos en la disciplina (lid-driven cavity, canal turbulento, etc.)
        2. Datos base aprobados por la comunidad científica
        3. Métricas de error y figuras de mérito acordadas
        4. Repetibilidad de setup, malla, parámetros
        5. Rankings de desempeño numérico y eficiencia HPC
        6. Evolución histórica del benchmark para nuevas físicas
        7. Uso en propuestas de financiamiento / validación de código
        8. Inclusión de casos extremos (alta Re, no linealidades fuertes)
        9. Comparación entre hardware (CPU vs GPU vs aceleradores)
        10. Curación de benchmarks abiertos y accesibles
      5. Control de versiones de simulaciones y parámetros
        1. Versionado de input decks / archivos de configuración
        2. Registro de la versión exacta del código fuente
        3. Hashes/verificación criptográfica de binarios ejecutados
        4. Historial de parámetros físicos y numéricos
        5. Trazabilidad de cada resultado a su commit/tag
        6. Control de cambios graduales en el modelo físico
        7. Gestión de branches específicos para estudios científicos
        8. Congelamiento de configuraciones para publicaciones
        9. Reproducibilidad temporal (poder re-correr meses después)
        10. Integración con sistemas de control de versiones (Git) y metadatos científicos
      6. Gestión de semillas aleatorias y estados iniciales
        1. Registro explícito de semillas RNG
        2. Reproducibilidad de corridas estocásticas
        3. Uso de secuencias deterministas en entornos paralelos
        4. Control de streams de aleatoriedad por proceso MPI / GPU
        5. Evitar colisión de semillas entre nodos
        6. Trazabilidad de estados iniciales generados aleatoriamente
        7. Repetibilidad estadística para validar hallazgos
        8. Estimación de varianza entre corridas idénticas salvo RNG
        9. Validación de robustez frente a diferentes semillas
        10. Publicación de semillas usadas en resultados finales
      7. Bitácoras experimentales y trazabilidad completa
        1. Registro estructurado de cada corrida (input, versión, hora, nodo)
        2. Metadatos de hardware y topología de ejecución
        3. Logs de entorno (módulos cargados, variables de entorno)
        4. Captura automática de performance y recursos usados
        5. Registro de fallos y reinicios
        6. Asociación entre corrida y análisis posterior
        7. Bitácora tipo “laboratorio” digital y consultable
        8. Evidencia auditable para artículos científicos
        9. Cumplimiento de políticas de laboratorio / centro HPC
        10. Soporte a revisores externos
      8. Publicación de datasets reproducibles
        1. Liberar campos simulados / mediciones experimentales sin procesar
        2. Adjuntar scripts de post-procesamiento
        3. Documentar formato, unidades y mallas
        4. Licenciamiento y políticas de acceso abierto / restringido
        5. DOIs y citabilidad académica
        6. Versionado del dataset publicado
        7. Subconjuntos reducidos para descarga práctica
        8. Inclusión de incertidumbre asociada
        9. Curación en repositorios institucionales / comunitarios
        10. Reusabilidad por otros grupos de investigación
      9. Replicación de resultados publicados
        1. Re-ejecución independiente del experimento numérico original
        2. Reproducción del análisis estadístico / gráfico
        3. Comparación de métricas clave y conclusiones científicas
        4. Identificación de dependencias ocultas o supuestos no declarados
        5. Validación de afirmaciones antes de basar trabajo futuro en ellas
        6. Incentivos académicos a la replicación
        7. Reportes de reproducibilidad como material suplementario
        8. Cultura de resultados verificables, no solo “impresionantes”
        9. Compartición de pipelines CI científicos que regeneran figuras
        10. Refuerzo de confianza en simulaciones predictivas de alto impacto
    17. Metodologías de desarrollo de software científico
      1. Diseño modular y orientado a componentes físicos
        1. Separar fenómenos físicos (fluido, calor, química) en módulos claros
        2. Interfaces explícitas entre módulos acoplados
        3. Reemplazo de submodelos sin reescribir todo el solver
        4. Reutilización de módulos entre proyectos distintos
        5. Evitar dependencias circulares entre componentes físicos
        6. Control de versiones por módulo físico
        7. Claridad entre “modelo físico” y “infraestructura numérica”
        8. Posibilidad de probar cada módulo de forma aislada
        9. Desacople entre física y hardware específico
        10. Facilitar contribuciones de especialistas de dominio
      2. Separación entre física, discretización y solver
        1. Capa física continua (leyes PDE / EDP)
        2. Capa de discretización (FEM, FDM, FV)
        3. Capa de resolución algebraica (solvers lineales / no lineales)
        4. Intercambiabilidad de solvers sin cambiar la física base
        5. Comparación objetiva entre discretizaciones distintas
        6. Tuning independiente de la parte algebraica
        7. Limpieza conceptual para depurar
        8. Portabilidad del solver a nuevas arquitecturas
        9. Mejora incremental de cada capa sin romper las otras
        10. Reutilización del solver en múltiples dominios físicos
      3. Testing automatizado para kernels numéricos
        1. Tests unitarios de kernels matemáticos críticos
        2. Tests de regresión numérica (comparar con resultados previos)
        3. Tests de conservación/invariantes físicos
        4. Tests de convergencia de orden conocido
        5. Tests de estabilidad bajo pasos extremos
        6. Tests con precisión simple vs doble
        7. Tests en CPU y GPU para validar equivalencia
        8. Tests deterministas para reproducibilidad
        9. Tests de rendimiento mínimo aceptable
        10. Integración automática de tests en CI
      4. Validación continua y pipelines de CI científicos
        1. CI que ejecuta simulaciones reducidas de referencia
        2. Comparación automática con resultados esperados tolerancia ε
        3. Alertas cuando se rompe estabilidad numérica o conservación
        4. Generación de artefactos (figuras, métricas) como parte del CI
        5. Publicación de reportes CI accesibles al equipo científico
        6. Uso de contenedores/entornos fijos para CI reproducible
        7. Control de dependencias numéricas (librerías BLAS/MPI)
        8. Versionado de hardware virtualizado / emulado en CI
        9. CI con pruebas en GPU/accelerators
        10. Bloquear merges que degraden validación física clave
      5. Refactorización dirigida por rendimiento
        1. Identificación de kernels cuello de botella antes de refactorizar
        2. Limpieza de código orientada a vectorización / paralelización
        3. Remover abstracciones que impiden optimización crítica
        4. Mantener claridad científica pese a micro-optimizaciones
        5. Establecer métricas de performance objetivo
        6. Iteraciones guiadas por perfilado objetivo, no intuición
        7. Documentar el impacto de cada refactor sobre rendimiento
        8. Evitar regresiones numéricas tras refactor
        9. Balance entre legibilidad y velocidad extrema
        10. Minimizar la deuda técnica “de rendimiento”
      6. Documentación técnica y manuales de usuario científico
        1. Documentar supuestos físicos y rangos de validez
        2. Documentar ecuaciones discretizadas exactamente usadas
        3. Manual de entrada/salida (input decks, formatos de resultados)
        4. Guía de compilación e instalación en distintos clusters
        5. Ejemplos mínimos reproducibles
        6. Árbol de dependencias externas (MPI, BLAS, etc.)
        7. Advertencias sobre condiciones de borde delicadas
        8. Buenas prácticas de post-procesamiento
        9. Notas de versión con cambios científicos relevantes
        10. FAQ de estabilidad numérica y tuning
      7. Notebooks reproducibles y cuadernos ejecutables
        1. Uso de notebooks (Jupyter, etc.) enlazados a datos y código concretos
        2. Ejecución paso a paso documentada
        3. Captura de parámetros y resultados intermedios
        4. Generación automática de figuras para papers
        5. Comparación visual entre corridas
        6. Reproducibilidad del entorno (requirements, environment.yml)
        7. Compartición entre investigadores sin recompilar todo
        8. Versionado de notebooks como artefactos científicos
        9. Conversión a reportes PDF/HTML para difusión
        10. Riesgos de “código mutable” y necesidad de sellar versiones
      8. Automatización de campañas de simulación
        1. Barrido sistemático de parámetros (sweeps)
        2. Lanzamiento masivo de jobs en colas HPC
        3. Recolección automática de resultados y métricas clave
        4. Reintentos automáticos en caso de fallo de nodo
        5. Trazabilidad de qué job corresponde a qué punto en el espacio de parámetros
        6. Optimización adaptativa guiada por resultados previos
        7. Priorización dinámica de regiones “interesantes”
        8. Generación de mapas de fase / diagramas paramétricos
        9. Limpieza automática de resultados parciales corruptos
        10. Reportes ejecutivos de avance de campaña
      9. Gestión de configuraciones y barridos de parámetros
        1. Definir claramente parámetros físicos vs parámetros numéricos
        2. Plantillas de configuración con placeholders
        3. Versionado de cada set de parámetros probado
        4. Almacenamiento estructurado (YAML/JSON) para reproducibilidad
        5. Comparación automática entre configuraciones cercanas
        6. Rastreo de sensibilidad de cada parámetro
        7. Evitar combinaciones físicamente inválidas
        8. Reutilización de configuraciones históricas validadas
        9. Reanálisis rápido de configuraciones antiguas con hardware nuevo
        10. Generación automática de documentación del barrido
      10. Portabilidad entre supercómputo on-premise y entornos de investigación
        1. Empaquetar solvers y dependencias en contenedores reproducibles
        2. Adaptar a colas/planificadores distintos (SLURM vs PBS vs LSF)
        3. Asegurar que el código escala también en hardware académico más pequeño
        4. Mantener rendimiento razonable sin hardware exótico
        5. Sincronizar datasets entre instalaciones diferentes
        6. Estandarizar módulos de compilación y toolchains
        7. Soporte a aceleradores heterogéneos según el centro
        8. Portar pipelines de CI/CD científico a entornos restringidos
        9. Documentar dependencias propietarias / licencias
        10. Compartir binarios optimizados con colaboradores externos
    18. Computación de precisión mixta y aproximada
      1. Precisión simple, doble y extendida
        1. Trade-off entre costo computacional y precisión numérica
        2. Uso de precisión simple (FP32) vs doble (FP64) en distintos dominios físicos
        3. Precisión extendida para problemas extremadamente rígidos
        4. Impacto en la estabilidad de métodos iterativos
        5. Cambios en el error de redondeo acumulado
        6. Requerimientos regulatorios o científicos de precisión mínima
        7. Compatibilidad con librerías BLAS/LAPACK optimizadas
        8. Métricas de error aceptable según el fenómeno simulado
        9. Elección de precisión al generar resultados publicables
        10. Uso estratégico de precisión alta solo en pasos críticos
      2. Precisión mixta en solvers iterativos
        1. Precondicionador en baja precisión + refinamiento en alta precisión
        2. Iterative refinement
        3. Cálculo de productos matriz-vector en baja precisión
        4. Acumulación de sumas en mayor precisión para estabilidad
        5. Uso de half / BF16 en kernels acelerados
        6. Corrección final en doble precisión
        7. Aprovechamiento de tensor cores / aceleradores matriciales
        8. Control de pérdida de ortogonalidad en métodos de Krylov
        9. Validación de residuo real vs residuo en precisión reducida
        10. Detección automática de cuándo subir precisión
      3. Reducción de precisión en kernels críticos
        1. Identificar kernels dominantes en costo total
        2. Medir sensibilidad física del resultado a errores locales
        3. Bajar precisión solo donde el impacto científico es menor
        4. Generar versiones alternativas del mismo kernel por precisión
        5. Evaluar ganancia en FLOP/s y ahorro energético
        6. Validar que las conclusiones científicas no cambian
        7. Uso en cómputo en tiempo casi real
        8. Integración con auto-tuning para elegir precisión ideal
        9. Documentación de la pérdida de fidelidad introducida
        10. Mecanismos de rollback a precisión alta en regiones inestables
      4. Cómputo aproximado y tolerante a error
        1. Aceptar resultados con error controlado a cambio de gran aceleración
        2. Algoritmos aproximados para kernels lineales / solvers parciales
        3. Métodos probabilísticos como sustituto de cálculo determinista exacto
        4. Uso de muestreo estadístico como estimador en vez de cálculo exacto
        5. Técnicas de recorte de precisión espacial/temporal en simulaciones
        6. Ajuste dinámico del nivel de aproximación según fase de la simulación
        7. Monitoreo de desviaciones respecto a un baseline de alta fidelidad
        8. Adecuación para análisis exploratorio y screening de parámetros
        9. Riesgos en estudios finales o certificables
        10. Balance entre ciencia exploratoria vs ciencia regulada
      5. Estrategias de reescalado numérico
        1. Normalización de variables para evitar overflow/underflow
        2. Escalamiento adimensional de ecuaciones físicas
        3. Reescritura de ecuaciones para mejorar el condicionamiento
        4. Centrados y shifts para valores extremadamente grandes o pequeños
        5. Evitar cancelación catastrófica en restas casi iguales
        6. Mantener magnitudes similares entre términos sumados
        7. Reescalar campos físicos en unidades convenientes
        8. Seguimiento explícito de cambios de escala en el posprocesamiento
        9. Ajuste dinámico de escala durante simulación larga
        10. Documentación rigurosa del reescalado aplicado
      6. Propagación controlada de error
        1. Modelar cómo se amplifican los errores numéricos paso a paso
        2. Estimar cotas superiores de error total
        3. Detectar cuándo el error acumulado invalida la simulación
        4. Métodos adaptativos que refinan precisión cuando el error crece
        5. Ajustar paso temporal / tamaño de malla según el error estimado
        6. Comparar soluciones sucesivas para medir deriva
        7. Reportar barras de error en resultados científicos
        8. Separar incertidumbre física real vs error numérico
        9. Validar robustez de conclusiones frente a propagación de error
        10. Uso en toma de decisiones basada en simulación
      7. Aritmética estocástica y detección de inestabilidades
        1. Inyección de ruido aleatorio controlado en operaciones aritméticas
        2. Identificación de sensibilidad extrema a pequeñas perturbaciones
        3. Estimación estadística de estabilidad numérica
        4. Detección de cancelación catastrófica mediante perturbación aleatoria
        5. Cuantificación de confianza en resultados finales
        6. Comparación entre ejecuciones con ruido distinto
        7. Uso como herramienta de validación de robustez numérica
        8. Integración con análisis de incertidumbre
        9. Priorización de mejoras de estabilidad donde más se necesita
        10. Evaluación previa a publicar resultados críticos
    19. Resiliencia y tolerancia a fallos en HPC
      1. Checkpointing y reinicio
        1. Guardar el estado completo de la simulación periódicamente
        2. Reanudar tras fallo sin reiniciar desde t=0
        3. Tamaño y frecuencia de checkpoints como trade-off costo/riesgo
        4. Checkpoints consistentes entre múltiples procesos MPI
        5. Checkpoints comprimidos / diferenciales
        6. Almacenamiento distribuido tolerante a fallos
        7. Automatización del proceso de dump y restore
        8. Validación de integridad del checkpoint
        9. Checkpoint incremental vs completo
        10. Impacto en rendimiento global
      2. Checkpointing incremental y diferencial
        1. Guardar sólo las diferencias desde el último checkpoint completo
        2. Reducir uso de ancho de banda y almacenamiento
        3. Trackeo de páginas/variables modificadas
        4. Reconstrucción del estado combinando base + deltas
        5. Encriptación y compresión selectiva de deltas
        6. Menor impacto en simulaciones ultralargas
        7. Tiering de checkpoints (rápido local vs almacenamiento frío)
        8. Checkpoint adaptativo basado en criticidad del momento físico
        9. Coordinación con planificador de jobs
        10. Recuperación rápida tras cortes breves
      3. Algoritmos tolerantes a fallos (ABFT)
        1. Insertar redundancia matemática en el cálculo (checksums)
        2. Detección de errores silenciosos en álgebra lineal
        3. Corrección parcial sin reiniciar todo el cómputo
        4. ABFT en multiplicación de matrices distribuidas
        5. ABFT en solvers iterativos
        6. Trade-off entre sobrecosto computacional y resiliencia
        7. Detección temprana de corrupción de datos en RAM/GPU
        8. Integración con hardware con ECC
        9. Extensión a topologías de comunicación complejas
        10. Uso en ambientes exascale con fallos frecuentes
      4. Replicación activa de tareas críticas
        1. Ejecutar en paralelo la misma tarea en nodos distintos
        2. Comparar resultados para detectar corrupción silenciosa
        3. Fallback inmediato al resultado sano si uno falla
        4. Replicación selectiva: sólo para etapas críticas o irrepetibles
        5. Costos de duplicar/triplicar cómputo
        6. Detección de fallos transitorios de hardware
        7. Recuperación rápida sin esperar reintentos largos
        8. Validación de consistencia en tiempo (latencia similar)
        9. Uso en simulaciones que alimentan control en tiempo real
        10. Integración con colas HPC que asignan nodos redundantes
      5. Detección y corrección de bit flips
        1. Errores de un solo bit en memoria (soft errors por radiación cósmica)
        2. Uso de memoria ECC para corrección automática
        3. Monitoreo de tasas de error por nodo
        4. Reejecución de kernels numéricos sospechosos
        5. Validación de integridad de datos críticos en GPU
        6. Identificación de hardware degradado
        7. Limpieza / reinicio preventivo de nodos problemáticos
        8. Políticas de cuarentena de nodos “ruidosos”
        9. Registro para análisis de confiabilidad a largo plazo
        10. Priorización de nodos más confiables para simulaciones sensibles
      6. Recuperación tras caídas parciales de nodo
        1. Continuar ejecución con menos recursos activos
        2. Redistribución dinámica de dominio espacial entre nodos restantes
        3. Reinicialización de procesos fallidos sin matar el job completo
        4. Rebalanceo de carga después del fallo
        5. Preservación de datos en memoria del resto del clúster
        6. Coordinación con planificador (SLURM, PBS) para reasignar nodos
        7. Reconstrucción de halos/fronteras perdidas
        8. Salvaguarda de resultados parciales producidos hasta el fallo
        9. Registro del evento de fallo como parte de la trazabilidad científica
        10. Métricas de resiliencia por aplicación
      7. Elasticidad bajo fallos a escala masiva
        1. Jobs que sobreviven fallos frecuentes en sistemas exascale
        2. Ajuste dinámico del número de procesos MPI
        3. Reasignación de tareas a nodos sanos en caliente
        4. Mantener eficiencia paralela pese a pérdida de nodos
        5. Escalado hacia abajo temporal para estabilizar
        6. Prevención de cascadas de fallos
        7. Integración con tolerancia a fallos del runtime de ejecución
        8. Políticas automáticas de “graceful degradation”
        9. Toma de decisiones basada en criticidad científica vs costos de rescate
        10. Métricas de disponibilidad efectiva de cómputo útil
      8. Reconfiguración dinámica de trabajos a mitad de ejecución
        1. Cambiar el layout de procesos sin reiniciar
        2. Migración de subdominios entre nodos activos
        3. Ajuste del tamaño de timestep / mallado según recursos actuales
        4. Apagar etapas no críticas para salvar el experimento principal
        5. Preservar coherencia de datos tras la reasignación
        6. Actualización “hot” de parámetros de simulación
        7. Cambiar prioridades de colas en vivo
        8. Telemetría continua para decidir reconfiguración
        9. Validación de que la física simulada sigue siendo válida
        10. Documentación automática de la reconfiguración para trazabilidad
    20. Computación científica en tiempo real y alta fidelidad
      1. Simulación en línea para control experimental
        1. Ejecutar simulación predictiva junto a un experimento físico en curso
        2. Ajustar parámetros del experimento en vivo según predicciones
        3. Exigir latencia mínima y cálculo determinista
        4. Tolerancia cero a fallos prolongados
        5. Necesidad de modelos reducidos o surrogates ultra rápidos
        6. Sincronización temporal estricta con adquisición de datos
        7. Monitoreo continuo de desviaciones entre predicción y medición
        8. Alarmas en tiempo casi real
        9. Registro para auditoría científica y de seguridad
        10. Uso en física de plasma, aceleradores de partículas, reactores
      2. Gemelos digitales de sistemas físicos complejos
        1. Réplica numérica operativa de un sistema físico real
        2. Actualización continua con datos sensados
        3. Predicción de fallos y mantenimiento preventivo
        4. Evaluación de escenarios hipotéticos sin intervenir el sistema real
        5. Ajuste continuo del modelo con ML + física
        6. Integración de múltiples dominios físicos acoplados
        7. Requerimientos de cómputo casi en vivo
        8. Escalado desde equipos individuales hasta infraestructuras industriales
        9. Cuestiones de ciberseguridad en gemelos digitales conectados
        10. Trazabilidad para decisiones operativas críticas
      3. Control predictivo basado en simulación
        1. Uso de modelos numéricos para predecir el estado futuro
        2. Optimización de la acción de control bajo restricciones físicas
        3. MPC (Model Predictive Control) resuelto continuamente
        4. Reducción de orden del modelo para cumplir ventanas de tiempo
        5. Fusión con sensores en lazo cerrado
        6. Reacción rápida ante perturbaciones externas
        7. Garantías de estabilidad bajo incertidumbre
        8. Validación de seguridad antes de aplicar el control
        9. Co-ejecución en hardware dedicado en planta / laboratorio
        10. Adherencia a normativas de operación segura
      4. Fusión de datos experimentales en vivo con modelos numéricos
        1. Asimilación de datos (data assimilation) en tiempo casi real
        2. Kalman filters / EnKF / filtros de partículas para estimar estado
        3. Corrección continua de estados simulados
        4. Reconstrucción de campos no directamente medidos
        5. Uso en clima, fusión nuclear, biología in vivo
        6. Requisitos de latencia estrictos en la ingesta de datos
        7. Balance entre robustez estadística vs velocidad
        8. Control de ruido y outliers en señales experimentales
        9. Validación de plausibilidad física tras asimilar datos
        10. Escalado a redes distribuidas de sensores
      5. Procesamiento en el borde de instrumentos científicos
        1. Cómputo cerca del dispositivo que genera datos (beamlines, telescopios, microscopios)
        2. Filtrado y compresión en la frontera para reducir ancho de banda
        3. Detección temprana de eventos interesantes
        4. Decidir qué datos guardar y cuáles descartar
        5. Latencia ultrabaja para experimentos costosos en tiempo de haz
        6. Integración con clusters HPC centrales para post-procesamiento profundo
        7. Limitaciones de energía / espacio físico en el borde
        8. Robustez ante desconexiones intermitentes
        9. Seguridad física y lógica del nodo perimetral
        10. Cumplimiento normativo en instrumentación científica sensible
      6. Reducción automática de datos bajo latencia estricta
        1. Post-procesamiento inmediato de datos brutos en tiempo real
        2. Extracción de features relevantes en vivo
        3. Eliminación de datos redundantes o de poco valor científico
        4. Priorización de eventos raros / críticos
        5. Uso de inferencia acelerada (GPU/FPGA) para clasificación inmediata
        6. Políticas de retención adaptativas basadas en contexto experimental
        7. Minimizar IO a almacenamiento lento
        8. Garantizar que nada importante se pierda sin revisión humana
        9. Registro de criterios usados para descartar datos
        10. Capacidad de “replay” de ventanas temporales recientes
      7. Sistemas de alerta temprana basados en simulación
        1. Predicción de condiciones peligrosas o inestables antes de que ocurran
        2. Modelos físicos + ML para identificar umbrales críticos
        3. Alertas operacionales automáticas para personal humano
        4. Validación continua para evitar falsas alarmas dañinas
        5. Priorización de alarmas según severidad
        6. Integración con protocolos de seguridad industrial / laboratorio
        7. Registro y auditoría de alertas emitidas
        8. Evaluación post-evento de efectividad de la alerta
        9. Ajuste fino de umbrales bajo nuevas condiciones
        10. Uso en sismología, operación de reactores, clima extremo
    21. Ética, gestión y política científica en HPC
      1. Priorización de acceso a recursos de supercómputo
        1. Políticas de asignación de horas de cómputo entre proyectos
        2. Evaluación de mérito científico vs urgencia aplicada (por ejemplo, clima extremo)
        3. Equilibrio entre investigación básica y proyectos industriales
        4. Acceso justo para equipos pequeños / emergentes
        5. Transparencia en criterios de priorización
        6. Mecanismos de apelación / revisión por pares
        7. Impacto en carreras científicas y publicación
        8. Incentivos a compartir resultados y herramientas
        9. Reservas de emergencia para uso crítico inmediato
        10. Minimizar captura de recursos por pocos actores dominantes
      2. Cuotas de uso y gobernanza de clústeres compartidos
        1. Cuotas de CPU/GPU/almacenamiento por grupo
        2. Límites de prioridad en colas de trabajo
        3. Fairness entre usuarios concurrentes
        4. Penalización por abuso o uso ineficiente
        5. Monitoreo de consumo en tiempo casi real
        6. Reportes contables para sponsors / agencias
        7. Auditoría de compliance con acuerdos institucionales
        8. Planificación de capacidad a largo plazo
        9. Transparencia en costos internos imputados
        10. Políticas para proyectos colaborativos multi-institución
      3. Transparencia y trazabilidad de resultados numéricos
        1. Exigir reporte completo de configuración y parámetros
        2. Exigir publicar scripts de post-procesamiento
        3. Documentar las hipótesis físicas asumidas
        4. Reportar incertidumbre y sensibilidad
        5. Incluir detalles de hardware y librerías usadas
        6. Garantizar que los resultados sean auditables por terceros
        7. Evitar “caja negra” en hallazgos con implicancias públicas
        8. Asegurar interpretabilidad mínima en modelos de IA aplicados a física
        9. Mantener trazabilidad temporal (cuándo se generó el resultado)
        10. Declarar conflictos de interés tecnológicos / comerciales
      4. Reproducibilidad como criterio de publicación científica
        1. Requerir datos y código (o ejecutables verificables) junto al paper
        2. Requerir seeds y configuraciones exactas
        3. Requerir instrucciones de ejecución
        4. Revisiones por pares que incluyan intento de réplica
        5. Incentivar repositorios abiertos y DOIs permanentes
        6. Penalizar prácticas irreproducibles en revistas/conferencias
        7. Métricas de reproducibilidad declaradas en el artículo
        8. Cultura de “resultados confiables” más que “resultados espectaculares”
        9. Facilitar badges / certificaciones de reproducibilidad
        10. Evitar dependencia de infraestructura propietaria inaccesible al revisor
      5. Sostenibilidad energética del supercómputo
        1. Consumo energético de centros HPC a escala MW
        2. Eficiencia FLOP/J como métrica clave
        3. Recuperación y reutilización de calor residual
        4. Ubicación geográfica con acceso a energía limpia
        5. Programación de cargas intensivas en horas de menor costo energético
        6. Ajuste dinámico de frecuencia/voltaje (DVFS) para bajar consumo
        7. Migración de workloads a hardware más eficiente energéticamente
        8. Evaluación del costo ambiental de simulaciones gigantes
        9. Reportes de huella de carbono asociados a publicaciones científicas
        10. Incentivos institucionales a eficiencia computacional
      6. Huella de carbono del entrenamiento masivo de modelos
        1. Entrenamiento de modelos gigantes (miles de GPUs) y su consumo
        2. Comparar beneficio científico vs costo ambiental
        3. Uso de técnicas de eficiencia (pruning, distillation)
        4. Entrenamiento continuo vs fine-tuning incremental
        5. Reutilización de modelos pre-entrenados en vez de entrenar desde cero
        6. Transparencia sobre costo energético declarado en papers
        7. Optimización de scheduling para energías más limpias
        8. Diseño de arquitecturas de red más eficientes
        9. Balance entre precisión marginal y costo energético exponencial
        10. Políticas institucionales para limitar derroche computacional
      7. Manejo responsable de datos sensibles y confidenciales
        1. Datos biomédicos, climáticos estratégicos, o industriales propietarios
        2. Controles de acceso estrictos en almacenamiento HPC
        3. Anonimización / seudonimización de datos
        4. Cifrado en tránsito y en reposo
        5. Auditorías de acceso a datasets sensibles
        6. Cumplimiento regulatorio (privacidad, export controls)
        7. Limitación de copia / exfiltración de datos
        8. Entornos aislados para análisis seguro
        9. Procedimientos de borrado seguro de datos expirados
        10. Balance entre apertura científica y protección ética/legal
      8. Transferencia tecnológica hacia la industria
        1. Llevar simulación avanzada y HPC del laboratorio a aplicaciones reales
        2. Validación regulatoria de modelos numéricos para uso industrial
        3. Creación de herramientas de ingeniería basadas en solvers HPC
        4. Propiedad intelectual y licenciamiento
        5. Colaboraciones público-privadas en supercómputo
        6. Formación de personal técnico especializado transferible a industria
        7. Democratización de capacidades HPC vía servicios gestionados
        8. Impacto económico y competitivo de la simulación avanzada
        9. Responsabilidad sobre decisiones automatizadas basadas en simulación
        10. Estándares de seguridad, confiabilidad y ética en la adopción industrial

13 - Data y machine learning

  1. Datos y ML
    1. Fundamentos matemáticos y computacionales

      1. Álgebra lineal para datos y modelos
        1. Vectores, matrices y tensores
        2. Operaciones lineales y productos matriciales
        3. Dependencia lineal y rango
        4. Espacios vectoriales y subespacios columna/fila
        5. Descomposición en valores y vectores propios
        6. Descomposición SVD y reducción de dimensionalidad
        7. Proyecciones ortogonales y mínimos cuadrados
        8. Sistemas sobredeterminados y pseudoinversa
        9. Estabilidad numérica en álgebra lineal
        10. Representación dispersa y cómputo eficiente
      2. Cálculo diferencial e introducción a optimización continua
        1. Derivadas parciales y gradiente
        2. Regla de la cadena en espacios de alta dimensión
        3. Hessiano y curvatura local
        4. Óptimos locales y estacionariedad
        5. Convexidad básica y condiciones de mínimo global
        6. Funciones de pérdida diferenciables
        7. Descenso por gradiente básico
        8. Paso de aprendizaje y estabilidad
        9. Problemas mal condicionados
        10. Regularización como término en la función objetivo
      3. Optimización convexa y dualidad (Lagrange, KKT)
        1. Funciones convexas y conjuntos convexos
        2. Programas cuadráticos y lineales
        3. Multiplicadores de Lagrange
        4. Condiciones KKT
        5. Dualidad primal-dual
        6. Interpretación económica de las variables duales
        7. Soft constraints vs hard constraints
        8. Regularización L1/L2 como restricciones
        9. Sparsity inducida por L1
        10. Convergencia garantizada en problemas convexos
      4. Métodos de optimización numérica (gradiente, Newton, quasi-Newton, Adam)
        1. Gradiente descendente estocástico (SGD)
        2. Momentum y aceleración
        3. Métodos de segundo orden y Newton
        4. Métodos quasi-Newton (BFGS, L-BFGS)
        5. Adam y variantes adaptativas
        6. Decaimiento del learning rate
        7. Batch vs mini-batch vs online
        8. Early stopping como control de sobreajuste
        9. Paisajes no convexos y mínimos locales planos
        10. Estabilidad numérica en entrenamiento profundo
      5. Probabilidad básica y variables aleatorias
        1. Espacios de probabilidad y eventos
        2. Variables aleatorias discretas y continuas
        3. Funciones de densidad y de distribución
        4. Esperanza, varianza y covarianza
        5. Ley de los grandes números
        6. Teorema central del límite
        7. Distribuciones comunes (Bernoulli, Normal, Poisson, Exponencial)
        8. Independencia y correlación
        9. Probabilidad condicional y Bayes
        10. Muestreo Monte Carlo básico
      6. Inferencia estadística elemental (muestreo, estimación, sesgo/varianza)
        1. Muestra vs población
        2. Estimadores puntuales y por intervalo
        3. Propiedades de un buen estimador
        4. Sesgo vs varianza
        5. Reamostrado bootstrap
        6. Intervalos de confianza
        7. Test de hipótesis como decisión binaria
        8. p-value y error tipo I/II
        9. Corrección por comparaciones múltiples
        10. Incertidumbre y comunicación de error
      7. Teoría de la información (entropía, divergencia)
        1. Entropía de Shannon
        2. Información mutua
        3. Divergencia KL
        4. Cross-entropy como función de pérdida
        5. Codificación óptima y compresión
        6. Redundancia y correlación de atributos
        7. Selección de variables por información mutua
        8. Regularización basada en información
        9. Máxima entropía
        10. Relación entre entropía y incertidumbre en modelos
    2. Fundamentos de datos y análisis cuantitativo

      1. Tipos y formatos de datos (estructurados, semiestructurados, no estructurados)
        1. Tabular relacional
        2. JSON, logs y eventos
        3. Texto libre
        4. Imágenes y señales
        5. Datos de series temporales
        6. Sensores y telemetría
        7. Datos geoespaciales
        8. Datos etiquetados vs no etiquetados
        9. Datos sintéticos
        10. Datos sensibles y regulados
      2. Manipulación y transformación de datos
        1. Joins y merges
        2. Filtrado y selección de columnas
        3. Agregaciones y group-by
        4. Pivot y reshaping
        5. Normalización de unidades y escalas
        6. Detección de duplicados
        7. Enriquecimiento con fuentes externas
        8. Procesamiento batch vs streaming
        9. Construcción de features derivadas
        10. Documentación de transformaciones
      3. Limpieza, imputación, normalización y validación
        1. Detección de valores faltantes
        2. Imputación numérica y categórica
        3. Outliers y recortes (winsorizing)
        4. Estandarización y escalamiento
        5. Codificación categórica
        6. Validación de rangos y formatos
        7. Detección de drift en el esquema
        8. Calidad de etiquetas
        9. Auditoría de calidad de datos
        10. Trazabilidad de cambios en datos críticos
      4. Versionado de datos, linaje y reproducibilidad de datasets
        1. Linaje de columnas (origen-transformación-destino)
        2. Versionado de tablas y snapshots
        3. Versionado de esquemas y contratos
        4. Control de acceso a datasets históricos
        5. Metadatos y catálogo de datos
        6. Datasets “golden” y certificación
        7. Reproducibilidad de informes
        8. Retención y expiración de datos
        9. Ciclo de vida de datasets críticos
        10. Auditoría y cumplimiento
      5. Series temporales básicas: agregaciones, ventanas de tiempo, estacionalidad
        1. Ventanas móviles y acumuladas
        2. Downsampling y resampling
        3. Estacionalidad diaria / semanal / anual
        4. Tendencia y nivel
        5. Suavizamiento exponencial
        6. Retención de usuarios con ventanas móviles
        7. Detección de picos y anomalías
        8. Lag features y lead features
        9. Forecasting corto plazo vs largo plazo
        10. Métricas de error en pronóstico
      6. Métricas de negocio y definición de KPI
        1. Métricas de adquisición, activación y retención
        2. Métricas de conversión y funnel
        3. Lifetime value (LTV)
        4. Churn y retención de clientes
        5. SLA / SLO operacionales
        6. Métricas de riesgo y fraude
        7. Métricas de satisfacción / NPS
        8. Métricas de eficiencia operativa y costo
        9. Métricas regulatorias
        10. Alineación métrica-equipo-dirección
      7. Segmentación, cohortes y comportamiento de usuarios
        1. Cohortes por fecha de alta / adquisición
        2. Segmentación por uso de funcionalidades
        3. Valor económico por segmento
        4. Ciclo de vida del usuario
        5. RFM (recencia, frecuencia, monto)
        6. Funnels multietapa
        7. Abandono y puntos de fuga
        8. Segmentación geográfica
        9. Segmentación contextual / estacional
        10. Segmentación dinámica en tiempo real
      8. Analítica de producto y telemetría de uso
        1. Instrumentación de eventos
        2. Definición de eventos de producto
        3. Propiedades de evento (metadata)
        4. Embudos de uso de funcionalidad
        5. Detección de fricción en la experiencia
        6. Impacto de nuevas features
        7. Alertas sobre caídas de uso
        8. Experimentos con cambios UI/UX
        9. Métricas de engagement
        10. Métricas de activación temprana
      9. Análisis geoespacial y datos con localización
        1. Coordenadas y proyecciones
        2. Map matching y geofencing
        3. Densidad espacial y heatmaps
        4. Rutas, trayectorias y movilidad
        5. Clustering espacial
        6. Demanda geolocalizada
        7. Riesgo geográfico y cobertura
        8. Optimización logística
        9. Datos satelitales y sensores remotos
        10. Privacidad en datos de localización
      10. Análisis de riesgo, fraude y anomalías
        1. Patrones transaccionales inusuales
        2. Umbrales dinámicos vs estáticos
        3. Reglas heurísticas vs modelos estadísticos
        4. Modelos de anomalía no supervisados
        5. Señales agregadas por usuario / dispositivo
        6. Escalonamiento de alertas
        7. Validación humana de fraudes
        8. Costo esperado del falso positivo
        9. Evasión adversaria
        10. Reportabilidad / cumplimiento interno
      11. Análisis exploratorio de datos (EDA)
        1. Distribuciones y percentiles
        2. Relaciones bivariadas
        3. Correlaciones y multicolinealidad preliminar
        4. Outliers y colas gruesas
        5. Separación por subpoblaciones
        6. Drift temporal de las variables
        7. Calidad de etiquetado
        8. Variables candidatas a ser features
        9. Supuestos del modelo detectables a ojo
        10. Hallazgos accionables tempranos
      12. Visualización, storytelling con datos y comunicación ejecutiva
        1. Elección de la visualización adecuada
        2. Minimalismo y señal vs ruido
        3. Gráficos para tendencias vs instantáneas
        4. Métricas únicas vs panel comparativo
        5. Narrativa causal vs narrativa descriptiva
        6. Comunicación a audiencias no técnicas
        7. Alertas visuales y semáforos ejecutivos
        8. Anotaciones y contexto histórico
        9. Métricas que importan al negocio
        10. Toma de decisión basada en evidencia
    3. Estadística, inferencia y causalidad

      1. Estimadores, sesgo y varianza
        1. Consistencia del estimador
        2. Insesgadez vs baja varianza
        3. Error cuadrático medio
        4. Trade-off sesgo/varianza
        5. Regularización como aumento de sesgo controlado
        6. Intervalos de error para métricas de negocio
        7. Estimación empírica vs paramétrica
        8. Regímenes de pocos datos
        9. Varianza en modelos complejos
        10. Incertidumbre comunicable al stakeholder
      2. Intervalos de confianza y tests de hipótesis
        1. Hipótesis nula y alternativa
        2. Estadístico de prueba
        3. Distribución nula
        4. p-value y su interpretación
        5. Error tipo I y tipo II
        6. Intervalos de confianza vs tests
        7. Corrección por múltiples pruebas
        8. Equivalencia y tests de no-inferioridad
        9. Test unilateral vs bilateral
        10. Robustez frente a supuestos no cumplidos
      3. Comparación de grupos (t-test, χ², ANOVA)
        1. Comparación de medias
        2. Comparación de proporciones
        3. Varianzas entre grupos
        4. Tabla de contingencia y χ²
        5. ANOVA de una vía
        6. ANOVA multifactorial
        7. Interacciones entre factores
        8. Efecto práctico vs efecto estadístico
        9. Corrección post-hoc
        10. Selección de la métrica de comparación
      4. Significancia estadística, potencia estadística y tamaño de muestra
        1. Potencia estadística (power)
        2. Cálculo de tamaño mínimo de muestra
        3. Detección de efectos pequeños
        4. Curva ROC estadística de un experimento
        5. Balance costo/beneficio de experimentar
        6. Duración mínima de experimentos A/B
        7. Peeking y riesgo de look-ahead
        8. Sequential testing
        9. Stopping rules
        10. Validez científica vs velocidad de negocio
      5. Regresión lineal y múltiple (interpretación de coeficientes)
        1. Modelo lineal clásico
        2. Supuestos del modelo lineal
        3. Coeficientes como efectos marginales
        4. Intervalos de confianza de coeficientes
        5. Interacciones y términos cruzados
        6. Variables categóricas y dummies
        7. Multicolinealidad en la práctica
        8. Heterocedasticidad
        9. Errores correlacionados en el tiempo
        10. Interpretabilidad ante audiencias ejecutivas
      6. Multicolinealidad y selección de variables
        1. Matriz de correlación
        2. VIF (Variance Inflation Factor)
        3. Eliminación hacia atrás / hacia adelante
        4. Penalizaciones L1 y sparsity
        5. Selección basada en información mutua
        6. Selección basada en performance validada
        7. Variables redundantes
        8. Variables proxy de sesgos
        9. Coste de obtener cada variable
        10. Estabilidad de la selección en el tiempo
      7. Regularización estadística (ridge, lasso)
        1. Ridge y contracción de coeficientes
        2. Lasso y sparsity
        3. Elastic Net
        4. Interpretación geométrica de L1 vs L2
        5. Evitar sobreajuste en alta dimensión
        6. Selección automática de variables con L1
        7. Penalización como control de complejidad
        8. Validación cruzada para λ óptimo
        9. Relación con Bayes (priors gaussianos / laplacianos)
        10. Impacto en interpretabilidad
      8. Inferencia bayesiana aplicada
        1. Priors y posteiores
        2. Verosimilitud
        3. Actualización bayesiana con nueva evidencia
        4. Credible intervals vs confidence intervals
        5. Map vs MCMC
        6. Inferencia aproximada y variacional
        7. Bayes en experimentación online
        8. Priors informativos vs no informativos
        9. Mezcla de expertos bayesiana
        10. Comunicación probabilística a negocio
      9. Análisis causal (confusores, variables instrumentales, correlación vs causalidad)
        1. Causa vs correlación
        2. Confusores y sesgo de omisión
        3. Diagramas causales (DAGs)
        4. Variables instrumentales
        5. Propensity score matching
        6. Inverse propensity weighting
        7. Diferencias en diferencias
        8. Modelos estructurales causales
        9. Identificación vs estimación
        10. Limitaciones prácticas de la inferencia causal
      10. Evaluación de impacto y uplift
        1. Métricas de uplift individual
        2. Segmentación de tratamiento
        3. Heterogeneidad del efecto
        4. Lift de conversión
        5. ROI incremental
        6. Selección de población objetivo
        7. Riesgo regulatorio en targeting diferencial
        8. Equidad en la asignación de tratamiento
        9. Priorización operativa de campañas
        10. Medición post-lanzamiento (observacional vs experimental)
    4. Teoría del aprendizaje automático

      1. Formulación de aprendizaje supervisado, no supervisado y semisupervisado
        1. Objetivos de predicción vs descubrimiento de estructura
        2. Etiquetas fuertes vs etiquetas débiles
        3. Dependencia de la señal de entrenamiento
        4. Supuestos sobre la distribución de datos
        5. Aprendizaje transductivo vs inductivo
        6. Riesgo empírico vs riesgo verdadero
        7. Funciones objetivo típicas por tipo de tarea
        8. Escenarios con datos limitados o costosos
        9. Relación con aprendizaje activo
        10. Transferencia entre paradigmas (pseudo-etiquetado)
      2. Funciones de pérdida y significado estadístico
        1. Pérdida cuadrática y supuestos gaussianos
        2. Entropía cruzada y clasificación probabilística
        3. Hinge loss y márgenes
        4. Pérdidas robustas a outliers (Huber)
        5. Pérdidas asimétricas y coste-dependientes
        6. Pérdida ranking / AUC-oriented
        7. Pérdidas multiclase vs multietiqueta
        8. Regularización como término en la pérdida
        9. Pérdidas personalizadas para negocio
        10. Interpretación probabilística de la pérdida
      3. Generalización: sesgo-varianza, capacidad del modelo y sobreajuste
        1. Curvas de aprendizaje (train vs valid)
        2. Underfitting vs overfitting
        3. Capacidad del modelo vs tamaño del dataset
        4. Complejidad efectiva del modelo
        5. Regularización para reducir varianza
        6. Data augmentation para mejorar generalización
        7. Early stopping como control de sobreajuste
        8. Cross-validation como estimador de error fuera de muestra
        9. Detección de fuga de información
        10. Generalización fuera de distribución
      4. Dimensión VC, márgenes y control de complejidad
        1. Dimensión VC como medida de capacidad
        2. Separabilidad lineal y margen máximo
        3. Regularización L2 como control del margen
        4. Trade-off margen vs error empírico
        5. Cotas de generalización dependientes del margen
        6. Complejidad del clasificador no lineal
        7. Funciones kernel y espacio de alta dimensión
        8. Capacidad efectiva de modelos profundos
        9. Sobrecapacidad y memorization
        10. Interpretación geométrica del sobreajuste
      5. PAC learning (visión conceptual)
        1. Probablemente Aproximadamente Correcto
        2. Error empírico vs error verdadero
        3. Tolerancia ε (precisión) y δ (confianza)
        4. Tamaño de muestra necesario para aprender
        5. Familias de hipótesis y complejidad
        6. Consistencia PAC
        7. Relación con dimensión VC
        8. Aprendibilidad en el sentido PAC
        9. Limitaciones prácticas del marco PAC
        10. Conexiones con bounds modernos en deep learning
      6. Regularización vista como restricción de complejidad
        1. Penalización L2 (weight decay)
        2. Penalización L1 (sparsity y selección de features)
        3. Elastic Net como compromiso
        4. Dropout como ruido estructurado
        5. Data augmentation como regularización implícita
        6. Normalización de batch y estabilidad del entrenamiento
        7. Early stopping como límite de capacidad
        8. Weight sharing en redes convolucionales
        9. Cuantización/poda como reducción efectiva de complejidad
        10. Interpretación bayesiana de la regularización
      7. Paisajes de optimización no convexa en redes profundas
        1. Mínimos locales vs puntos silla
        2. Mínimos planos vs mínimos afilados
        3. Robustez de mínimos planos a ruido
        4. Efecto del tamaño del batch
        5. Sensibilidad a la inicialización
        6. Rugosidad del paisaje de pérdida
        7. Simetrías de parámetros (permutación de neuronas)
        8. Degradación / explosión de gradientes
        9. Trayectorias de descenso en alta dimensión
        10. Convergencia práctica con optimizadores heurísticos
      8. Estabilidad de entrenamiento y ruido
        1. Ruido estocástico en SGD
        2. Ruido como exploración del paisaje de pérdida
        3. Robustez frente a datos ruidosos
        4. Etiquetas incorrectas y su efecto
        5. Suavizado de etiquetas (label smoothing)
        6. Normalización y control de escala
        7. Mezcla de ejemplos (mixup, cutmix)
        8. Sensibilidad a perturbaciones adversarias
        9. Estabilidad entre semillas aleatorias
        10. Estabilidad vs reproducibilidad en entornos reales
    5. Machine Learning clásico (ML tradicional)

      1. Regresión lineal y logística
        1. Formulación cerrada vs entrenamiento iterativo
        2. Interpretación de coeficientes
        3. Probabilidades calibradas en clasificación
        4. Regularización ridge / lasso
        5. Multicolinealidad y condicionamiento numérico
        6. Interacciones y términos polinomiales
        7. Detección de outliers en residuales
        8. Regresión penalizada para alta dimensión
        9. Regresión logística multinomial
        10. Limitaciones para fronteras no lineales
      2. k-NN y métodos basados en distancia
        1. Definición de vecindad
        2. Elección de k
        3. Métricas de distancia (euclidiana, coseno)
        4. Efecto de la dimensionalidad alta
        5. Búsqueda aproximada de vecinos más cercanos
        6. Clasificación basada en voto ponderado
        7. Regresión basada en promedio local
        8. Sensibilidad a ruido y outliers
        9. Escalamiento / normalización previa
        10. Uso en recomendación basada en similitud
      3. Máquinas de soporte vectorial (SVM)
        1. Máximo margen
        2. Soft margin y parámetro C
        3. Funciones kernel (lineal, RBF, polinomial)
        4. Clasificación binaria y multiclase
        5. SVM para regresión (SVR)
        6. Interpretación geométrica de los support vectors
        7. Escalamiento de features
        8. Costo computacional en datasets grandes
        9. Selección de hiperparámetros (C, gamma)
        10. Robustez en alta dimensión con pocos datos
      4. Árboles de decisión
        1. Criterios de partición (gini, entropía, mse)
        2. Profundidad máxima y sobreajuste
        3. Interpretabilidad visual
        4. Manejo de variables categóricas
        5. Manejo de valores faltantes
        6. Árboles de regresión vs clasificación
        7. Podado (pruning)
        8. Inestabilidad frente a pequeñas variaciones
        9. Leakage por splits mal construidos
        10. Árboles como bloques base de ensembles
      5. Bosques aleatorios
        1. Bootstrap aggregating (bagging)
        2. Selección aleatoria de features por split
        3. Reducción de varianza
        4. Importancia de variables (feature importance)
        5. Robustez al ruido
        6. Estimación de error fuera de bolsa (OOB)
        7. Control de profundidad y cantidad de árboles
        8. Detección de overfitting residual
        9. Manejo de alta dimensionalidad
        10. Limitaciones en extrapolación continua
      6. Ensembles y Gradient Boosting (XGBoost, LightGBM)
        1. Boosting vs bagging
        2. Árboles débiles como aprendices base
        3. Tasa de aprendizaje (learning rate)
        4. Profundidad de árbol en boosting
        5. Regularización en boosting
        6. Importancias de características por ganancia
        7. Manejo de clases desbalanceadas
        8. Interpretabilidad parcial (partial dependence)
        9. Overfitting en boosting agresivo
        10. Uso industrial en tabular prediction
      7. Selección de variables y feature engineering
        1. Creación de variables agregadas
        2. Variables cruzadas (feature crosses)
        3. Transformaciones log, box-cox, binning
        4. Encoding categórico (one-hot, target encoding)
        5. Selección basada en importancia del modelo
        6. Selección basada en estabilidad temporal
        7. Eliminación de leakage
        8. Ingeniería de variables temporales (lags, rolling stats)
        9. Normalización / estandarización
        10. Documentación y gobierno de features
      8. Balanceo de clases y manejo de desbalance extremo
        1. Reponderación de clases (class weights)
        2. Submuestreo de la clase mayoritaria
        3. Sobremuestreo de la clase minoritaria
        4. SMOTE y variantes
        5. Métricas robustas al desbalance (PR AUC)
        6. Ajuste de umbral de decisión
        7. Cost-sensitive learning
        8. Riesgo regulatorio en falsos negativos/positivos
        9. Evaluación por subpoblaciones
        10. Monitoreo del desbalance en el tiempo
      9. Clustering (k-means, jerárquico, DBSCAN)
        1. k-means y su objetivo
        2. Elección de k (inercia, silhouette)
        3. Inicialización (k-means++)
        4. Clustering jerárquico y dendrogramas
        5. Distancias y enlaces (linkage)
        6. DBSCAN y densidad
        7. Ruido y puntos frontera
        8. Clusters de forma arbitraria
        9. Escalamiento a datasets grandes
        10. Uso en segmentación de clientes
      10. Modelos de mezcla y clustering probabilístico
        1. Modelos de mezcla gaussiana
        2. Expectation-Maximization (EM)
        3. Soft clustering vs hard clustering
        4. Estimación de densidad
        5. Selección del número de componentes (BIC/AIC)
        6. Interpretación probabilística de pertenencia
        7. Mezclas no gaussianas
        8. Mezclas para datos categóricos
        9. Mezclas en series temporales
        10. Limitaciones en alta dimensión
      11. Reducción de dimensionalidad (PCA, t-SNE, UMAP)
        1. PCA lineal y varianza explicada
        2. Componentes principales interpretables
        3. Efecto de escalamiento previo
        4. t-SNE para visualización
        5. UMAP y preservación de estructura local
        6. Ruido vs señal en alta dimensión
        7. Compresión de features
        8. Preprocesamiento para clustering
        9. Reducción para visualización ejecutiva
        10. Pérdida de interpretabilidad
      12. Detección de anomalías y outliers
        1. Modelos estadísticos univariados
        2. Distancia en espacio de features
        3. Isolation Forest
        4. Local Outlier Factor
        5. Modelos de densidad
        6. Anomalías en series temporales
        7. Uso en fraude y seguridad
        8. Trade-off sensibilidad vs falsas alarmas
        9. Validación humana de alertas
        10. Adaptación a nuevos patrones de ataque
      13. Series temporales con ML tradicional (ARIMA, SARIMA, Holt-Winters, VAR)
        1. Estacionariedad y diferenciación
        2. Estacionalidad y SARIMA
        3. Holt-Winters (tendencia y estacionalidad suave)
        4. VAR para multivariado
        5. Selección de retardos (lags)
        6. Métricas de forecasting (MAPE, sMAPE, MASE)
        7. Roll-forward vs entrenamiento global
        8. Drift de comportamiento en el tiempo
        9. Forecast con intervención externa
        10. Interpretación operativa del pronóstico
      14. Forecasting de demanda y predicción multihorizonte
        1. Predicción a corto vs largo plazo
        2. Horizonte rodante
        3. Forecast por segmento / categoría
        4. Efectos calendario (festivos, campañas)
        5. Incertidumbre en la predicción
        6. Predicción probabilística (quantile forecasting)
        7. Coste de sobrestock vs quiebre de stock
        8. Agregación jerárquica de pronósticos
        9. Evaluación financiera del error
        10. Integración con planeación operativa
      15. AutoML y búsqueda de hiperparámetros / arquitecturas
        1. Búsqueda aleatoria vs grid search
        2. Optimización bayesiana de hiperparámetros
        3. Selección automática de modelos candidatos
        4. Selección automática de features
        5. Ensamblado automático de pipelines
        6. Neural Architecture Search (NAS)
        7. Meta-aprendizaje
        8. Benchmarks internos de calidad
        9. Coste computacional y límites prácticos
        10. Riesgos de caja negra y reproducibilidad
      16. Aprendizaje semisupervisado y débilmente supervisado
        1. Pseudo-etiquetado
        2. Consistency regularization
        3. Self-training iterativo
        4. Weak supervision con reglas heurísticas
        5. Datasets ruidosos pero masivos
        6. Reducción de costo de etiquetado humano
        7. Transferencia entre dominios
        8. Detección de etiquetas contradictorias
        9. Evaluación sin gold standard perfecto
        10. Uso industrial en fraude y moderación
    6. Evaluación de modelos y diseño experimental

      1. Partición train/valid/test y validación cruzada
        1. Hold-out simple
        2. K-fold cross-validation
        3. Stratified sampling
        4. Time series split
        5. Validación anidada (nested CV)
        6. Fugas temporales en series
        7. Leakage por usuario
        8. Conjuntos de test bloqueados
        9. Reutilización indebida del test set
        10. Reproducibilidad de splits
      2. Métricas de regresión, clasificación y ranking (ROC, PR, F1, calibración)
        1. RMSE / MAE para regresión
        2. Accuracy y sus límites
        3. Precision, recall y F1
        4. Curva ROC y AUC
        5. Curva PR y utilidad en clases raras
        6. Calibración de probabilidades
        7. Métricas top-K y ranking
        8. Métricas orientadas a negocio (costo esperado)
        9. Métricas por subgrupo (fairness)
        10. Métricas en tiempo real vs batch
      3. Umbrales de decisión y coste esperado
        1. Trade-off falso positivo / falso negativo
        2. Optimización de umbral por métrica de negocio
        3. Curva precision-recall como guía de umbral
        4. Expected value of a prediction
        5. Cost-sensitive classification
        6. Umbrales dinámicos según contexto
        7. Riesgo regulatorio en cierto tipo de error
        8. Calibración dependiente del segmento
        9. Aprobación humana en casos borde
        10. Explicabilidad del umbral ante negocio
      4. Interpretabilidad local y global (importancia de características, SHAP/LIME)
        1. Importancia global de variables
        2. Dependencia parcial (PDP)
        3. SHAP para atribución local
        4. LIME para explicaciones locales aproximadas
        5. Explicaciones contrafactuales
        6. Interacciones entre variables
        7. Transparencia vs performance
        8. Explicaciones para auditores / regulador
        9. Explicabilidad en tiempo real al usuario final
        10. Riesgo de revelar información sensible
      5. Data leakage y fugas de información
        1. Variables que usan información del futuro
        2. Variables derivadas de la etiqueta
        3. Variables casi duplicadas de la etiqueta
        4. Mezcla de usuarios entre train y test
        5. Mezcla de períodos históricos
        6. Variables altamente agregadas sin control temporal
        7. Fugas en feature stores compartidos
        8. Fugas entre entornos de entrenamiento y producción
        9. Cómo detectarlo con auditoría de features
        10. Impacto en métricas infladas artificialmente
      6. Robustez frente a ruido, datos faltantes y cambios de distribución
        1. Evaluación bajo perturbaciones controladas
        2. Robustez a outliers
        3. Robustez a imputación agresiva
        4. Evaluación en subpoblaciones raras
        5. Shift de dominio (domain shift)
        6. Shift de concepto (concept drift)
        7. Adversarial noise básico
        8. Estabilidad entre réplicas del modelo
        9. Estimación de incertidumbre en predicción
        10. Plan de mitigación si el modelo se degrada
      7. A/B testing y experimentación controlada
        1. Grupo control vs treatment
        2. Aleatorización y estratificación
        3. Duración mínima del experimento
        4. Peeking y sesgo temporal
        5. Métrica primaria y métricas secundarias
        6. Spillover entre tratamientos
        7. Pruebas multivariantes (A/B/n)
        8. Efectos en subsegmentos
        9. Coste de oportunidad de una variante mala
        10. Decisión de rollout basada en evidencia
      8. Modelos descriptivos / diagnósticos / predictivos / prescriptivos
        1. Qué pasó (descriptivo)
        2. Por qué pasó (diagnóstico)
        3. Qué va a pasar (predictivo)
        4. Qué deberíamos hacer (prescriptivo)
        5. Sistemas de alerta temprana
        6. Priorización de leads / casos
        7. Sugerencia de acción próxima
        8. Optimización bajo restricción de recursos
        9. Medición del impacto real de la acción
        10. Integración con la operación diaria
      9. Análisis causal aplicado y uplift modeling en producto
        1. Modelos de uplift individual
        2. Asignación diferencial de tratamiento
        3. Heterogeneidad del efecto de tratamiento
        4. Segmentos de alto impacto incremental
        5. Evitar targeting de usuarios que igual iban a convertir
        6. Riesgo ético en targeting selectivo
        7. Evaluación retrospectiva (post-hoc)
        8. Validación con experimentos A/B
        9. Comunicación de impacto incremental al negocio
        10. Uso en marketing, retención y pricing
      10. Detección temprana de degradación (drift de datos y drift de concepto)
        1. Monitoreo de distribución de entrada
        2. Monitoreo de distribución de salida
        3. Detección de drift de etiquetas
        4. Alarmas de performance bajo umbral
        5. Degradación localizada en un segmento
        6. Alertas operativas automáticas
        7. Re-entrenamiento gatillado por drift
        8. Validación previa al redeploy
        9. Rollback seguro
        10. Documentación del incidente de modelo
      11. Aprendizaje en línea y adaptación continua
        1. Entrenamiento incremental
        2. Actualización de pesos sin reentrenar desde cero
        3. Feature stores en streaming
        4. Manejo de concepto cambiante
        5. Modelos que evolucionan con el usuario
        6. Riesgo de deriva hacia sesgos
        7. Métricas en near-real-time
        8. Seguridad ante inyección maliciosa de datos
        9. Retención de conocimiento útil antiguo
        10. Validación continua en producción
      12. Aprendizaje activo (el modelo pide etiquetas donde tiene más incertidumbre)
        1. Estrategias de muestreo por incertidumbre
        2. Estrategias de muestreo por desacuerdo entre modelos
        3. Priorización de ejemplos “difíciles”
        4. Reducción de costo de etiquetado humano
        5. Bucle humano-en-el-loop
        6. Mejora dirigida en métricas críticas
        7. Foco en clases raras / fraude
        8. Curación progresiva del dataset
        9. Evaluación del beneficio marginal de cada etiqueta nueva
        10. Riesgo de sesgar el dataset con feedback iterativo
    7. Deep Learning: fundamentos

      1. Neuronas artificiales y perceptrón multicapa
        1. Neurona lineal y función de activación
        2. Perceptrón simple y límite de separación lineal
        3. Perceptrón multicapa (MLP)
        4. Capas ocultas y capacidad de aproximación universal
        5. Tamaño de capa vs capacidad del modelo
        6. Arquitecturas totalmente conectadas
        7. Normalización de entrada
        8. Saturación de activaciones clásicas (sigmoid/tanh)
        9. Vanishing gradient en redes profundas
        10. Relación con regresión logística y softmax
      2. Redes densas feed-forward
        1. Capas lineales encadenadas
        2. Bloque lineal + no lineal como unidad básica
        3. Profundidad vs ancho
        4. Funciones de activación modernas (ReLU y variantes)
        5. Batch-wise training
        6. Regularización con dropout en capas densas
        7. Normalización entre capas
        8. Inicialización adecuada para redes profundas
        9. Capacidad de memorizar vs generalizar
        10. Límites en datos estructurados/tabulares
      3. Funciones de activación y normalización
        1. Sigmoid y saturación
        2. tanh y centrado en cero
        3. ReLU y variantes (LeakyReLU, GELU)
        4. Softmax para clasificación multiclase
        5. Batch Normalization
        6. Layer Normalization
        7. Normalización como estabilizador de gradientes
        8. Efecto en velocidad de convergencia
        9. Normalización como regularización implícita
        10. Normalización vs residual connections
      4. Retropropagación del gradiente
        1. Derivadas en capas encadenadas
        2. Regla de la cadena en alta dimensión
        3. Forward pass vs backward pass
        4. Cálculo eficiente con grafos computacionales
        5. Vanishing / exploding gradients
        6. Clipping de gradiente
        7. Retropropagación en redes recurrentes
        8. Retropropagación en arquitecturas con saltos residuales
        9. Autograd y frameworks modernos
        10. Coste computacional y memoria
      5. Inicialización de pesos y estabilidad numérica
        1. Inicialización aleatoria uniforme vs normal
        2. Xavier/Glorot initialization
        3. He initialization para ReLU
        4. Simetría rota entre neuronas
        5. Escalamiento adecuado por capa
        6. Profundidad y degradación del gradiente
        7. Efecto de la inicialización en la velocidad de convergencia
        8. Semillas aleatorias y reproducibilidad
        9. Precisión numérica (float32, float16, bfloat16)
        10. Estabilidad en hardware acelerado (GPU/TPU)
      6. Regularización en redes neuronales (dropout, weight decay)
        1. Dropout como ruido estructurado
        2. Weight decay como penalización L2
        3. Early stopping
        4. Data augmentation
        5. Label smoothing
        6. Mixup y variantes
        7. Normalización como regularización implícita
        8. Sparsity inducida
        9. Control de sobreajuste en datasets pequeños
        10. Impacto en interpretabilidad
      7. Ajuste de hiperparámetros en redes profundas
        1. Learning rate y schedulers
        2. Tamaño de batch
        3. Elección de optimizador (SGD, Adam, AdamW)
        4. Profundidad y ancho de la red
        5. Dropout rate y regularización
        6. Número de épocas
        7. Warmup de learning rate
        8. Grid search vs búsqueda bayesiana
        9. Tuning específico por tarea (visión, NLP)
        10. Tuning bajo restricción de cómputo
      8. Funciones de pérdida para clasificación y regresión
        1. Cross-entropy (clasificación multiclase)
        2. Binary cross-entropy (clasificación binaria)
        3. Softmax + NLLLoss
        4. MSE / MAE (regresión)
        5. Huber / Smooth L1
        6. Triplet loss y contrastive loss
        7. Focal loss para clases desbalanceadas
        8. Pérdidas orientadas a ranking
        9. Pérdidas multitarea
        10. Pérdidas personalizadas por negocio
    8. Arquitecturas profundas avanzadas

      1. Redes convolucionales (CNN) para visión
        1. Convolución como extracción local de patrones
        2. Filtros / kernels y canales
        3. Receptive field y profundidad
        4. Invariancia traslacional
        5. Arquitecturas clásicas (LeNet, AlexNet)
        6. Arquitecturas modernas (ResNet, EfficientNet)
        7. BatchNorm en visión
        8. Data augmentation en visión
        9. Entrenamiento con datasets grandes vs pequeños
        10. Transfer learning en visión
      2. Pooling, padding y bloques tipo ResNet
        1. Max pooling vs average pooling
        2. Stride y downsampling espacial
        3. Padding y preservación de tamaño
        4. Problema del gradiente en redes muy profundas
        5. Saltos residuales (skip connections)
        6. Bloques básicos y bottleneck blocks
        7. Normalización dentro del bloque residual
        8. Profundidad extrema (50+ capas)
        9. Eficiencia computacional y memoria
        10. Estabilidad de entrenamiento con residuals
      3. Redes recurrentes (RNN, LSTM, GRU)
        1. Modelado secuencial explícito
        2. Exploding/vanishing gradients en RNN clásicas
        3. Celdas LSTM y compuertas
        4. GRU como versión simplificada
        5. Estado oculto como memoria
        6. Procesamiento paso a paso vs batching
        7. Modelos many-to-one / many-to-many
        8. Limitaciones en secuencias largas
        9. Regularización en RNNs (dropout recurrente)
        10. Aplicaciones en series temporales y texto
      4. Temporal Convolutional Networks
        1. Convoluciones causales
        2. Campos receptivos dilatados
        3. Paralelismo frente a RNN secuenciales
        4. Estabilidad del gradiente en secuencias largas
        5. Predicción multihorizonte
        6. Uso en forecasting temporal
        7. Aplicación en señales industriales
        8. Comparación con LSTM
        9. Limitaciones con dependencias muy largas
        10. Híbridos TCN + atención
      5. Mecanismos de atención y self-attention
        1. Atención como ponderación contextual
        2. Query, Key, Value
        3. Atención escalada por producto punto
        4. Multi-Head Attention
        5. Atender largas secuencias
        6. Atención causal vs bidireccional
        7. Atención cruzada (cross-attention)
        8. Coste cuadrático y variantes eficientes
        9. Interpretabilidad de mapas de atención
        10. Atención en visión y audio
      6. Transformers y arquitecturas encoder-decoder
        1. Encoder puro (BERT-like)
        2. Decoder puro (GPT-like)
        3. Encoder-decoder (T5, seq2seq moderna)
        4. Positional encoding
        5. Normalización por capa
        6. Máscaras de atención y control de contexto
        7. Tareas de completado y traducción
        8. Scaling law y tamaño de modelo
        9. Fine-tuning vs prompting
        10. Limitaciones de contexto
      7. Modelos generativos (autoencoders, GANs, modelos de difusión)
        1. Autoencoder clásico (reconstrucción)
        2. Autoencoder variacional (VAE)
        3. Latent space continuo
        4. GANs: generador vs discriminador
        5. Inestabilidad de entrenamiento en GANs
        6. Difusión directa e inversa (denoising diffusion)
        7. Control de estilo y condicionamiento
        8. Generación de imagen y audio
        9. Deepfakes y ética de generación
        10. Métricas de calidad generativa (FID, IS)
      8. Modelos multimodales (imagen-texto, audio-texto, fusión sensorial)
        1. Alineamiento entre modalidades (CLIP-style)
        2. Representaciones compartidas entre texto e imagen
        3. Audio-texto y ASR neuronal
        4. Video + texto + contexto temporal
        5. Fusión sensorial (imagen + LiDAR)
        6. Aprendizaje contrastivo multimodal
        7. grounding en el mundo físico
        8. Captura de contexto situacional
        9. Limitaciones de sesgo modal
        10. Aplicaciones en robótica y percepción autónoma
    9. Transfer learning, auto-supervisión y modelos fundacionales

      1. Transfer learning clásico (pre-entrenar y ajustar)
        1. Fine-tuning completo vs capas congeladas
        2. Reutilización de features visuales
        3. Adaptación de modelos de texto a dominios específicos
        4. Reaprovechamiento en datasets pequeños
        5. Catastrophic forgetting al ajustar demasiado
        6. Selección de capa de corte
        7. Adaptación de salida (head) a nueva tarea
        8. Curva de datos requeridos vs tamaño del modelo
        9. Riesgos de overfitting en dominios niche
        10. Métricas para validar transferencia exitosa
      2. Aprendizaje auto-supervisado (contrastive, enmascarado, predicción de la siguiente parte)
        1. Pretexto sin etiquetas humanas
        2. Masked language modeling
        3. Contrastive learning (SimCLR, InfoNCE)
        4. Predict-the-next-token
        5. Bootstrap sin negativos explícitos
        6. Pre-entrenamiento en visión sin etiquetas
        7. Representaciones invariantes a augmentations
        8. Reducción del costo de etiquetado
        9. Generalización a múltiples tareas downstream
        10. Limitaciones por sesgos del corpus
      3. Modelos fundacionales y LLMs como base generalista
        1. Escalamiento de parámetros y datos
        2. Capacidades emergentes
        3. In-context learning
        4. Razonamiento encadenado (chain-of-thought, a alto nivel)
        5. Uso como motor semántico general
        6. Adaptación a múltiples tareas sin reentrenar
        7. Riesgos de alucinación
        8. Riesgos de filtrado de datos sensibles
        9. Dependencia de infraestructura grande
        10. Impacto en ciclos de desarrollo de productos
      4. Fine-tuning eficiente (LoRA, adapters, distillation)
        1. LoRA y baja-rango en matrices de atención
        2. Adapters como capas insertables
        3. Pocas actualizaciones de pesos (PEFT)
        4. Distillation professor-student
        5. Compresión de modelos grandes a modelos ligeros
        6. Coste de inferencia reducido
        7. Ajuste rápido por cliente / vertical
        8. Reentrenamiento frecuente con poco cómputo
        9. Preservación del conocimiento base
        10. Riesgos de degradación de calidad
      5. Continual learning y olvido catastrófico
        1. Catastrophic forgetting en ajuste secuencial
        2. Regularización para retener conocimiento previo
        3. Rehearsal y memoria episódica
        4. Métodos basados en importancia de parámetros
        5. Adaptación incremental de dominio
        6. Lifelong learning
        7. Aprendizaje personalizable por usuario
        8. Control de deriva semántica
        9. Riesgos de sesgo temporal
        10. Métricas para medir retención vs adaptación
    10. Lenguaje natural, recuperación aumentada y agentes

      1. Representaciones de texto (TF-IDF, embeddings)
        1. Bolsa de palabras y conteo de términos
        2. TF-IDF como ponderación de relevancia
        3. Word embeddings densos (word2vec, GloVe)
        4. Subword embeddings
        5. Contextual embeddings (transformers)
        6. Espacios semánticos y similitud coseno
        7. Reducción de dimensionalidad en texto
        8. Detección de sinónimos / relaciones semánticas
        9. Limitaciones en polisemia
        10. Sesgos lingüísticos en embeddings
      2. Modelos de lenguaje (n-gramas, RNNs, Transformers)
        1. Modelos de n-gramas y probabilidad condicional
        2. Suavizado (smoothing) en n-gramas
        3. Modelos recurrentes para texto
        4. Atención en secuencias largas
        5. Transformers autoregresivos
        6. Modelos enmascarados tipo BERT
        7. Perplejidad como métrica de calidad
        8. Modelos generativos vs clasificadores
        9. Control de estilo / tono
        10. Costos de entrenamiento de LM
      3. Modelos de lenguaje grandes (LLMs) y alineación básica
        1. Instrucción y ajuste con feedback humano
        2. RLHF (refuerzo con feedback humano) a alto nivel
        3. Seguridad y filtrado de output
        4. Mitigación de toxicidad y bias
        5. Control de tono institucional / compliance
        6. Control de alucinaciones
        7. Uso como asistente interno especializado
        8. Riesgos de fuga de información confidencial
        9. Evaluación cualitativa vs cuantitativa
        10. Evaluación por panel humano
      4. Adaptación de dominio y fine-tuning instruccional
        1. Especialización a un vertical (legal, salud, finanzas)
        2. Ajuste de vocabulario técnico
        3. Ajuste de estilo y formato de salida
        4. Incorporación de políticas internas
        5. Inyección de documentación propietaria
        6. Control de tono hacia cliente final
        7. Personalización por segmento de usuario
        8. Mitigación de contradicciones internas
        9. Evaluación con datos de dominio
        10. Riesgos legales de datos sensibles
      5. Resumen automático, QA, NER y extracción de información
        1. Resumen extractivo vs abstractivo
        2. Pregunta-respuesta factual
        3. QA abierta vs QA cerrada a un corpus
        4. Reconocimiento de entidades (NER)
        5. Relación entre entidades (RE)
        6. Extracción de eventos
        7. Clasificación de intención
        8. Detección de sentimiento / toxicidad
        9. Evaluación de precisión factual
        10. Uso en automatización operativa
      6. Recuperación aumentada de contexto (búsqueda semántica, RAG)
        1. Indexación vectorial
        2. Similaridad semántica
        3. Recuperación de contexto relevante
        4. Inyección de contexto en el prompt
        5. Grounding en datos internos
        6. Actualización sin reentrenar el modelo base
        7. Control de alucinación vía evidencia recuperada
        8. Privacidad y control de acceso al corpus
        9. Latencia de recuperación vs latencia de respuesta
        10. Trazabilidad y citabilidad de la respuesta
      7. Orquestación de agentes que usan herramientas externas (tool-use)
        1. LLM como planificador de alto nivel
        2. Llamadas a APIs externas
        3. Razonamiento paso a paso condicionado por feedback
        4. Recuperación iterativa de información
        5. Acciones autónomas con confirmación humana
        6. Enrutamiento de consultas a la herramienta correcta
        7. Memoria a corto plazo del agente
        8. Memoria a largo plazo del agente
        9. Rastreabilidad de decisiones del agente
        10. Riesgos de acción no autorizada
      8. Seguridad y alucinación
        1. Alucinación factual
        2. Respuesta inventada con tono seguro
        3. Inyección de prompt maliciosa
        4. Jailbreaks y extracción de instrucciones internas
        5. Filtrado de respuestas sensibles
        6. Controles de compliance en entornos regulados
        7. Limitación de alcance (scoping) del agente
        8. Reducción de fuga de datos internos
        9. Métricas de seguridad de output
        10. Auditoría humana continua
    11. Visión computacional y aprendizaje en grafos

      1. Aumentación y preprocesamiento de imágenes
        1. Normalización y estandarización de píxeles
        2. Aumentación geométrica (rotar, escalar, recortar)
        3. Aumentación fotométrica (brillo, contraste, ruido)
        4. Aumentación específica de dominio (defectos industriales, clima)
        5. Balanceo de clases mediante aumentación
        6. Redimensionamiento y recorte consistente
        7. Limpieza de datos corruptos / etiquetado dudoso
        8. Preprocesamiento para inferencia en tiempo real
        9. Data augmentation agresiva vs estabilidad del modelo
        10. Estandarización de pipelines de preprocesamiento
      2. Clasificación, detección y segmentación de objetos
        1. Clasificación de imagen completa
        2. Localización con bounding boxes
        3. Detección de objetos (one-stage vs two-stage)
        4. Segmentación semántica
        5. Segmentación instancia y panóptica
        6. Métricas tipo IoU / mAP
        7. Manejo de clases raras y objetos pequeños
        8. Inferencia en tiempo real (cámaras, móviles)
        9. Uso en visión industrial / inspección
        10. Tracking de objetos persistentes
      3. Visión 3D, nubes de puntos y seguimiento en video
        1. Nubes de puntos (LiDAR, depth cameras)
        2. Reconstrucción 3D aproximada
        3. Estimación de pose 3D
        4. Estimación de flujo óptico y movimiento
        5. Seguimiento multi-objeto en video
        6. Percepción para conducción autónoma / robótica
        7. Representaciones voxel vs point-based
        8. Limpieza de ruido en sensores físicos
        9. Sincronización de frames y sensores
        10. Métricas de estabilidad temporal
      4. Fusión sensorial (imagen + LiDAR)
        1. Calibración entre sensores
        2. Sincronización temporal multi-sensor
        3. Proyección de nube de puntos al espacio imagen
        4. Late fusion vs early fusion
        5. Representaciones multimodales compartidas
        6. Manejo de sensores faltantes / degradados
        7. Detección robusta en condiciones adversas (noche, lluvia)
        8. Redundancia para seguridad
        9. Uso en robótica móvil y vehículos autónomos
        10. Coste computacional en el borde (edge)
      5. Representación de grafos (nodos, aristas, atributos)
        1. Grafos homogéneos y heterogéneos
        2. Grafos dirigidos vs no dirigidos
        3. Atributos en nodos y aristas
        4. Subgrafos y vecindarios k-hop
        5. Caminos, ciclos y conectividad
        6. Embeddings iniciales de nodos
        7. Grafos dinámicos / temporales
        8. Desbalance de grado y hubs
        9. Normalización estructural
        10. Coste de muestrear vecindarios grandes
      6. Redes neuronales en grafos (message passing, GCN, GAT)
        1. Message passing neural networks
        2. GCN (Graph Convolutional Networks)
        3. GAT (Graph Attention Networks)
        4. Pooling en grafos
        5. Graph readout global
        6. Grafos inducidos por similitud
        7. Grafos espaciotemporales
        8. Escalabilidad a grafos gigantes
        9. Over-smoothing en capas profundas
        10. Regularización estructural
      7. Aplicaciones en química, fraude, redes sociales y recomendación
        1. Predicción de propiedades moleculares
        2. Descubrimiento de fármacos
        3. Detección de fraude transaccional
        4. Detección de comunidades y colusión
        5. Recomendación basada en grafo usuario-item
        6. Análisis de influencia social
        7. Moderación y seguridad en plataformas
        8. Detección de bots y actividad coordinada
        9. Análisis de conectividad crítica (infraestructura)
        10. Ranking contextualizado por red social
    12. Series de tiempo avanzadas y señales

      1. Estacionalidad, tendencia y descomposición
        1. Descomposición aditiva vs multiplicativa
        2. Tendencia a largo plazo
        3. Efectos estacionales fijos y móviles
        4. Efectos calendario (fines de semana, festivos)
        5. Cambios estructurales y rupturas
        6. Señales de saturación / madurez
        7. Ajuste estacional previo al modelado
        8. Reversión de tendencia (ciclos)
        9. Interpretación de estacionalidad ante negocio
        10. Comparación entre segmentos o regiones
      2. Forecasting probabilístico y multihorizonte
        1. Predicción puntual vs distribución completa
        2. Intervalos de predicción y cuantiles
        3. Predicción a distintos horizontes (1h, 24h, 7d)
        4. Forecast jerárquico (categoría → producto)
        5. Forecast agregable por región / canal
        6. Penalización por sobreestimación vs subestimación
        7. Métricas (MAPE, sMAPE, MASE)
        8. Ensembles de modelos de forecasting
        9. Validación temporal rolling-origin
        10. Evaluación financiera del error de forecast
      3. Detección de anomalías en tiempo real
        1. Umbrales dinámicos dependientes del contexto
        2. Modelos de predicción + error residual
        3. Señales multivariantes correlacionadas
        4. Alertas tempranas vs ruido operativo
        5. Confirmación humana en loop
        6. Priorización según impacto
        7. Reducción de falsas alarmas
        8. Persistencia de anomalía vs pico aislado
        9. Anomalías estacionales esperables
        10. Auditoría y etiquetado continuo de eventos raros
      4. Transformers temporales y predicción secuencial multivariante
        1. Atención en series largas
        2. Manejo de múltiples variables simultáneas
        3. Encoding temporal / posicional para tiempo continuo
        4. Predicción multihorizonte con un solo modelo
        5. Captura de dependencias no lineales complejas
        6. Manejo de datos faltantes en streams
        7. Regularización en tareas con poco histórico
        8. Transferencia entre series similares
        9. Coste de inferencia en tiempo real
        10. Interpretabilidad de atención temporal
      5. Monitoreo operacional en streaming (alertas, SLA de detección)
        1. Ingesta de datos en vivo
        2. Extracción de features en línea
        3. Inferencia en baja latencia
        4. Alarmas automáticas y escalamiento
        5. SLAs de detección y respuesta
        6. Trazabilidad de incidentes
        7. Versionado de reglas / modelos en producción
        8. Re-entrenamiento continuo con datos recientes
        9. Métricas near-real-time para negocio
        10. Integración con dashboards y on-call
    13. Aprendizaje por refuerzo y control

      1. Formulación MDP (estados, acciones, recompensas)
        1. Estado, observación y estado parcial
        2. Política como función de decisión
        3. Retorno descontado
        4. Recompensas escasas vs denso-recompensadas
        5. Horizonte finito vs infinito
        6. Exploración vs explotación
        7. Determinístico vs estocástico
        8. Entornos simulados vs reales
        9. Modelos off-policy vs on-policy
        10. Ingeniería de la recompensa
      2. Métodos tabulares (Q-Learning, SARSA)
        1. Tabla Q como aproximación de valor acción-estado
        2. Actualización incremental de Q
        3. ε-greedy como política exploratoria
        4. SARSA vs Q-Learning
        5. Convergencia en espacios pequeños
        6. Limitaciones en espacios grandes / continuos
        7. Trade-off velocidad / exploración
        8. Variantes con decaimiento de ε
        9. Ruido en la estimación de valor
        10. Problemas clásicos tipo gridworld
      3. Deep Q-Networks (DQN)
        1. Aproximación con red neuronal del valor Q
        2. Replay buffer
        3. Target network
        4. Estabilidad de entrenamiento
        5. Generalización entre estados parecidos
        6. Acción discreta vs continua
        7. DQN extendido (Double DQN, Dueling DQN)
        8. Sample efficiency
        9. Escalado a entornos complejos (juegos, control)
        10. Riesgos de sobreajuste al simulador
      4. Policy Gradient y actor-critic (PPO)
        1. Optimizar la política directamente
        2. Gradiente de la expectativa de retorno
        3. Variancia alta del estimador
        4. Baselines y reducción de varianza
        5. Actor-critic (actor actualiza política, critic evalúa)
        6. PPO (Proximal Policy Optimization)
        7. Restricción de actualización para estabilidad
        8. Continuous control y acciones continuas
        9. Sample efficiency en tareas físicas
        10. Robustez frente a pequeñas perturbaciones
      5. Control continuo y robótica
        1. Espacios de acción continuos
        2. Control motor fino
        3. Políticas reactivas vs planeamiento
        4. Imitation learning / behavioral cloning
        5. Sim2Real (transferencia simulador → mundo real)
        6. Seguridad física y límites de fuerza
        7. Retroalimentación sensorial ruidosa
        8. Latencia y control en tiempo real
        9. Fallos catastróficos y fallback seguro
        10. Optimización energética y eficiencia mecánica
      6. Multiagente y coordinación
        1. Juegos de suma cero vs cooperación
        2. Políticas independientes vs coordinadas
        3. Comunicación explícita entre agentes
        4. Equilibrios y estrategias estables
        5. Transferencia de políticas entre agentes
        6. Escalamiento con número de agentes
        7. Incentivos mal diseñados (colusión, abuso)
        8. Credit assignment multiagente
        9. Emergencia de roles especializados
        10. Aplicaciones en logística y sistemas distribuidos
      7. Seguridad, exploración controlada y alineación en RL
        1. Exploración segura en entornos físicos
        2. Restricciones duras (safety constraints)
        3. Penalización de acciones peligrosas
        4. Protección frente a recompensas mal definidas
        5. Catastrophic actions y apagado seguro
        6. Interpretabilidad de la política aprendida
        7. Supervisión humana en el loop
        8. Especificación de objetivos alineados
        9. Fallos éticos en entornos sociales simulados
        10. Transferencia a entornos reales regulados
    14. Sistemas de recomendación y personalización

      1. Segmentación de usuarios y clustering aplicado
        1. Segmentación demográfica
        2. Segmentación por comportamiento de uso
        3. Segmentación por valor económico
        4. Segmentación por riesgo / churn
        5. Clustering clásico (k-means) aplicado a usuarios
        6. Cohortes temporales
        7. Microsegmentación dinámica
        8. Actualización periódica vs en línea
        9. Privacidad e identificación indirecta
        10. Uso para campañas y targeting
      2. Filtrado colaborativo y factorización matricial
        1. Matriz usuario–ítem
        2. Relleno de entradas faltantes
        3. Descomposición en factores latentes
        4. SVD y variantes implícitas
        5. Cold start de usuarios nuevos
        6. Cold start de ítems nuevos
        7. Sesgos de popularidad
        8. Regularización de factores
        9. Evaluación tipo top-N recomendados
        10. Escalamiento a catálogos grandes
      3. Modelos basados en contenido y señales de contexto
        1. Perfilado del ítem (tags, texto, metadata)
        2. Perfilado del usuario (historial, preferencias)
        3. Contexto temporal (hora del día, estacionalidad)
        4. Contexto espacial / geográfico
        5. Contexto del dispositivo / canal
        6. Recomendación contextualizada
        7. Explicabilidad basada en atributos
        8. Sesgo de exposición (lo que muestras condiciona lo que clickean)
        9. Personalización sensible a la situación
        10. Riesgos de filtrado burbuja
      4. Ranking, CTR prediction y métricas top-K
        1. Modelos de predicción de probabilidad de clic (CTR)
        2. Score de relevancia
        3. Ordenar resultados como problema de ranking
        4. Métricas top-K (recall@K, precision@K)
        5. Diversidad vs precisión pura
        6. Serendipia y novedad
        7. Calibración de la probabilidad de clic
        8. Positional bias y corrección
        9. Aprendizaje a partir de feedback implícito
        10. Evaluación online vs offline en recomendación
      5. Recomendadores secuenciales y en tiempo real
        1. Modelado de la secuencia de interacción
        2. RNN / Transformers para sesiones de usuario
        3. Predicción del próximo ítem
        4. Recomendación contextual en vivo
        5. Latencia extrema (ms-level)
        6. Actualización continua de embeddings de usuario
        7. Multi-armed bandits para exploración
        8. Protección contra loops de auto-refuerzo
        9. Detección de comportamiento fraudulento
        10. Escalamiento en catálogos masivos y rotación rápida
      6. Personalización dinámica en producto
        1. Contenido dinámico por usuario
        2. Reordenamiento de UI / feed personalizado
        3. Ofertas / precios personalizados
        4. Priorización de alertas / notificaciones
        5. Experiencias adaptativas (onboarding inteligente)
        6. Recomendación contextual en distintas superficies (web, móvil, correo)
        7. Controles de usuario (opt-out, afinamiento manual)
        8. Riesgos regulatorios en personalización
        9. Impacto en métricas de retención y conversión
        10. Auditoría de sesgo y trato diferencial
      7. Interpretabilidad y explicabilidad para equipos de negocio
        1. “Te recomendamos esto porque…”
        2. Destacar atributos relevantes del ítem
        3. Transparencia regulatoria (por qué recibí esta oferta)
        4. Explicar ranking a stakeholders no técnicos
        5. Métricas de salud del sistema de recomendación
        6. Fairness entre segmentos de usuarios
        7. Auditoría de auto-refuerzo de contenido
        8. Riesgo reputacional de malas sugerencias
        9. Controles humanos sobre recomendaciones críticas
        10. Documentación y accountability del motor de recomendación
    15. Ingeniería de datos y plataformas de datos

      1. Modelado analítico orientado a negocio
        1. Identificación de métricas clave del negocio
        2. Modelos de datos centrados en preguntas reales
        3. Definición única de verdad (single source of truth)
        4. KPI operativos vs KPI estratégicos
        5. Métricas derivadas vs métricas fundamentales
        6. Trazabilidad desde métrica hasta tabla origen
        7. Diseño pensando en stakeholders no técnicos
        8. Versionado semántico de métricas
        9. Alineación entre analítica y reporting financiero
        10. Gobierno de definiciones métricas
      2. Modelado dimensional (hechos y dimensiones)
        1. Tablas de hechos (transacciones, eventos)
        2. Tablas de dimensiones (quién, qué, dónde)
        3. Dimensiones lentamente cambiantes (SCD)
        4. Granularidad de los hechos
        5. Métricas aditivas, semiaditivas y no aditivas
        6. Conformidad de dimensiones entre dominios
        7. Join patterns estándar
        8. Minimizar duplicación en data marts
        9. Documentación de llaves de negocio
        10. Impacto del modelado dimensional en performance BI
      3. Data warehouse, data lakes y lakehouses
        1. Almacén estructurado vs repositorio crudo
        2. ETL hacia warehouse vs ELT en lake
        3. Lakehouse como capa unificada
        4. Tablas gobernadas vs zonas “raw”
        5. Gestión de esquemas en zonas crudas
        6. Costos de almacenamiento vs costos de consulta
        7. Seguridad y acceso por capa
        8. Uso analítico vs uso ML
        9. Catálogo centralizado de datasets productivos
        10. Evolución histórica de warehouse → lake → lakehouse
      4. Formatos columnares y almacenamiento orientado a análisis
        1. Columnar vs row-oriented
        2. Formatos tipo Parquet / ORC
        3. Compresión y particionamiento
        4. Pruning de columnas para queries analíticas
        5. Z-Ordering / clustering físico
        6. Almacenamiento frío vs caliente
        7. Trade-off costo/latencia acceso
        8. Indexación secundaria
        9. Time-partitioned tables
        10. Impacto en costos de exploración ad-hoc
      5. Catálogo de datos, linaje y descubribilidad
        1. Metadatos técnicos y de negocio
        2. Quién usa qué tabla
        3. Linaje columna a columna
        4. Búsqueda semántica de datasets
        5. Clasificación de sensibilidad
        6. Owners y stewards de datos
        7. Calidad declarada vs medida
        8. Deprecación y archivado controlado
        9. Auditoría de accesos
        10. Discovery self-service para analistas
      6. Gobernanza de acceso y control de permisos
        1. Control de acceso basado en roles
        2. Enmascaramiento de columnas sensibles
        3. Segmentación por dominio/área de negocio
        4. Separación entre ambientes (dev / prod)
        5. Auditoría de consultas sensibles
        6. Acceso temporal / Just-In-Time
        7. Revocación automatizada
        8. Registros de cumplimiento normativo
        9. Data sharing interno controlado
        10. Data sharing externo (partners, clientes)
      7. Retención, archivado y ciclo de vida de los datos
        1. Políticas de retención legal
        2. Borrado seguro / derecho al olvido
        3. Datos fríos / históricos vs datos activos
        4. Archivado en capas de bajo costo
        5. Snapshots históricos para auditoría
        6. Versiones congeladas para reproducibilidad
        7. Limpieza de datos obsoletos
        8. Riesgos regulatorios por sobre-retención
        9. Impacto en costos de almacenamiento largo plazo
        10. Estrategias de restore ante incidentes
      8. Integración con herramientas de BI y tableros ejecutivos
        1. Dashboards operativos vs ejecutivos
        2. Métrica única y consistente entre tableros
        3. Control de acceso a dashboards sensibles
        4. Alertas automáticas y umbrales
        5. Versionado de dashboards
        6. Catálogo de reportes oficiales
        7. Autoservicio para analistas
        8. Storytelling visual para directores
        9. Paneles regulatorios / auditoría
        10. Métricas en “tiempo casi real” para negocio
      9. Exposición de datos como servicio (APIs analíticas)
        1. APIs para consumo analítico interno
        2. Limitar filtrado pesado en cliente
        3. Agregaciones precomputadas
        4. Controles de acceso por token / rol
        5. Cuotas y rate limiting
        6. Versionado de endpoints
        7. Estabilidad contractual de la respuesta
        8. Auditoría de uso de APIs
        9. Latencia objetivo de las respuestas
        10. Exposición de features a sistemas ML online
      10. ETL / ELT y pipelines reproducibles y declarativos
        1. Extracción desde fuentes heterogéneas
        2. Transformaciones determinísticas
        3. Declaratividad vs scripting imperativo
        4. Infra como código para pipelines
        5. Control de versiones del pipeline
        6. Idempotencia de tareas
        7. Gestión de dependencias entre pasos
        8. Rollback de pipelines defectuosos
        9. Auditoría de ejecuciones
        10. Testing automatizado de transformaciones
      11. Procesamiento batch a gran escala
        1. Ingesta nocturna / periódica
        2. Ventanas de corte (close of business)
        3. Reprocesamiento histórico
        4. Control de costos en batch jobs pesados
        5. Fallos intermedios y reintentos
        6. Paralelización horizontal
        7. Orden de dependencia entre jobs
        8. SLA de disponibilidad de datos batch
        9. Validación de integridad al final del job
        10. Publicación de resultados listos para consumo
      12. Procesamiento streaming y datos en flujo continuo
        1. Ingesta en tiempo real (event buses)
        2. Transformación en streaming
        3. Computo ventana fija / sliding window
        4. Estado en streaming (stateful operators)
        5. Deduplicación en tiempo real
        6. Aseguramiento “exactly-once” vs “at-least-once”
        7. Latencia extremo a extremo
        8. Alertas inmediatas y detección temprana
        9. Enriquecimiento con datos de referencia
        10. Publicación a dashboards en vivo
      13. Orquestación de tareas y scheduling de flujos
        1. DAGs de dependencias
        2. Schedulers declarativos
        3. Retries y backoff exponencial
        4. Prioridades de ejecución
        5. Alertas en falla
        6. Auditoría de ejecuciones históricas
        7. Deploy controlado de nuevas versiones de flujo
        8. Separación de entornos (dev / staging / prod)
        9. Gobernanza de quién puede editar qué
        10. Escalamiento horizontal de workers
      14. Optimización y perfilado de pipelines
        1. Perfilado de pasos costosos
        2. Cuellos de botella de I/O
        3. Optimización de joins caros
        4. Reducción de shuffle / movimiento de datos
        5. Pruning de columnas no usadas
        6. Indexación / particionamiento adecuado
        7. Reuso de resultados intermedios cacheados
        8. Costeo por pipeline / job
        9. Alertas por degradación de performance
        10. Budgeting de cómputo por equipo
      15. Pruebas de calidad, contratos de datos y SLAs de datos
        1. Tests de esquema (tipos, nullability)
        2. Tests de rangos / dominio válido
        3. Tests de unicidad y llaves
        4. Tests de completitud mínima
        5. Alertas por caída de calidad
        6. Contratos de datos entre equipos (data contracts)
        7. SLAs de frescura y disponibilidad
        8. Versiones incompatibles de columnas
        9. Gestión de breaking changes
        10. Reportes semanales de salud de datos
      16. Observabilidad de datos (frescura, completitud, anomalías)
        1. Monitoreo de latencia de ingesta
        2. Monitoreo de tasa de llegada de eventos
        3. Detección de huecos en datos
        4. Detección de outliers estadísticos en métricas clave
        5. Alarmas de ruptura de tendencia
        6. Panel de salud de tablas críticas
        7. Auditoría de acceso no esperado
        8. Alertas de PII fuera de lugar
        9. Gestión de incidentes de datos
        10. Postmortems y acciones correctivas
      17. Data mesh y dominios de datos
        1. Dominio de datos como “producto” interno
        2. Propiedad distribuida por equipo de negocio
        3. Estándares comunes de calidad y acceso
        4. SLA de datos por dominio
        5. Descubribilidad federada
        6. Interoperabilidad entre dominios
        7. Gobernanza federada vs centralizada
        8. Reducción de cuellos de botella del “equipo de datos central”
        9. Escalamiento organizacional y autonomía
        10. Riesgos de inconsistencia métrica entre dominios
    16. Big Data y computación distribuida

      1. Concepto de big data (volumen, velocidad, variedad, veracidad, valor)
        1. Volumen: datasets masivos
        2. Velocidad: ingestión en tiempo casi real
        3. Variedad: fuentes heterogéneas
        4. Veracidad: ruido y calidad dudosa
        5. Valor: utilidad económica real
        6. Datos estructurados vs logs crudos
        7. Limitaciones de herramientas tradicionales
        8. Trade-off latencia vs costo
        9. Casos que realmente requieren big data
        10. Antipatrones de “big data por moda”
      2. Arquitecturas distribuidas de datos
        1. Clusters escalables horizontalmente
        2. Procesamiento paralelo tipo map/shuffle/reduce
        3. Separación cómputo/almacenamiento
        4. Elasticidad bajo demanda
        5. Fault tolerance y replicación
        6. Balanceo de carga
        7. Alta disponibilidad
        8. Consistencia eventual vs fuerte
        9. Escalamiento multi-región
        10. Costeo de infraestructura compartida
      3. Sistemas de archivos distribuidos
        1. Almacenamiento en bloques replicados
        2. Metadatos centralizados vs distribuidos
        3. Acceso concurrente masivo
        4. Tolerancia a fallos de nodo
        5. Localidad de datos y afinidad de tareas
        6. Jerarquías de almacenamiento (SSD/HDD/objeto)
        7. Integración con motores de cómputo
        8. Evolución de HDFS a almacenamiento de objetos
        9. Control de permisos en almacenamiento distribuido
        10. Borrado seguro y cumplimiento normativo
      4. Motores de consulta distribuida y SQL distribuido
        1. Procesamiento paralelo de queries
        2. Pushdown de filtros/proyecciones
        3. Optimización de planes de ejecución
        4. Joins distribuidos y shuffle
        5. Caching intermedio
        6. Cost-based optimization
        7. Federated query sobre múltiples fuentes
        8. Latencia vs throughput
        9. Aislamiento entre workloads analíticos
        10. Multitenancy y fairness de recursos
      5. Buses de eventos y colas de mensajería
        1. Publicación/suscripción (pub/sub)
        2. Particionamiento por clave
        3. Orden relativo por partición
        4. Retención por ventana temporal
        5. Reproceso de historial de eventos
        6. Backpressure y control de flujo
        7. Garantías de entrega (at-most-once, at-least-once, exactly-once)
        8. Monitorización de lag del consumidor
        9. Aislamiento de productores “ruidosos”
        10. Integración con pipelines streaming
      6. Procesamiento en tiempo real para decisiones operativas
        1. Enriquecimiento de eventos entrantes con contexto
        2. Scoring en vivo con modelos ML
        3. Alertas operativas automáticas
        4. Detección temprana de fraude / intrusión
        5. Reacción automática (bloqueo, throttling)
        6. Monitorización de SLAs operativos
        7. Dashboards en vivo para turno operativo
        8. Registro auditable de decisiones en línea
        9. Sistemas de baja latencia (<100 ms)
        10. Trade-off precisión vs inmediatez
      7. Integración de telemetría de producto y métricas de negocio a escala
        1. Instrumentación de eventos de uso masivo
        2. Envío confiable desde clientes distribuidos
        3. Alineación de datos de producto con datos financieros
        4. Enriquecimiento con atributos de usuario / cuenta
        5. Métricas de salud del producto en vivo
        6. Correlación entre performance técnica y métricas de negocio
        7. Detección de regresiones tras deploys
        8. Alertas de caída de engagement
        9. Visibilidad unificada para producto / datos / operaciones
        10. Priorización de incidentes según impacto económico
    17. Puesta en producción de modelos (MLOps / LLMOps)

      1. Ciclo de vida del modelo: entrenamiento, validación, despliegue, rollback
        1. Entrenamiento reproducible
        2. Validación previa al deploy
        3. Publicación a un entorno de inferencia
        4. Canary release / lanzamiento gradual
        5. Rollback seguro y rápido
        6. Versionado del modelo desplegado
        7. Gestión de entornos (dev/staging/prod)
        8. Control de dependencias y librerías
        9. Documentación del cambio de modelo
        10. Trazabilidad completa de qué modelo tomó qué decisión
      2. Tracking de experimentos y versionado de artefactos
        1. Registro de hiperparámetros y métricas
        2. Comparación entre runs
        3. Registro de datasets usados
        4. Versionado del código de entrenamiento
        5. Checkpoints de modelos
        6. Artefactos de preprocesamiento
        7. Retención de modelos obsoletos
        8. Auditoría científica / reproducibilidad
        9. Firma y certificación de modelos aprobados
        10. Control de acceso a modelos sensibles
      3. Gestión de características (feature stores)
        1. Definición única y reutilizable de features
        2. Cálculo batch vs cálculo en línea
        3. Consistencia train/serve (offline vs online)
        4. Versionado de features
        5. Catálogo de features aprobadas
        6. Control de acceso a features sensibles
        7. Documentación semántica de cada feature
        8. Monitoreo de drift por feature
        9. Latencia de lectura en producción
        10. Reutilización entre equipos / modelos
      4. Servir modelos en batch y en tiempo real
        1. Scoring batch programado
        2. Scoring bajo demanda (online inference)
        3. Endpoints de predicción
        4. Latencia objetivo por caso de uso
        5. Escalamiento horizontal / autoscaling
        6. Tolerancia a fallos del servicio
        7. Versionado y enrutamiento de modelos
        8. Logging de requests y respuestas
        9. Seguridad y control de acceso a inferencia
        10. Costeo por predicción / por request
      5. Inferencia de baja latencia y costo por predicción
        1. Cuantización de modelos
        2. Compilación / optimización para hardware específico
        3. Batch interno para throughput
        4. Cacheo de resultados frecuentes
        5. Despliegue en edge / on-device
        6. Balance entre precisión y latencia
        7. Trade-off costo cloud vs on-prem
        8. Timeouts y degradación controlada
        9. Elasticidad ante picos de tráfico
        10. Políticas de priorización de requests críticos
      6. Monitorización de deriva y degradación de modelos
        1. Drift de datos de entrada
        2. Drift de la distribución de predicciones
        3. Drift de la relación input→output (concept drift)
        4. Métricas de performance en vivo
        5. Alarmas de performance bajo umbral
        6. Evaluación por subpoblación
        7. Métricas de fairness en producción
        8. Alertas on-call para incidentes de modelo
        9. Registro de incidentes y RCA (root cause analysis)
        10. Plan de respuesta y contención
      7. Retraining continuo y loops de realimentación
        1. Recolección automática de nuevos datos etiquetados
        2. Curación de ejemplos difíciles
        3. Retraining programado vs bajo demanda
        4. Validación automática post-retraining
        5. Aprobación humana previa al redeploy
        6. Gestión de versiones consecutivas
        7. Evitar drift hacia sesgos no deseados
        8. Limpieza de datos tóxicos / adversarios
        9. Documentación de cambios de comportamiento
        10. Evaluación de impacto tras el redeploy
      8. Testing de modelos antes del rollout y validación de seguridad
        1. Tests unitarios de preprocesamiento
        2. Tests de consistencia de features
        3. Tests de estabilidad numérica
        4. Tests de rendimiento en carga
        5. Tests de fairness / sesgo
        6. Tests de “no romper métricas clave”
        7. Evaluación en datos sintéticos adversarios
        8. Red teaming de prompts / modelos de lenguaje
        9. Validación legal / compliance
        10. Firma de aprobación antes de producción
      9. A/B testing en producción y medición de impacto
        1. Traffic splitting entre modelos
        2. Métrica primaria de éxito
        3. Monitoreo en vivo del experimento
        4. Detección de efectos secundarios negativos
        5. Spillover entre variantes
        6. Duración mínima confiable
        7. Decisión de adopción / rollback
        8. Documentación de resultados
        9. Comunicación del impacto a negocio
        10. Reutilización de aprendizajes para próximos lanzamientos
      10. Observabilidad operativa (latencia, throughput, errores)
        1. Métricas de infraestructura (CPU, memoria, GPU)
        2. Latencia p50 / p95 / p99
        3. Throughput sostenido vs pico
        4. Tasa de error / timeouts
        5. Saturación de colas
        6. Caídas de dependencia externa
        7. Alertas en tiempo real
        8. Dashboards para on-call
        9. Registro histórico para auditoría
        10. Priorización de incidentes críticos
      11. SLOs y SLAs para servicios de inferencia
        1. Definición de SLO técnico (latencia, uptime)
        2. Definición de SLA contractual
        3. Alertas al romper SLO
        4. Penalidades por incumplimiento de SLA
        5. SLOs distintos para clientes internos vs externos
        6. Aislamiento de workloads críticos
        7. Planes de contingencia
        8. Backoff / degradación graciosa
        9. Escalamiento operativo formal
        10. Reportes ejecutivos de cumplimiento
      12. Documentación y tarjetas de modelo (model cards)
        1. Descripción de propósito del modelo
        2. Dataset(s) de entrenamiento y sus sesgos
        3. Poblaciones donde funciona bien / mal
        4. Métricas de rendimiento declaradas
        5. Riesgos conocidos y limitaciones
        6. Consideraciones éticas y legales
        7. Requisitos de monitoreo post-despliegue
        8. Controles humanos requeridos
        9. Historial de versiones del modelo
        10. Contacto responsable / ownership claro
    18. Escalamiento, eficiencia y despliegue en el borde

      1. Entrenamiento distribuido (data parallelism, model parallelism, sharding)
        1. Paralelismo de datos vs paralelismo de modelo
        2. Sharding de parámetros y activaciones
        3. All-reduce y sincronización de gradientes
        4. Desacople comunicación / cómputo
        5. Entrenamiento en múltiples GPUs / nodos
        6. Balance de carga entre workers
        7. Checkpointing distribuido tolerante a fallos
        8. Elastic training (recursos que entran/salen)
        9. Estrategias de escalamiento de lotes (batch size scaling)
        10. Costos de red como cuello de botella
      2. Mezcla de expertos y arquitecturas escalables
        1. Mezcla de expertos (MoE) dispersa
        2. Ruteo condicional de tokens / entradas
        3. Escalar parámetros sin escalar cómputo por token
        4. Balance de carga entre expertos
        5. Sparsity estructurada
        6. Especialización de expertos por dominio
        7. Colapso de expertos y mitigaciones
        8. Mezcla de expertos en visión, texto y multmodal
        9. Inferencia distribuida con MoE
        10. Impacto en coste de servir LLMs gigantes
      3. Cuantización, poda y compresión de modelos
        1. Cuantización a menor precisión (fp16, int8, int4)
        2. Poda estructurada y no estructurada
        3. Pruning de canales / neuronas menos útiles
        4. Factorización de matrices de pesos (low-rank)
        5. Distillation (teacher-student)
        6. Minimizar memoria en inferencia
        7. Minimizar latencia en dispositivos edge
        8. Trade-off compresión vs pérdida de calidad
        9. Técnicas post-training vs durante el entrenamiento
        10. Re-entrenamiento fino tras compresión
      4. Compiladores y runtimes optimizados (GPU / TPU / ASIC)
        1. Graph compilers y optimización de grafos computacionales
        2. Fusión de operadores (op fusion)
        3. Reordenamiento de operaciones para locality de memoria
        4. Kernel tuning específico de hardware
        5. Aceleradores especializados (TPU / NPU / ASIC)
        6. Scheduling heterogéneo CPU+GPU
        7. Compilación ahead-of-time vs just-in-time
        8. Auto-tuning basado en profiling
        9. Cuellos de botella de memoria, no de FLOPs
        10. Portabilidad entre proveedores de hardware
      5. Inferencia en el borde (edge AI, TinyML, microcontroladores)
        1. Modelos ultra ligeros
        2. Memoria extremadamente limitada (KB/MB)
        3. Latencia dura (tiempo real físico)
        4. Ejecución offline sin red
        5. Consumo energético mínimo (batería / IoT)
        6. Seguridad y privacidad on-device
        7. Inferencia en sensores industriales / robots
        8. Actualización remota de modelos en campo
        9. Detección local de eventos críticos
        10. Validación y certificación en entornos regulados
      6. Limitaciones de memoria, energía y latencia dura
        1. Presupuestos de energía por inferencia
        2. Latencia máxima tolerable por la aplicación
        3. Tamaño máximo del modelo permitido
        4. Gestión térmica en hardware embebido
        5. Balance precisión vs consumo energético
        6. Inferencia determinista y tiempo garantizado
        7. Degradación controlada bajo sobrecarga
        8. Priorización de tareas críticas en edge
        9. Caching local de resultados frecuentes
        10. Trade-offs entre enviar al servidor o decidir local
      7. Costos energéticos y sostenibilidad del cómputo en IA
        1. Huella energética del entrenamiento de modelos grandes
        2. Costos de refrigeración y data center
        3. Uso de hardware eficiente vs hardware genérico
        4. Reutilización de modelos vs entrenamiento desde cero
        5. Compresión para reducir consumo en inferencia masiva
        6. Balance entre batch offline y online scoring
        7. Métricas de eficiencia energética por predicción
        8. Regulaciones y reporting ambiental
        9. Incentivos económicos para modelos más pequeños
        10. Diseño responsable de workloads intensivos
    19. Ética, seguridad, privacidad y gobernanza

      1. Privacidad de datos personales y minimización de uso
        1. Minimización de retención de PII
        2. Principio de “necesidad de conocer”
        3. Anonimización y seudonimización
        4. Riesgo de reidentificación
        5. Separación de datos personales y operacionales
        6. Propósito declarado vs uso real
        7. Transparencia frente al usuario
        8. Derecho al olvido y borrado selectivo
        9. Restricciones de uso secundario de datos
        10. Auditorías de acceso
      2. Privacidad diferencial y aprendizaje federado
        1. Ruido calibrado a nivel estadístico
        2. Garantías formales de privacidad
        3. Ataques de reconstrucción de datos
        4. Membership inference attacks
        5. Entrenamiento en el dispositivo del usuario
        6. Agregación segura de gradientes
        7. No compartir datos crudos entre nodos
        8. Riesgos de fuga mediante el modelo
        9. Trade-off privacidad / performance
        10. Uso en salud y finanzas
      3. Gobernanza, trazabilidad y auditoría de datos y modelos
        1. Linaje de datos crítico (origen → transformación → decisión)
        2. Quién entrenó el modelo y con qué datos
        3. Historial de versiones del modelo en producción
        4. Registro de cambios de features
        5. Auditoría externa regulatoria
        6. Auditoría interna de cumplimiento
        7. Evidencia para peritaje legal
        8. Firma / certificación de modelos aprobados
        9. Control de acceso basado en rol
        10. Responsables claros (“owner” del modelo)
      4. Cumplimiento normativo y marcos legales
        1. Regulaciones sectoriales (finanzas, salud, etc.)
        2. Restricciones de uso de datos sensibles
        3. Reportabilidad obligatoria de decisiones automáticas
        4. Explicabilidad legalmente exigible
        5. Limitaciones al profiling individual
        6. Retención mínima / máxima legal
        7. Transferencia internacional de datos
        8. Consentimiento informado vs interés legítimo
        9. Sanciones por incumplimiento
        10. Actualización continua por cambios regulatorios
      5. Control de acceso, clasificación de datos y dominios de seguridad
        1. Clasificación por sensibilidad
        2. Segmentación de entornos (prod vs analítica)
        3. Enmascaramiento dinámico de campos sensibles
        4. Accesos temporales / justificados
        5. Registro de accesos privilegiados
        6. Hardening de entornos de inferencia
        7. Gestión de llaves y secretos
        8. Aislamiento de workloads regulados
        9. Cumplimiento de políticas internas
        10. Detección de abuso interno
      6. Sesgos algorítmicos, equidad y no discriminación
        1. Bias en datos históricos
        2. Variables proxy de atributos sensibles
        3. Métricas de fairness por subgrupos
        4. Disparidad de falsos positivos/negativos
        5. Impacto distributivo en poblaciones vulnerables
        6. Auditoría periódica de sesgos
        7. Mitigación de sesgos en entrenamiento
        8. Mitigación en post-procesamiento
        9. Obligación ética de corrección
        10. Documentación del riesgo residual
      7. Explicabilidad y justificabilidad de decisiones automatizadas
        1. Explicar por qué se tomó una decisión
        2. Explicabilidad global vs local
        3. Explicaciones contrafactuales (“qué habría pasado si…”)
        4. Interpretabilidad para auditores/autoridades
        5. Interpretabilidad para usuarios finales
        6. Límites técnicos de interpretabilidad en deep learning
        7. Transparencia de criterios de scoring
        8. Riesgos de revelar demasiado (gaming del sistema)
        9. Trazabilidad de la decisión hasta el input
        10. Registro accesible para defensa legal
      8. Riesgo reputacional y deepfakes / desinformación sintética
        1. Generación de contenido engañoso
        2. Suplantación de identidad
        3. Manipulación de audio/video
        4. Atribución de autoría falsa
        5. Detección de contenido sintético
        6. Watermarking y firmas de procedencia
        7. Moderación de contenido automatizada
        8. Riesgo de viralización y daño reputacional
        9. Uso malicioso interno vs externo
        10. Políticas de respuesta a incidentes públicos
      9. Transparencia frente a usuarios y stakeholders
        1. Declarar uso de IA en decisiones críticas
        2. Explicar límites y posibles errores
        3. Canales de apelación humana
        4. Control del usuario sobre sus datos
        5. Visibilidad de métricas de calidad
        6. Disclosure ante clientes corporativos
        7. Comunicación de incidentes de datos
        8. Lenguaje claro no técnico
        9. Requerimientos de confianza en sectores regulados
        10. Expectativas éticas de clientes y sociedad
      10. Reproducibilidad científica y versionado de datasets/modelos
        1. Versionado de datasets de entrenamiento
        2. Congelamiento de snapshots de datos
        3. Versionado de código y configuración
        4. Fijación de seeds y determinismo
        5. Documentación de ambiente de ejecución
        6. Comparación justa entre modelos
        7. Evidencia de replicabilidad
        8. Auditoría post-mortem de fallos
        9. Portabilidad entre entornos
        10. Conservación de experimentos históricos
      11. Gobernanza del ciclo de vida completo del dato y del modelo
        1. Flujo dato → feature → modelo → predicción → acción
        2. Dueños claros para cada etapa
        3. Políticas de aprobación en cada cambio
        4. Monitoreo continuo post-despliegue
        5. Evaluación de impacto social antes del lanzamiento
        6. Retiro responsable de modelos obsoletos
        7. Controles de rollback ético
        8. Gestión de deuda técnica y deuda ética
        9. Documentación para auditoría externa
        10. Apoyo ejecutivo / comité de riesgo
      12. Políticas internas de aprobación y revisión humana obligatoria
        1. Casos donde no se permite decisión 100% automática
        2. Umbrales que gatillan revisión humana
        3. Registro de intervenciones humanas
        4. Trazabilidad de overrides
        5. Revisión ética de nuevos casos de uso
        6. Revisión legal / compliance previa al despliegue
        7. Aprobación ejecutiva en casos críticos
        8. Revocación de modelos ante mal uso
        9. Mecanismos de denuncia interna
        10. Accountability final explícito
      13. Continuidad operativa y resiliencia ante fallos del modelo en producción
        1. Modos degradados seguros
        2. Fallback a reglas heurísticas
        3. Rollback inmediato a versión anterior
        4. Plan de contingencia ante ataque adversario
        5. Desconexión rápida ante comportamiento tóxico
        6. Alertas on-call 24/7 para servicios críticos
        7. Simulacros de desastre algorítmico
        8. Comunicación de incidentes a stakeholders
        9. Plan de remediación y mejora
        10. Gestión reputacional post-incidente
    20. Aplicaciones verticales y casos de uso

      1. Analítica de negocio y optimización operacional
        1. Medición de eficiencia operativa
        2. Identificación de cuellos de botella
        3. Priorización de iniciativas de mejora
        4. Scorecards y accountability interno
        5. Automatización de reporting operativo
        6. Alertas sobre SLAs rotos
        7. Optimización de pricing/promociones
        8. Predicción de demanda de capacidad interna
        9. Detección de ineficiencias de procesos
        10. Soporte de decisiones tácticas diarias
      2. Detección de fraude, scoring de riesgo y cumplimiento financiero
        1. Scoring crediticio
        2. Señales de comportamiento atípico
        3. Alertas de fraude en tiempo real
        4. Clasificación de transacciones sospechosas
        5. Modelos antifraude adaptativos
        6. Explicabilidad requerida por cumplimiento regulatorio
        7. Revisión humana de alertas de alto riesgo
        8. Prevención de lavado de dinero (AML)
        9. Auditoría y trazabilidad de decisiones de riesgo
        10. Balance falso positivo vs costo de fraude
      3. Personalización, recomendación y priorización de leads
        1. Lead scoring comercial
        2. Priorización automática de outreach
        3. Ofertas y mensajes personalizados
        4. Recomendación de producto / contenido
        5. Retención de usuarios en riesgo de churn
        6. Up-selling / cross-selling inteligente
        7. Secuencias de contacto multicanal
        8. Optimización de funnel de conversión
        9. Evaluación incremental (uplift en ventas)
        10. Riesgos éticos de segmentación agresiva
      4. Salud y biomedicina asistida por IA
        1. Ayuda al diagnóstico clínico asistido
        2. Análisis de imágenes médicas
        3. Alarmas tempranas en UCI
        4. Priorización de casos críticos
        5. Modelos de riesgo de rehospitalización
        6. Descubrimiento de fármacos y screening molecular
        7. Privacidad y datos altamente sensibles
        8. Validación clínica y regulación sanitaria
        9. Toma de decisión asistida, no autónoma
        10. Responsabilidad legal y ética del soporte de IA
      5. Retail, demanda y logística predictiva
        1. Forecast de demanda por tienda / SKU
        2. Optimización de inventario
        3. Prevención de quiebre de stock
        4. Optimización de reposición
        5. Ruteo de entrega y última milla
        6. Detección de fraude en devoluciones
        7. Segmentación de clientes por valor de vida útil
        8. Personalización de promociones
        9. Pricing dinámico según demanda
        10. Evaluación del impacto en margen
      6. Industria y mantenimiento predictivo (gemelos digitales)
        1. Sensores IoT industriales
        2. Modelos de fallo inminente
        3. Mantenimiento preventivo vs predictivo
        4. Gemelos digitales de equipos críticos
        5. Optimización energética de planta
        6. Seguridad industrial y fallos catastróficos
        7. Programación automática de mantención
        8. Priorización de alertas operativas
        9. Diagnóstico remoto en terreno
        10. Trazabilidad completa de eventos de falla
      7. Ciencia y simulación asistida por datos (clima, materiales, física)
        1. Modelado climático / pronóstico de variables ambientales
        2. Descubrimiento de nuevos materiales
        3. Modelos de dinámica molecular asistidos por ML
        4. Aceleración de simulaciones numéricas costosas
        5. Ajuste de parámetros físicos vía optimización bayesiana
        6. Fusión de datos experimentales + simulación
        7. Reducción de modelos complejos a emuladores rápidos
        8. Cuantificación de incertidumbre científica
        9. Reproducibilidad científica
        10. Uso ético en modelamiento de riesgo climático
      8. Agentes autónomos, robótica y control continuo
        1. Percepción integrada (visión + sensores)
        2. Navegación y evitación de obstáculos
        3. Manipulación robótica con feedback sensorial
        4. Control en bucle cerrado en tiempo real
        5. Aprendizaje por refuerzo en simulación
        6. Transferencia Sim2Real
        7. Coordinación multi-robot
        8. Seguridad operacional y “botón rojo”
        9. Cumplimiento normativo en entornos humanos
        10. Responsabilidad en caso de accidente
      9. Asistentes conversacionales y copilotos para trabajo humano
        1. Asistencia al flujo de trabajo (resúmenes, drafting)
        2. Recuperación aumentada de contexto interno
        3. Razonamiento paso a paso guiado
        4. Integración con herramientas corporativas
        5. Automatización de tareas repetitivas
        6. Soporte en atención al cliente
        7. Riesgo de alucinación en dominios críticos
        8. Escalamiento del humano (augmentación, no reemplazo)
        9. Medición de valor real (tiempo ahorrado, calidad mejorada)
        10. Supervisión humana obligatoria en decisiones sensibles
      10. Automatización de decisiones en línea dentro del flujo de negocio
        1. Scoring en tiempo real dentro del producto
        2. Priorización automática de casos operativos
        3. Control dinámico de riesgo
        4. Moderación y filtrado de contenido en vivo
        5. Prevención de abuso y spam
        6. Detección temprana de incidentes operativos
        7. Ajuste automático de precios / límites / acceso
        8. Integración con sistemas transaccionales
        9. Auditoría de cada decisión automatizada
        10. Estrategia de rollback rápido ante decisiones dañinas

14 - Seguridad

  1. Seguridad
    1. Seguridad de aplicaciones y servicios

      1. Superficie de ataque en aplicaciones web y microservicios
        1. Enumeración y descubrimiento de endpoints
        2. Exposición de metadatos e información sensible en respuestas
        3. Errores de configuración y defaults inseguros
        4. Fugas en mensajes de error y stack traces
        5. Dependencias externas y librerías de terceros
        6. Gestión insegura de versiones y parches
      2. Principales vectores de ataque en aplicaciones web
        1. Inyección de código y comandos
        2. Cross-Site Scripting (XSS)
        3. Cross-Site Request Forgery (CSRF)
        4. Deserialización insegura
        5. Abuso de autenticación y fuerza bruta
        6. Directory traversal y lectura arbitraria de archivos
        7. Explotación de APIs mal definidas o sobrepermisivas
        8. Elevación de privilegios a través de endpoints internos
      3. Criptografía práctica y hashing seguro
        1. Hashing de contraseñas con algoritmos resistentes (bcrypt, scrypt, Argon2)
        2. Firmas digitales y verificación de integridad
        3. Claves simétricas vs. asimétricas
        4. Cifrado autenticado (AEAD)
        5. Derivación segura de claves (KDF)
        6. Rotación y expiración de claves criptográficas
        7. Evitar algoritmos criptográficos obsoletos e inseguros
      4. Canales seguros y certificados
        1. Cifrado en tránsito (TLS)
        2. Certificados válidos y planes de rotación
        3. Pinning de certificados y mitigación de MITM
        4. Cifrado extremo a extremo en servicios críticos
        5. Uso de HTTPS estricto y redirecciones seguras
        6. Seguridad en APIs públicas y privadas
      5. Protección contra ataques comunes en la web
        1. Validación estricta del input del usuario
        2. Sanitización y escape de salida (output escaping)
        3. Tokens antifraude y antifalsificación de intención (CSRF tokens)
        4. Políticas de contenido (Content Security Policy)
        5. Rate limiting y protección contra fuerza bruta
        6. Evitar ejecución arbitraria de código en el servidor
        7. Protección contra replay attacks
        8. Restricción de métodos HTTP peligrosos
      6. Autenticación y autorización
        1. Modelos de autenticación basados en contraseñas
        2. Autenticación multifactor y factores contextuales
        3. Tokens de sesión y tokens firmados (JWT, PASETO)
        4. Tiempo de expiración y renovación de tokens
        5. Modelos de autorización basados en roles (RBAC)
        6. Modelos de autorización basados en atributos (ABAC)
        7. Autorización a nivel de objeto y a nivel de campo
        8. Federación de identidad (OAuth2, OpenID Connect, SAML)
        9. Single sign-on en entornos corporativos
      7. Manejo seguro de credenciales, llaves y secretos
        1. Almacenamiento de secretos en bóvedas seguras
        2. Inyección de secretos en tiempo de ejecución
        3. Evitar secretos en repositorios de código
        4. Rotación automática de llaves de acceso
        5. Segmentación de secretos por entorno
        6. Uso de identidades de máquina vs. secretos estáticos
      8. Seguridad en bases de datos y control de acceso a datos sensibles
        1. Acceso mínimo necesario a tablas y vistas
        2. Separación de credenciales por servicio
        3. Consultas parametrizadas y ORM seguro
        4. Mascaramiento, tokenización y anonimización de datos
        5. Cifrado de campos sensibles
        6. Protección de datos personales e identificables
        7. Registro de accesos y consultas a datos críticos
      9. Registro de eventos de seguridad y trazabilidad
        1. Registro de intentos de autenticación
        2. Registro de cambios de permisos
        3. Registro de acceso a datos sensibles
        4. Registro de acciones administrativas
        5. Retención y protección de logs
        6. Correlación de logs con identidad del usuario o servicio
      10. Sanitización y validación de entrada
        1. Whitelists vs. blacklists
        2. Validación de tipos, rangos y formatos
        3. Normalización de input para evitar bypasses
        4. Evitar la ejecución de input del usuario como código
        5. Limpieza de HTML, JSON y payloads binarios
        6. Limitación de tamaño de input
      11. Modelado de amenazas y pruebas básicas de penetración
        1. Análisis de activos críticos
        2. Identificación de actores de amenaza relevantes
        3. Modelos STRIDE y DREAD
        4. Priorización de escenarios de ataque
        5. Pruebas de penetración internas
        6. Revisión manual de endpoints sensibles
      12. Gestión de sesiones y mitigación de secuestro de sesión
        1. Cookies seguras y con flags de protección
        2. Tiempo de expiración y revocación
        3. Protección contra fijación de sesión
        4. Detección de uso simultáneo anormal
        5. Reasignación segura de sesión tras elevar privilegios
      13. Política de mínimo privilegio en componentes internos
        1. Separación de responsabilidades entre servicios
        2. Ejecución con identidades técnicas de bajo privilegio
        3. Limitación de recursos accesibles por proceso
        4. Restricción de comandos del sistema operativo
        5. Minimización de permisos en llamadas internas
        6. Control de acceso entre microservicios
    2. Seguridad de infraestructura y plataforma

      1. Aislamiento entre servicios y entornos
        1. Separación entre producción, staging y desarrollo
        2. Aislamiento de datos reales vs. datos de prueba
        3. Limitación de accesos cruzados entre entornos
        4. Entornos efímeros y de pruebas aisladas
      2. Endurecimiento (hardening) de sistemas operativos, contenedores y runtimes
        1. Reducción de la superficie de ataque del sistema base
        2. Eliminación de paquetes innecesarios
        3. Usuarios no root en contenedores
        4. Políticas de seccomp, AppArmor y SELinux
        5. Contenedores inmutables y con firma verificable
        6. Control de capacidades del kernel
      3. Seguridad en redes
        1. Segmentación interna de la red
        2. Firewalls entre zonas de distinta criticidad
        3. Zonas de confianza y redes de alta sensibilidad
        4. Restricción de acceso público a servicios internos
        5. Filtrado de tráfico saliente y entradas restringidas
      4. Control de tráfico interno entre servicios
        1. Autenticación mutua entre servicios (mTLS)
        2. Políticas de red declarativas
        3. Service mesh y control de identidades de servicio
        4. Detección de tráfico inusual entre microservicios
        5. Limitación de llamadas laterales no autorizadas
      5. Seguridad en la nube
        1. Configuración segura de recursos gestionados
        2. Aislamiento de cuentas y proyectos por entorno
        3. Políticas de acceso basadas en identidad de servicio
        4. Protección de buckets y almacenamiento de objetos
        5. Exposición pública controlada y explícita
        6. Monitoreo de configuración drifteada
      6. Protección de datos en reposo
        1. Cifrado en disco a nivel de volumen
        2. Cifrado a nivel de archivo u objeto
        3. Gestión de llaves de cifrado centralizada
        4. Segmentación de datos altamente sensibles
        5. Eliminación segura y verificada de datos
      7. Seguridad de la cadena de suministro de software
        1. Verificación de integridad de dependencias
        2. Firmado de artefactos de build
        3. Control de procedencia (provenance) de builds
        4. Validación de imágenes de contenedor
        5. Revisión de librerías de terceros y binarios precompilados
        6. Prevención de inyección de dependencias maliciosas
      8. Escaneo de vulnerabilidades en dependencias, imágenes y artefactos
        1. Análisis de dependencias conocidas vulnerables
        2. Escaneo de imágenes de contenedor antes del deploy
        3. Escaneo recurrente de entornos en producción
        4. Priorización basada en criticidad y exposición
        5. Remediación y seguimiento de CVEs
      9. Gestión de parches y actualizaciones de seguridad
        1. Calendario de aplicación de parches
        2. Parches críticos fuera de ciclo
        3. Compatibilidad y pruebas previas a despliegue
        4. Automatización de actualizaciones en infraestructura
        5. Documentación de excepciones y justificaciones técnicas
      10. Backups seguros y recuperación ante desastres
        1. Políticas de respaldo periódico
        2. Cifrado de respaldos en reposo y en tránsito
        3. Almacenamiento fuera de línea o fuera de región
        4. Pruebas regulares de restauración
        5. Plan de recuperación ante desastres
        6. Continuidad de servicios críticos en caso de pérdida total
    3. Identidad, acceso y control de privilegios

      1. Gestión de identidad y acceso (IAM)
        1. Identidades humanas vs. identidades de servicio
        2. Control centralizado de permisos
        3. Políticas de acceso con alcance limitado
        4. Evitar cuentas compartidas
        5. Revisión periódica de permisos asignados
      2. Autenticación multifactor (MFA)
        1. Factores de posesión, inherencia y conocimiento
        2. MFA obligatorio en accesos administrativos
        3. MFA adaptativo basado en riesgo
        4. Registro y renovación de factores
      3. Rotación periódica de credenciales y llaves
        1. Política de expiración de contraseñas privilegiadas
        2. Rotación automática de llaves de API
        3. Revocación activa tras incidentes
        4. Eliminación de credenciales huérfanas
      4. Delegación de permisos y roles granulares
        1. Roles mínimos y específicos por tarea
        2. Delegación temporal de privilegios
        3. Separación entre permisos de lectura y escritura
        4. Acceso controlado a acciones destructivas
      5. Acceso just-in-time y acceso de emergencia controlado
        1. Elevación temporal de privilegios bajo solicitud
        2. Flujo de aprobación y justificación
        3. Cierre automático de accesos temporales
        4. Canales auditados para accesos de emergencia
      6. Auditoría de quién accede a qué y cuándo
        1. Registro de acciones administrativas
        2. Registro de acceso a datos sensibles
        3. Seguimiento de accesos privilegiados
        4. Revisión post-evento de accesos inusuales
      7. Separación de funciones críticas (segregation of duties)
        1. División entre desarrollo y despliegue
        2. División entre operación y auditoría
        3. Restricción de self-approval de cambios
        4. Independencia en tareas de control financiero o de datos regulados
      8. Gobierno de cuentas de servicio y claves de API
        1. Ciclo de vida de cuentas de servicio
        2. Asignación de permisos mínimos a cuentas técnicas
        3. Rotación y almacenamiento de claves de API
        4. Revocación de cuentas de servicio no utilizadas
      9. Revocación y desactivación segura de accesos
        1. Baja inmediata de cuentas de personas que salen de la organización
        2. Cierre de llaves comprometidas
        3. Desactivación de roles temporales expirados
        4. Verificación de que no quedan accesos residuales
    4. Monitoreo, detección y respuesta temprana

      1. Detección de comportamientos anómalos y abuso
        1. Detección de patrones fuera de lo esperado por usuario
        2. Análisis de volumen y frecuencia de llamadas
        3. Identificación de patrones automatizados o de scraping agresivo
        4. Señales de actividad robótica o scripts maliciosos
      2. Alertas de actividad sospechosa en autenticación y uso de APIs
        1. Intentos de login fallidos repetidos
        2. Accesos desde ubicaciones inesperadas
        3. Uso de tokens expirados o revocados
        4. Variación súbita de privilegios
      3. Correlación de eventos de seguridad en logs centralizados
        1. Agregación de logs de múltiples servicios
        2. Normalización y etiquetado de eventos
        3. Contexto temporal y causal entre eventos
        4. Enriquecimiento con datos de identidad y permisos
        5. Creación de timelines para investigación
      4. Protección contra fuga de datos y exfiltración
        1. Monitoreo de descargas masivas inusuales
        2. Control de exportación de datos sensibles
        3. Alertas por movimientos de datos hacia destinos externos
        4. Bloqueo de canales de extracción no autorizados
      5. Trazabilidad completa de acciones de alto riesgo
        1. Registro de operaciones administrativas destructivas
        2. Confirmación explícita para operaciones irreversibles
        3. Asociación entre acción y actor verificable
        4. Sellado temporal e integridad del registro
      6. Simulación de incidentes (ejercicios tipo “fire drill”)
        1. Juegos de guerra de seguridad
        2. Roles y responsabilidades durante un ataque simulado
        3. Validación de tiempos de reacción
        4. Evaluación de planes de comunicación interna
      7. Detección de escalamiento lateral interno
        1. Uso indebido de credenciales internas
        2. Acceso inesperado a servicios colaterales
        3. Creación no autorizada de nuevas identidades técnicas
        4. Detección de túneles laterales y pivoteo
      8. Señales tempranas de compromiso en entornos críticos
        1. Modificaciones de configuración sin registro
        2. Activación de capacidades avanzadas o experimentales en producción
        3. Nuevos binarios o procesos desconocidos
        4. Persistencia no autorizada en servicios críticos
        5. Cambios en reglas de red o firewall sin justificación
    5. Respuesta a incidentes y continuidad operativa

      1. Plan de respuesta a incidentes de seguridad
        1. Definición formal de incidente
        2. Criterios de severidad y priorización
        3. Equipo responsable y cadena de escalamiento
        4. Procedimientos documentados paso a paso
      2. Contención, erradicación y recuperación
        1. Aislamiento de sistemas comprometidos
        2. Corte de accesos maliciosos activos
        3. Eliminación de persistencia del atacante
        4. Restauración segura al estado confiable
        5. Validación posterior al restablecimiento
      3. Análisis forense y preservación de evidencia técnica
        1. Captura de memoria y discos
        2. Preservación de logs relevantes
        3. Cadena de custodia de evidencia técnica
        4. Reconstrucción de línea de tiempo del ataque
        5. Identificación de punto inicial de entrada
      4. Postmortems de seguridad sin cultura de culpa
        1. Documentación del incidente y causa raíz
        2. Hallazgos técnicos y organizacionales
        3. Acciones correctivas y preventivas
        4. Seguimiento de mejoras comprometidas
        5. Lecciones aprendidas compartidas con el equipo
      5. Comunicación interna y externa durante incidentes
        1. Canales internos de emergencia
        2. Comunicación con liderazgo y dirección
        3. Comunicación con clientes y usuarios
        4. Coordinación con equipos externos relevantes
        5. Gestión de mensajes públicos y reputación
      6. Planes de continuidad operativa y recuperación de negocio
        1. Definición de servicios críticos
        2. Objetivos de tiempo de recuperación
        3. Objetivos de punto de recuperación de datos
        4. Procedimientos alternativos manuales o degradados
        5. Escenarios de pérdida parcial y pérdida total
        6. Ejecución de failover a infraestructura secundaria
      7. Gestión coordinada con legal, compliance y stakeholders críticos
        1. Requerimientos de notificación a autoridades
        2. Obligaciones contractuales con clientes
        3. Gestión de responsabilidad legal y reputacional
        4. Participación de compliance en la evaluación de impacto
        5. Coordinación con liderazgo ejecutivo y directorio
    6. Cumplimiento y riesgo organizacional

      1. Políticas internas de seguridad y uso aceptable
        1. Definición de conducta esperada en sistemas internos
        2. Reglas de uso de información sensible
        3. Reglas de despliegue y operación en producción
        4. Control de herramientas externas y shadow IT
        5. Procedimientos disciplinarios por uso indebido
      2. Clasificación y manejo de datos sensibles
        1. Identificación de datos personales y datos críticos
        2. Etiquetado de niveles de sensibilidad
        3. Reglas de retención y descarte
        4. Restricciones de copia y exportación
        5. Desidentificación y anonimización para análisis
      3. Requisitos regulatorios y normativos aplicables
        1. Regulaciones de protección de datos
        2. Obligaciones de privacidad y consentimiento
        3. Restricciones de almacenamiento geográfico de datos
        4. Estándares de la industria aplicables
        5. Requisitos de trazabilidad y auditoría
      4. Revisión periódica de riesgos y exposiciones
        1. Evaluación de superficie de ataque actualizada
        2. Análisis de nuevas dependencias críticas
        3. Identificación de single points of failure
        4. Evaluación de madurez de controles existentes
        5. Priorización de esfuerzos de mitigación
      5. Evaluación de terceros y proveedores
        1. Riesgo de cadena de suministro
        2. Evaluación de seguridad de servicios externos críticos
        3. Validación de cumplimiento de estándares mínimos
        4. Dependencia operativa y lock-in tecnológico
        5. Plan de contingencia ante falla de proveedor
      6. Controles preventivos y controles compensatorios
        1. Controles técnicos preventivos
        2. Controles organizacionales y de proceso
        3. Controles compensatorios documentados cuando falta un control ideal
        4. Evaluación de efectividad de controles aplicados
      7. Trazabilidad, reportabilidad y obligaciones de notificación
        1. Registro de incidentes de seguridad
        2. Umbrales de severidad que obligan a reportar
        3. Plazos de notificación a clientes y autoridades
        4. Pruebas de capacidad de respuesta organizacional
        5. Conservación de evidencia y documentación legalmente exigible
      8. Cultura de seguridad
        1. Concientización y formación continua del equipo
        2. Prácticas seguras incorporadas al ciclo de desarrollo
        3. Canales abiertos para reporte de vulnerabilidades internas
        4. No normalización de desvíos de seguridad “temporales”
        5. Incentivos alineados con la seguridad operativa

15 - Calidad y auditoría

  1. Calidad y auditoría
    1. Verificación formal y métodos formales

      1. Especificación formal
        1. Lógicas temporales (LTL, CTL)
        2. Propiedades de seguridad vs vivacidad
        3. Modelado de sistemas concurrentes
        4. TLA+ y lenguajes de especificación de sistemas distribuidos
      2. Model checking
        1. Búsqueda exhaustiva de estados
        2. Verificación de protocolos concurrentes y distribuidos
        3. Abstracción para reducir el espacio de estados
        4. Detección automática de violaciones de invariantes
      3. Pruebas asistidas por SMT/SAT
        1. SMT solvers (Z3, CVC4)
        2. Satisfacibilidad con teoría de enteros, arreglos, memoria
        3. Chequeo automático de pre/post-condiciones
        4. Bounded model checking
      4. Demostración asistida (proof assistants)
        1. Coq / Isabelle / Lean
        2. Pruebas de corrección funcional de algoritmos críticos
        3. Extracción de código certificado
        4. Verificación de propiedades criptográficas
      5. Aplicaciones prácticas de métodos formales
        1. Verificación de hardware (circuitos, buses)
        2. Protocolos criptográficos y de consenso
        3. Sistemas de control industrial y automoción
        4. Software de infraestructura crítica (aviación, salud, nuclear)
    2. Testing y aseguramiento de calidad

      1. Pruebas unitarias
        1. Pruebas de funciones puras y lógica de negocio local
        2. Aislamiento de dependencias mediante mocks y stubs
        3. Estructura AAA (Arrange / Act / Assert)
        4. Casos borde y entradas inválidas
        5. Diseño orientado a test (TDD)
      2. Pruebas de integración
        1. Integración entre módulos internos
        2. Integración con servicios externos reales o simulados
        3. Pruebas con base de datos en entorno controlado
        4. Migraciones de esquema y compatibilidad de datos
        5. Configuración, semillas y limpieza de datos entre pruebas
      3. Pruebas de extremo a extremo
        1. Flujos completos de usuario
        2. Validación de requisitos funcionales
        3. Escenarios críticos de negocio
        4. Ambientes lo más cercanos a producción
        5. Automatización de journeys repetibles
      4. Pruebas de contrato entre servicios
        1. Productor vs consumidor
        2. Versionamiento de contratos y compatibilidad retroactiva
        3. Validación de esquemas y payloads
        4. Fallos ante cambios no autorizados en la API
        5. Publicación y validación automática en CI
      5. Pruebas basadas en instantáneas y estados esperados
        1. Captura de salidas esperadas complejas
        2. Control de regresiones visuales / estructurales
        3. Revisión y actualización intencional de snapshots
        4. Limitaciones y falsos positivos
      6. Simulación de dependencias externas y uso de dobles de prueba
        1. Stubs, mocks, spies y fakes
        2. Simulación de errores remotos, timeouts y latencia
        3. Emulación de colas, storage, servicios externos
        4. Test harnesses para componentes desacoplados
      7. Pruebas basadas en propiedades
        1. Generación aleatoria de entradas
        2. Invariantes y leyes que siempre deben cumplirse
        3. Minimización de casos que fallan (shrinking)
        4. Detección de clases de comportamiento inesperadas
      8. Métricas de cobertura y criterios de calidad
        1. Cobertura de líneas, ramas, paths lógicos y mutación
        2. Umbrales mínimos aceptables
        3. Cobertura útil vs cobertura artificial
        4. Detección de código muerto o no ejercitado
      9. Análisis estático y linters
        1. Análisis sintáctico y estilo
        2. Análisis semántico y tipos
        3. Detección temprana de errores comunes
        4. Reglas personalizadas alineadas a la guía interna
        5. Integración con el flujo de desarrollo
      10. Análisis de seguridad automatizado
        1. Escaneo de dependencias vulnerables
        2. Detección de secretos en repositorios
        3. Validación de políticas de autenticación y autorización
        4. Pruebas dinámicas de seguridad (DAST)
        5. Endurecimiento de superficie de ataque en CI/CD
      11. Ejecución automática de pruebas en pipelines de entrega
        1. Gates de calidad antes de desplegar
        2. Matrices de entornos / versiones / configuraciones
        3. Paralelización y reducción de tiempos de feedback
        4. Reportes automáticos y bloqueo en caso de fallos
        5. Reejecución selectiva de suites relevantes
    3. Procesos de calidad y auditoría

      1. Integración continua y despliegue continuo
        1. Validación automática por commit / merge request
        2. Políticas de ramas, versionado y tagging
        3. Despliegues progresivos, canary y blue/green
        4. Rollbacks controlados y reversibilidad segura
      2. Control de versiones de dependencias externas
        1. Fijación de versiones (pinning)
        2. Auditoría de cambios en librerías y SDKs
        3. Renovación y caducidad de dependencias
        4. Gestión de SBOM (Software Bill of Materials)
      3. Revisión de código estructurada y guías internas
        1. Estándares de revisión técnica y funcional
        2. Reglas de aprobación mínima y roles responsables
        3. Comentarios accionables y trazables
        4. Prevención de deuda técnica introducida
      4. Auditorías de seguridad y cumplimiento normativo
        1. Revisión de superficie de ataque
        2. Gestión de accesos, llaves y secretos
        3. Modelado de amenazas y evaluación de riesgo
        4. Verificación de procesos frente a regulaciones aplicables
      5. Aseguramiento de calidad (QA) y control de calidad (QC)
        1. QA como prevención de defectos
        2. QC como detección de defectos
        3. Estrategias de validación manual y exploratoria
        4. Priorización de defectos según impacto
      6. Métricas de calidad operacional
        1. Densidad de defectos
        2. Tasa de fallos por despliegue
        3. MTTR (tiempo medio de recuperación)
        4. Disponibilidad y SLO/SLA cumplidos
      7. Pruebas de aceptación y regresión
        1. Validación contra criterios de negocio acordados
        2. Suites de regresión automatizadas
        3. Prevención de reaparición de bugs antiguos
        4. Validación previa a hitos de lanzamiento
      8. Estándares de codificación y criterios de aprobación
        1. Convenciones de estilo y formato
        2. Reglas de documentación mínima por cambio
        3. Política de logging y manejo de errores
        4. Restricciones de complejidad ciclomática y acoplamiento
      9. Pruebas no funcionales
        1. Pruebas de rendimiento y latencia
        2. Pruebas de carga, estrés y escalabilidad
        3. Pruebas de resiliencia y tolerancia a fallos
        4. Pruebas de consumo de recursos y costos
      10. Documentación de calidad y trazabilidad
        1. Registro de decisiones técnicas (ADR)
        2. Historial de cambios funcionales y de infraestructura
        3. Evidencia de validación y certificación
        4. Mapeo requisito → prueba → resultado
      11. Cumplimiento de marcos y certificaciones de la industria
        1. Controles y requisitos regulatorios aplicables
        2. Estándares de seguridad y privacidad de datos
        3. Ciclos de reevaluación y recertificación
        4. Responsabilidades legales y de auditoría externa
      12. Evaluaciones posteriores al lanzamiento y mantenimiento preventivo
        1. Post-mortems y análisis de incidentes
        2. Gestión de deuda técnica acumulada
        3. Planificación de parches y actualizaciones rutinarias
        4. Observabilidad continua y alertas tempranas

16 - Operación en producción

  1. Operación en producción
    1. Concurrencia y rendimiento

      1. Modelos asíncronos y bucles de eventos
        1. Estructura del loop de eventos
        2. Tareas cooperativas y awaitables
        3. Programación sin bloqueo de E/S
        4. Multiplexación de sockets y file descriptors
        5. Límite de una sola hebra en el bucle de eventos
        6. Integración de código síncrono dentro de un contexto asíncrono
        7. Cancelación de tareas asíncronas y limpieza
      2. Paralelismo con hilos y procesos
        1. Paralelismo CPU-bound vs I/O-bound
        2. Planificación de hilos del sistema operativo
        3. Pools de hilos y pools de procesos
        4. Competencia por el intérprete e impacto del bloqueo global
        5. Aislamiento de memoria entre procesos
        6. Compartición de datos y pasos de mensaje entre procesos
        7. Sincronización entre hilos y condiciones de carrera
      3. Tareas diferidas y trabajo en segundo plano
        1. Ejecución fuera de la ruta crítica de la request
        2. Programación de trabajos periódicos
        3. Retries automáticos y colas de reintento diferido
        4. Trabajos de alta latencia y pipelines batch
        5. Priorización de tareas y niveles de servicio
        6. Confirmación explícita de trabajo completado
      4. Futuros, promesas y unidades de trabajo asíncronas
        1. Estados de una promesa (pendiente, resuelta, rechazada)
        2. Encadenamiento de callbacks y composición
        3. Recolección de resultados concurrentes
        4. Sincronización mediante espera conjunta de múltiples tareas
        5. Propagación de errores a través de futuros
        6. Cancelación y tiempo de espera sobre futuros
      5. Caching en memoria y distribuido
        1. Caches locales en proceso
        2. Caches compartidas entre réplicas
        3. Estrategias de expiración y TTL
        4. Invalidación de caché y coherencia de datos
        5. Memoización de cálculos costosos
        6. Cacheo de resultados de consultas externas
        7. Efectos del caché en la latencia percibida
      6. Perfilado de CPU y memoria
        1. Muestreo estadístico de uso de CPU
        2. Rastreo de asignaciones de memoria
        3. Identificación de fugas de memoria
        4. Coste de boxing, copying y serialización
        5. Impacto de estructuras de datos en consumo
        6. Hot paths y funciones críticas
        7. Optimización guiada por perfiles reales
      7. Cuellos de botella de entrada/salida frente a cómputo
        1. Saturación de disco
        2. Saturación de red
        3. Bloqueo en llamadas a servicios externos
        4. Limitaciones de CPU vectorial o SIMD
        5. Latencia de memoria RAM y cachés L1/L2/L3
        6. Balance carga I/O-bound y CPU-bound en arquitectura mixta
      8. Medición de rendimiento y benchmarking
        1. Microbenchmarks de funciones críticas
        2. Benchmarks de throughput y latencia de extremo a extremo
        3. Pruebas en frío vs calentamiento de procesos
        4. Variabilidad estadística y repetibilidad
        5. Límites sostenibles vs picos transitorios
        6. Degradación bajo estrés prolongado
      9. Estrategias de escalado horizontal y vertical
        1. Escalado vertical por recurso (CPU, RAM)
        2. Escalado horizontal por réplicas idénticas
        3. Balanceadores de carga y distribución uniforme
        4. Sesiones pegajosas vs estado compartido
        5. Sharding lógico por clave
        6. Replicación activa-activa y activa-pasiva
      10. Colas de trabajo y orquestadores de tareas
        1. Productores y consumidores desacoplados
        2. Confirmación explícita de mensaje procesado
        3. Reintentos con backoff exponencial
        4. Detección de mensajes envenenados
        5. Dead-letter queues y cuarentena
        6. Balanceo de carga entre workers
      11. Control de tasa y mecanismos de alivio de presión
        1. Limitación de solicitudes por unidad de tiempo
        2. Ventanas deslizantes y contadores de tokens
        3. Priorización por tipo de cliente
        4. Rechazo temprano y respuestas degradadas
        5. Colas de espera controladas
        6. Circuit breaking por sobrecarga
      12. Bloqueos, semáforos y estructuras de sincronización
        1. Exclusión mutua y regiones críticas
        2. Lectores-escritores y acceso concurrente
        3. Semáforos contadores y control de recursos limitados
        4. Barreras de sincronización y fases de cómputo
        5. Deadlocks, livelocks y inanición
        6. Diseño lock-free y wait-free
    2. Infraestructura y operaciones

      1. Estrategias avanzadas de control de versiones y ramas
        1. Ramas de larga duración y ramas efímeras
        2. Estrategias trunk-based y release branches
        3. Versionado semántico y etiquetado de releases
        4. Cherry-pick y backport controlado
        5. Políticas de revisión y protección de ramas
        6. Lineaje de cambios y auditoría de commits
      2. Integración continua / entrega continua en entornos reales
        1. Pipelines automatizados de build y test
        2. Validaciones de seguridad en el pipeline
        3. Gates de calidad y cobertura
        4. Artefactos versionados y promoción entre entornos
        5. Deploy continuo vs deploy bajo aprobación
        6. Rollback automatizado ante fallos
      3. Contenedores y definición de entornos portables
        1. Aislamiento de dependencias y librerías del sistema
        2. Imágenes reproducibles y deterministas
        3. Reducción de superficie de ataque en la imagen
        4. Versionado y cache de capas
        5. Inmutabilidad del runtime empaquetado
        6. Compatibilidad multiplataforma y arquitectura CPU
      4. Despliegue de múltiples servicios coordinados
        1. Versionado independiente por servicio
        2. Contratos de API y compatibilidad hacia atrás
        3. Orquestación de despliegues dependientes
        4. Sincronización de cambios de esquema de datos
        5. Migraciones transicionales y ventanas de mantenimiento
        6. Estrategias de despliegue gradual por servicio
      5. Orquestación de contenedores y planificación de cargas
        1. Schedulers y asignación de pods/tareas
        2. Afinidad y anti-afinidad de nodos
        3. Probes de liveness y readiness
        4. Autoescalado controlado por métricas
        5. Actualizaciones rolling y despliegues canary
        6. Gestión de estado en cargas stateful
      6. Monitoreo de infraestructura y paneles de visualización
        1. Métricas de CPU, memoria, disco y red
        2. Estado de nodos, contenedores y pods
        3. Alarmas de capacidad y saturación
        4. Paneles en tiempo real y paneles ejecutivos
        5. Históricos de rendimiento para análisis de tendencias
        6. Correlación entre eventos de infraestructura y fallas
      7. Infraestructura como código
        1. Declaratividad y convergencia de estado
        2. Versionado y auditoría de cambios infra
        3. Validación y pruebas de plantillas
        4. Reutilización de módulos y componentes
        5. Gestión de múltiples entornos desde el mismo código
        6. Destrucción controlada y limpieza de recursos
      8. Plataformas en la nube (cómputo, redes, almacenamiento)
        1. Máquinas virtuales y capacidad reservada
        2. Redes virtuales, subredes y reglas de ingreso
        3. Balanceadores gestionados y gateways
        4. Almacenamiento en bloque y archivos compartidos
        5. Replicación entre zonas y regiones
        6. Políticas de alta disponibilidad geográfica
      9. Almacenamiento de objetos, ejecución sin servidor, monitoreo gestionado
        1. Buckets de objetos y políticas de retención
        2. Funciones bajo demanda y cómputo sin servidor
        3. Límites de tiempo de ejecución y memoria por invocación
        4. Integración con colas y eventos
        5. Servicios gestionados de logging y métricas
        6. Persistencia eventual y consistencia leída-despues-de-escritura
      10. Gestión de configuración y secretos centralizados
        1. Variables de entorno y configuración externa
        2. Inyección dinámica de secretos en runtime
        3. Rotación de llaves y credenciales
        4. Control de acceso basado en roles
        5. Versionado de configuración y rollback
        6. Separación configuración por entorno y por región
      11. Monitoreo activo y alertas operacionales
        1. Probes sintéticos de disponibilidad
        2. Verificación de SLA y SLO
        3. Alertas por latencia y tasa de errores
        4. Alertas por backlog de colas y congestión
        5. Alertas de costos y sobregasto proyectado
        6. Rutas de escalamiento y on-call
      12. Optimización de costos y escalado automático
        1. Rightsizing de instancias y contenedores
        2. Uso de instancias reservadas y spot/preemptibles
        3. Escalado basado en métricas de negocio
        4. Programación horaria de apagado de recursos
        5. Compresión y ciclo de vida de almacenamiento
        6. Reducción de duplicación de datos y tráfico innecesario
    3. Observabilidad, logs y métricas

      1. Logging estructurado y contextualizado
        1. Campos clave/valor y trazabilidad por request
        2. Correlación con IDs de sesión, usuario y transacción
        3. Niveles de severidad y filtrado
        4. Retención, rotación y archivado de logs
        5. Mascaramiento de datos sensibles
        6. Búsqueda y agregación en grandes volúmenes
      2. Monitoreo del desempeño de las aplicaciones (APM)
        1. Métricas de latencia por endpoint
        2. Métricas de throughput y saturación
        3. Errores por tipo y frecuencia
        4. Seguimiento de dependencias externas
        5. Degradación progresiva bajo carga
        6. Detección temprana de regresiones de rendimiento
      3. Trazas distribuidas de extremo a extremo
        1. Propagación de contexto entre servicios
        2. Spans anidados y timeline de la request
        3. Identificación del servicio lento en la cadena
        4. Cuellos de botella inter-servicio
        5. Muestreo y retención de trazas
        6. Análisis de latencia percibida por el usuario final
      4. Métricas personalizadas y verificaciones de salud
        1. Métricas técnicas (cola, memoria, GC)
        2. Métricas funcionales (pedidos/minuto, pagos fallidos)
        3. Endpoints de healthcheck internos y públicos
        4. Señales de degradación temprana
        5. Alarmas por cambio relativo, no solo absoluto
        6. Métricas de disponibilidad percibida
      5. Alertas basadas en umbrales y tendencias
        1. Umbrales estáticos vs umbrales dinámicos
        2. Alertas por anomalías estadísticas
        3. Tendencias de crecimiento de error rate
        4. Alertas de saturación inminente
        5. Priorización y severidad de alertas
        6. Gestión de fatiga de alertas y ruido
      6. Auditoría y reconstrucción de incidentes
        1. Registro inmutable de acciones relevantes
        2. Línea de tiempo del incidente
        3. Evidencia para análisis post-mortem
        4. Identificación del punto de quiebre
        5. Acceso a datos históricos consistentes
        6. Mejora continua basada en lecciones aprendidas
    4. Resiliencia

      1. Tolerancia a fallos y aislamiento
        1. Aislamiento por servicio y dominio funcional
        2. Aislamiento de recursos críticos compartidos
        3. Redundancia activa y pasiva
        4. Degradación controlada de características no críticas
        5. Limitación del radio de explosión ante fallas
        6. Failover automatizado entre réplicas
      2. Control de latencia y tiempo de espera
        1. Timeouts por operación y por dependencia
        2. Presupuestos de latencia por request
        3. Cancelación proactiva de operaciones lentas
        4. Respuestas parciales bajo presión
        5. Fast-fail frente a recursos saturados
        6. Evitar bloqueo cascada por espera
      3. Reintentos seguros
        1. Idempotencia de operaciones
        2. Backoff exponencial y jitter aleatorio
        3. Detección de errores transitorios vs permanentes
        4. Evitar tormentas de reintentos coordinados
        5. Límite máximo de reintentos y corte temprano
        6. Registro de reintentos para auditoría
      4. Protección contra sobrecarga
        1. Circuit breakers y apertura de circuito
        2. Rechazo controlado de tráfico en picos
        3. Colas limitadas y shedding de carga
        4. Modos degradados de servicio
        5. Cuotas por cliente o tenant
        6. Protección contra picos maliciosos o anómalos
      5. Salud del servicio y autosanación
        1. Detección automática de instancias defectuosas
        2. Reinicio y reemplazo automático de réplicas
        3. Reconciliación con estado declarado
        4. Rotación de nodos no saludables
        5. Limpieza de recursos colgados o zombificados
        6. Autorrecuperación sin intervención humana
      6. Recuperación y continuidad
        1. Backups consistentes y verificados
        2. Restauración probada y documentada
        3. Planes de recuperación ante crisis
        4. Ingeniería del caos

17 - Gestión técnica

  1. Gestión técnica
    1. Cultura técnica y gestión del equipo

      1. Revisión de código efectiva y empática
        1. Objetivos de la revisión de código
          1. Calidad funcional y corrección
          2. Seguridad y cumplimiento
          3. Legibilidad y mantenibilidad
          4. Consistencia con guías internas
        2. Estilos de feedback y tono profesional
        3. Criterios de aprobación y bloqueo de PR
        4. Rotación de revisores y reparto de carga
        5. Uso de herramientas automatizadas en PR
        6. Detección temprana de problemas de arquitectura
        7. Revisión de seguridad y cumplimiento
      2. Gestión de deuda técnica
        1. Catalogación y visibilidad de deuda técnica
          1. Registro en backlog técnico
          2. Etiquetado en tickets y PR
          3. Mapas de riesgo por servicio
          4. Responsables de remediación
        2. Priorización basada en impacto y riesgo
        3. Refactorizaciones planificadas vs refactorizaciones oportunistas
        4. Deuda de arquitectura vs deuda de implementación
        5. Métricas de salud técnica y tech radar interno
        6. Ventanas de hardening y estabilización
      3. Mentoría y liderazgo técnico
        1. Acompañamiento uno a uno
        2. Transferencia de contexto histórico del sistema
        3. Desarrollo de criterio de arquitectura
          1. Patrones aceptados internamente
          2. Antipatrones comunes y alertas tempranas
          3. Evaluación de impacto sistémico
        4. Crecimiento de juniors hacia roles de mayor autonomía
        5. Delegación responsable y ownership progresivo
        6. Feedback constructivo y planes de mejora técnica
      4. Respuesta a incidentes en producción
        1. Roles durante un incidente (comandante, comunicaciones, scribe, resolutores)
        2. Canales de comunicación interna y externa
        3. Escalamiento técnico y toma de decisiones bajo presión
        4. Contención temporal vs solución raíz
        5. Registro cronológico del incidente
        6. Criterios de severidad y prioridad
          1. Impacto en usuarios
          2. Pérdida de datos o seguridad
          3. Impacto financiero directo
          4. Riesgo reputacional
        7. Manejo de incidentes repetidos
      5. Postmortems y análisis de causa raíz sin culpas
        1. Estructura del postmortem
          1. Timeline del incidente
          2. Impacto medido
          3. Causas técnicas
          4. Causas organizacionales
          5. Próximos pasos
        2. Árbol de causas raíz y factores contribuyentes
        3. Acciones correctivas y dueños claros
        4. Priorización de acciones de seguimiento
        5. Revisión de efectividad de acciones previas
        6. Compartir aprendizajes con toda la organización
        7. Evitar cultura de culpa y protección psicológica
      6. Estándares internos de código y guías
        1. Guías de estilo y formato
          1. Formato automático y linters
          2. Estructura de carpetas
          3. Nombres de variables, clases y módulos
          4. Estándares de documentación en el código
        2. Reglas de seguridad y manejo de secretos
        3. Patrones de diseño aprobados
        4. Uso recomendado de librerías y frameworks
        5. Versiones soportadas y políticas de deprecación
        6. Convenciones de nombres y estructura de repositorios
        7. Contratos de APIs internas
      7. Comunicación con producto y otros equipos
        1. Traducción de necesidades de negocio a requerimientos técnicos
        2. Expectativas realistas de plazos y riesgos
          1. Costos técnicos ocultos
          2. Costos operacionales futuros
          3. Trade-offs de calidad vs velocidad
        3. Manejo de alcance y cambios de último minuto
        4. Transparencia en bloqueos y dependencias
        5. Gestión de prioridades en conflicto
        6. Educación técnica básica hacia stakeholders no técnicos
        7. Coordinación con QA, datos, seguridad y soporte
      8. Planificación de iteraciones y lanzamientos
        1. Diseño de milestones y objetivos claros
        2. Definición de alcance mínimo viable
        3. Control de congelamiento de features antes de release
        4. Coordinación entre múltiples equipos para un release común
        5. Gestión de ramas y ventanas de merge
        6. Estrategias de rollout gradual y feature flags
          1. Lanzamiento por porcentaje de usuarios
          2. Canarios y entornos sombra
          3. Rollback controlado
          4. Kill switches
        7. Criterios de listo para producción
      9. Evaluación de decisiones técnicas y trade-offs
        1. Costo de complejidad futura vs velocidad inmediata
        2. Evaluación de lock-in tecnológico
        3. Impacto en observabilidad y operabilidad
        4. Sostenibilidad de mantenimiento a largo plazo
        5. Compatibilidad con la visión arquitectónica global
        6. Reversibilidad de la decisión
          1. Costos de salida
          2. Tiempo de migración estimado
          3. Impacto de rollback en usuarios
      10. Hoja de ruta técnica y visión de plataforma
        1. Línea base de arquitectura actual
        2. Objetivos de evolución tecnológica
        3. Plan de consolidación y reducción de complejidad
        4. Inversión en plataformas internas reutilizables
        5. Planes de eliminación de sistemas legacy
          1. Identificación de componentes críticos
          2. Migración gradual sin downtime
          3. Congelamiento de cambios en legacy
          4. Fecha objetivo de retiro
        6. Estándares de interoperabilidad entre servicios
        7. Estrategia de observabilidad y gobernanza técnica
      11. Cultura de documentación viva
        1. Documentación técnica como parte de la entrega
        2. Procesos de actualización continua de documentación
        3. Fuentes únicas de verdad (runbooks, ADRs, diagramas)
          1. ADRs (Architecture Decision Records)
          2. Mapas de servicios y dependencias
          3. Runbooks de soporte nivel 1
          4. Flujos de escalamiento
        4. Versionado y trazabilidad de decisiones
        5. Documentación operativa para guardias e incidentes
        6. Documentación de onboarding para nuevos integrantes
      12. Inclusión, colaboración y seguridad psicológica
        1. Prácticas de colaboración respetuosa
        2. Espacios seguros para hacer preguntas técnicas
        3. Normalización de pedir ayuda
        4. Manejo de conflicto técnico sin confrontación personal
        5. Equidad en distribución de tareas visibles vs invisibles
          1. Trabajo de mantenimiento y soporte
          2. Trabajo de innovación y features clave
          3. Reconocimiento y visibilidad interna
        6. Prevención de burnout y carga cognitiva excesiva
      13. Gestión del conocimiento y rotación de contexto
        1. Rotaciones de guardia y soporte
          1. Cobertura horaria y distribución justa
          2. Handover documentado
          3. Capacitación previa a la rotación
        2. Shadowing y pairing estructurado
        3. Sesiones internas de transferencia de conocimiento
        4. Registro de decisiones históricas
        5. Reducción de single points of failure humanos
        6. Planes de back-up de expertise crítico
    2. Gestión y liderazgo técnico

      1. Gestión de proyectos
        1. Definición de alcance y objetivos medibles
        2. Estructuración en entregables incrementales
        3. Seguimiento de hitos y progreso
          1. Roadmaps con fechas explícitas
          2. Burndown y burnup charts
          3. Estado de bloqueos críticos
        4. Gestión de cambios de alcance
        5. Coordinación entre múltiples squads
        6. Cierre formal y retrospectiva del proyecto
      2. Estimación de esfuerzo y planificación técnica
        1. Modelos de estimación (puntos de historia, t-shirt sizing)
          1. Estimación relativa vs absoluta
          2. Sesiones de planeación colectiva
          3. Sesgos comunes al estimar
        2. Análisis de complejidad técnica
        3. Validación de supuestos técnicos
        4. Rangos de incertidumbre y buffers
        5. Revisión y ajuste continuo de estimaciones
      3. Gestión de riesgos y dependencias entre equipos
        1. Identificación temprana de dependencias críticas
        2. Análisis de impacto de retrasos externos
        3. Planes de contingencia técnica
          1. Rutas alternativas de implementación
          2. Feature flags para aislar afectación
          3. Estrategias de degradación controlada
        4. Priorización basada en riesgo operativo
        5. Gestión de bloqueos inter-equipo
      4. Priorización de deuda técnica frente a features
        1. Argumentación basada en riesgo futuro
        2. Costos operacionales acumulados
          1. Tiempo de soporte no planificado
          2. Incidentes recurrentes
          3. Complejidad de despliegue
        3. Costo de oportunidad de no abordar la deuda
        4. Negociación con producto sobre qué entra en cada iteración
        5. Métricas de impacto en velocidad del equipo
      5. Gestión de releases y control de cambios
        1. Políticas de branching y merge
        2. Versionado semántico y etiquetado
        3. Ventanas de freeze y release cut
        4. Checklist previo a release
          1. Cobertura de tests mínima
          2. Migraciones de base de datos revisadas
          3. Configuración de alertas lista
          4. Documentación operativa actualizada
        5. Rollback y post-release monitoring
        6. Coordinación multi-servicio en releases acoplados
      6. Comunicación transversal (producto, QA, operaciones, datos)
        1. Canales formales de coordinación
        2. Rondas de alineación técnica
        3. Gestión de expectativas externas
        4. Traducción de riesgos técnicos a impacto negocio
          1. Impacto financiero potencial
          2. Impacto en experiencia de usuario
          3. Impacto legal o reputacional
        5. Acuerdos de soporte con áreas no técnicas
      7. Desarrollo profesional y mentoría técnica
        1. Planes individuales de crecimiento técnico
        2. Trayectorias de carrera IC vs management
          1. Staff / Principal Engineer
          2. Engineering Manager
          3. Tech Lead / Lead Engineer
        3. Evaluación de habilidades técnicas específicas
        4. Acceso a proyectos desafiantes
        5. Rotación estratégica para ampliar experiencia
        6. Preparación de futuros líderes técnicos
      8. Evaluación de desempeño técnico
        1. Criterios objetivos de impacto técnico
          1. Resultados medibles en producción
          2. Reducción de riesgo
          3. Aceleración de otros equipos
        2. Aporte a calidad y fiabilidad
        3. Colaboración y comportamiento profesional
        4. Innovación y mejora continua
        5. Evaluación 360° y feedback cruzado
      9. Registro y documentación de decisiones de arquitectura
        1. ADRs (Architecture Decision Records)
          1. Contexto del problema
          2. Decisión tomada
          3. Consecuencias esperadas
          4. Fecha y responsables
        2. Alternativas evaluadas y descarte explícito
        3. Análisis de impacto técnico y organizacional
        4. Reversibilidad de la decisión
        5. Difusión interna y alineamiento
      10. Presentación técnica a audiencias no técnicas
        1. Comunicación ejecutiva orientada a resultados
        2. Visualización de arquitectura y flujos
          1. Diagramas de alto nivel
          2. Mapas de dependencia simplificados
          3. Flujos de datos y privacidad
        3. Traducción de riesgo técnico a riesgo negocio
        4. Narrativa de valor y diferenciación técnica
        5. Storytelling técnico para dirección y clientes
      11. Cultura de ingeniería basada en aprendizaje continuo
        1. Retroalimentaciones post-release
          1. Qué salió bien
          2. Qué salió mal
          3. Qué cambiar para la próxima
        2. Sesiones técnicas internas tipo tech talks
        3. Lecturas técnicas en grupo y RFC reviews
        4. Formación cruzada entre equipos
        5. Espacios para ensayo seguro y sandbox
      12. Prácticas de mejora continua tras incidentes
        1. Eliminación sistemática de clases de errores
        2. Automatización de chequeos preventivos
          1. Tests de regresión
          2. Monitores sintéticos
          3. Validaciones previas a deploy
        3. Ajuste de alertas y umbrales
        4. Reentrenamiento operacional del equipo
        5. Integración de aprendizajes a los runbooks
      13. Gestión de capacidad y asignación de recursos
        1. Balance entre mantenimiento y desarrollo de features
        2. Carga operacional del equipo
          1. Rotación de guardias
          2. Trabajo fuera de horario
          3. Interrupciones no planificadas
        3. Toma de compromisos basada en capacidad real
        4. Gestión de cuellos de botella individuales
        5. Priorización de iniciativas de alto apalancamiento
      14. Estrategia de contratación y onboarding técnico
        1. Definición de perfiles técnicos requeridos
        2. Diseño de procesos de entrevista técnica
        3. Evaluación práctica y ejercicios técnicos
        4. Calidad del onboarding y rampa inicial
          1. Documentación inicial de sistemas críticos
          2. Primeras tareas guiadas
          3. Mentor asignado
        5. Integración cultural y valores de ingeniería
        6. Retención de talento clave
      15. Escalamiento organizacional y delegación
        1. Rol del Tech Lead vs rol del Engineering Manager
        2. Multiplicadores técnicos y liderazgo distribuido
        3. Delegación efectiva de toma de decisiones
        4. Claridad de ownership por servicio o dominio
          1. Responsable técnico primario
          2. Responsable operativo de guardia
          3. Mapa de dependencias entrantes y salientes
        5. Definición de interfaces entre equipos
        6. Diseño de células o squads autónomas
    3. Operaciones, fiabilidad y excelencia de entrega

      1. SRE interno y propiedad de servicio
        1. Responsabilidad extremo a extremo del servicio
          1. Diseño
          2. Despliegue
          3. Operación
          4. Soporte
        2. Definición clara de dueños por servicio
        3. Objetivos de confiabilidad alineados a negocio
        4. Ingeniería de resiliencia y tolerancia a fallos
        5. Capacitación operativa mínima del equipo de desarrollo
      2. Observabilidad organizacional
        1. Métricas, logs y trazas distribuidas
        2. Dashboards estandarizados por servicio
          1. Salud de dependencias externas
          2. Errores por endpoint
          3. Tiempo de respuesta percentil 95/99
        3. Alarmas accionables y libres de ruido
        4. Trazabilidad de requests y latencia extremo a extremo
        5. Métricas de experiencia de usuario final
      3. Gestión de SLAs, SLOs y SLIs
        1. Definición de objetivos de disponibilidad
        2. Error budgets y ritmo de cambio
          1. Política de congelamiento de releases
          2. Priorización de estabilización
          3. Responsabilidad compartida entre equipos
        3. Alineación de SLOs con impacto negocio
        4. Comunicación de cumplimiento a stakeholders
        5. Ajuste dinámico de objetivos según madurez
      4. Gestión de alertas y fatiga de alarmas
        1. Criterios de severidad y prioridad de alertas
        2. Ruteo de alertas al equipo correcto
        3. Reducción de falsos positivos
          1. Ajuste de umbrales
          2. Correlación de múltiples señales
          3. Alertas sintéticas de sanidad
        4. Rotación de on-call y balance de carga
        5. Revisión periódica de políticas de alerta
      5. Ciclos de despliegue seguro
        1. Integración continua y pruebas automatizadas
        2. Entrega continua y gates de calidad
          1. Validaciones automáticas previas al deploy
          2. Revisiones manuales para cambios de alto riesgo
          3. Aprobaciones separadas para cambios sensibles
        3. Despliegues incrementales y canarios
        4. Rollback rápido y seguro
        5. Auditoría de cambios en producción
      6. Gestión de entornos (dev, staging, prod)
        1. Paridad entre entornos
          1. Configuración equivalente
          2. Dependencias simuladas
          3. Pruebas de performance previas al paso a producción
        2. Datos de prueba y anonimización
        3. Aislamiento de servicios compartidos
        4. Versionado de infraestructura
        5. Gobernanza de cambios de configuración
      7. Controles de cambio y auditoría operativa
        1. Registro de quién cambió qué y cuándo
        2. Autorización y aprobación de cambios sensibles
        3. Separación de funciones operativas
          1. Desarrollador
          2. Operaciones
          3. Seguridad
          4. Auditoría interna
        4. Políticas de acceso temporal y just-in-time
        5. Retención de logs para auditoría
      8. Ejercicios de continuidad operacional y DRP
        1. Plan de recuperación ante desastres
        2. Pruebas periódicas de failover
        3. Backups y restauración verificada
          1. Frecuencia de backups
          2. Retención de backups
          3. Pruebas reales de restauración
          4. Cifrado de respaldos
        4. Escenarios de pérdida parcial vs total
        5. Planes de comunicación durante caída mayor
      9. Gestión de incidentes de seguridad
        1. Detección temprana de actividades anómalas
        2. Contención inmediata y aislamiento
          1. Revocación de llaves comprometidas
          2. Deshabilitación de cuentas afectadas
          3. Bloqueo de endpoints comprometidos
        3. Comunicación interna y obligaciones regulatorias
        4. Análisis forense y aprendizaje
        5. Políticas de divulgación responsable
      10. Comunicación durante incidentes críticos
        1. Canal oficial único de información
        2. Actualizaciones periódicas a stakeholders
        3. Mensajes externos a clientes y usuarios
          1. Estado actual
          2. Impacto conocido
          3. Próxima actualización estimada
          4. Pasos de mitigación sugeridos
        4. Coordinación con legal y cumplimiento
        5. Evitar saturación de los equipos técnicos
      11. Madurez de procesos DevSecOps
        1. Seguridad integrada en el ciclo de desarrollo
        2. Escaneo continuo de vulnerabilidades
        3. Gestión de secretos y credenciales
          1. Rotación automática de llaves
          2. Almacenamiento cifrado centralizado
          3. Eliminación de secretos en repositorios de código
        4. Políticas de acceso mínimo necesario
        5. Infraestructura como código segura
        6. Automatización de cumplimiento

18 - Cumplimiento y mejora

  1. Cumplimiento y mejora
    1. Ética, legalidad y práctica profesional

      1. Responsabilidad profesional en ingeniería de software
        1. Calidad y confiabilidad del producto entregado
        2. Seguridad de usuarios y datos
          1. Manejo de datos sensibles
          2. Prevención de abuso de la plataforma
          3. Respuesta ante vulnerabilidades descubiertas
        3. Transparencia de limitaciones técnicas
        4. Diligencia debida en cambios de alto impacto
        5. Deber de escalamiento cuando existe riesgo crítico
      2. Privacidad y manejo responsable de datos
        1. Principios de minimización de datos
        2. Retención y eliminación segura
          1. Políticas de retención por tipo de dato
          2. Eliminación verificable
          3. Registros de eliminación
          4. Retención legal obligatoria
        3. Consentimiento informado y revocabilidad
        4. Acceso interno con privilegio mínimo
        5. Anonimización y seudonimización de datos
        6. Uso ético de datos de usuarios
      3. Propiedad intelectual y licenciamiento de software
        1. Licencias de código abierto y compatibilidad
          1. Licencias permisivas
          2. Licencias copyleft
          3. Restricciones de redistribución
          4. Obligaciones de atribución
        2. Uso de dependencias de terceros
        3. Contribuciones internas a OSS
        4. Reutilización de código interno entre proyectos
        5. Protección de know-how estratégico
      4. Cumplimiento normativo y estándares de la industria
        1. Estándares de seguridad de información
        2. Regulaciones sectoriales
        3. Normas de calidad y certificaciones
          1. Procesos documentados
          2. Evidencia verificable
          3. Auditorías recurrentes
        4. Requisitos de auditoría externa
        5. Trazabilidad y logging de cumplimiento
      5. Riesgos de dependencia de un único proveedor y cierre tecnológico
        1. Evaluación de lock-in en infraestructura
        2. Portabilidad de datos y servicios
          1. Formatos estándar
          2. APIs exportables
          3. Replicación activa
        3. Estrategias multi-cloud o multi-proveedor
        4. Costos de salida y migración
        5. Planes de continuidad si el proveedor falla
      6. Sesgos algorítmicos y transparencia en sistemas automatizados
        1. Identificación de sesgos en datos de entrenamiento
        2. Evaluación de impacto en grupos de usuarios
        3. Explicabilidad de decisiones automatizadas
        4. Auditoría continua de modelos en producción
          1. Detección de deriva de datos
          2. Seguimiento de fairness metrics
          3. Alarmas de comportamiento anómalo
        5. Mecanismos de apelación y corrección
      7. Accesibilidad e inclusión en diseño y experiencia de usuario
        1. Lineamientos de accesibilidad en interfaces
          1. Navegación por teclado
          2. Contraste visual adecuado
          3. Lectores de pantalla
          4. Alternativas textuales a contenido visual
        2. Diseño inclusivo de flujos críticos
        3. Soporte multiplataforma y multicanal
        4. Tests de usabilidad con grupos diversos
        5. Lenguaje claro y comprensible
      8. Gobernanza de software libre y colaboración abierta
        1. Modelos de gobernanza comunitaria
        2. Políticas de aportes internos a proyectos públicos
          1. Aprobación interna previa
          2. Revisión legal
          3. Protección de información sensible
        3. Publicación de herramientas internas reutilizables
        4. Gestión de vulnerabilidades en dependencias abiertas
        5. Relaciones con mantenedores externos
      9. Protección de datos personales y trazabilidad de acceso
        1. Control de acceso basado en rol
        2. Registro de accesos a datos sensibles
          1. Quién accedió
          2. Cuándo accedió
          3. Para qué accedió
          4. Revisión periódica de accesos
        3. Alertas ante acceso inusual
        4. Separación de datos personales y operacionales
        5. Principio de menor privilegio
      10. Reproducibilidad técnica y científica
        1. Versionado de código y datos
        2. Entornos de ejecución controlados
          1. Infraestructura declarativa
          2. Contenedores versionados
          3. Dependencias congeladas
        3. Evidencia experimental verificable
        4. Pipelines deterministas y repetibles
        5. Publicación interna de resultados replicables
      11. Comunicación honesta y responsable con las partes interesadas
        1. Informe claro de riesgos y limitaciones
        2. Comunicación temprana de incidentes relevantes
          1. A quién se informa
          2. Cuándo se informa
          3. Nivel de detalle compartido
        3. Reportes de estado sin maquillaje técnico
        4. Mensajes coordinados con liderazgo
        5. Transparencia frente a fallos de seguridad
      12. Impacto social y ambiental del software
        1. Huella energética de la infraestructura
          1. Consumo energético por carga
          2. Eficiencia de cómputo
          3. Optimización de recursos inactivos
        2. Uso responsable de recursos computacionales
        3. Efectos sociales de la automatización
        4. Impacto en trabajo humano y mercado laboral
        5. Externalidades negativas no técnicas
      13. Soberanía de datos y cumplimiento regional
        1. Localización geográfica de datos
          1. Regiones permitidas
          2. Redundancia geográfica
          3. Jurisdicción aplicable
        2. Restricciones legales internacionales
        3. Procesamiento transfronterizo de información
        4. Requisitos de auditoría estatal
        5. Limitaciones de exportación de datos
      14. Gestión responsable de IA generativa
        1. Uso aprobado de modelos internos y externos
        2. Protección de información confidencial al usar IA
        3. Revisión humana obligatoria en decisiones críticas
          1. Decisiones regulatorias
          2. Decisiones financieras
          3. Decisiones que afectan usuarios finales
        4. Gestión de propiedad intelectual generada por IA
        5. Registro de prompts y outputs sensibles
    2. Innovación, investigación y mejora continua

      1. Evaluación crítica de nuevas tecnologías
        1. Viabilidad técnica y de negocio
        2. Riesgo de inmadurez tecnológica
          1. Madurez de comunidad
          2. Estabilidad de APIs
          3. Soporte a largo plazo
        3. Costos operacionales y de adopción
        4. Reemplazo de soluciones actuales
        5. Horizonte temporal de retorno
      2. Prototipos rápidos y pruebas de concepto
        1. Definición clara de hipótesis a validar
        2. Alcance reducido y enfocado
        3. Tiempo acotado de experimentación
        4. Criterios de éxito claros
          1. Métricas técnicas objetivas
          2. Métricas de negocio
          3. Validación de usuarios reales
        5. Plan de descarte si no aporta valor
      3. Medición comparativa y benchmarking técnico
        1. Pruebas de rendimiento controladas
          1. Definición de dataset o carga sintética
          2. Condiciones reproducibles
          3. Métricas recogidas consistentemente
        2. Consumo de memoria y CPU
        3. Latencia y throughput
        4. Escalabilidad horizontal y vertical
        5. Costos de infraestructura asociados
      4. Observación de tendencias tecnológicas y estado del arte
        1. Vigilancia tecnológica continua
        2. Mapeo de tecnologías emergentes relevantes
        3. Evaluación de disrupciones potenciales
        4. Relación con academia e investigación aplicada
          1. Colaboraciones formales
          2. Publicaciones compartidas
          3. Acceso temprano a resultados de investigación
        5. Identificación de brechas de capacidad interna
      5. Participación en comunidades técnicas y proyectos abiertos
        1. Contribución a proyectos de código abierto
          1. Corrección de bugs
          2. Nuevas features
          3. Documentación y ejemplos
          4. Soporte a otros usuarios
        2. Presentaciones en meetups y conferencias
        3. Publicación de artículos técnicos
        4. Revisión de propuestas externas (RFC públicas)
        5. Reclutamiento técnico basado en reputación comunitaria
      6. Gestión del conocimiento interno y documentación compartida
        1. Bases de conocimiento internas
          1. Wiki técnica centralizada
          2. Catálogo de servicios
          3. Historial de incidentes y aprendizajes
        2. Librerías de patrones reutilizables
        3. Guías de buenas prácticas por dominio
        4. Sesiones de transferencia interna formalizadas
        5. Mecanismos de descubribilidad de información
      7. Diseño centrado en el usuario para resolver problemas reales
        1. Descubrimiento de necesidades reales del usuario
        2. Mapeo de journeys críticos
          1. Pasos principales del flujo
          2. Fricciones actuales
          3. Riesgos de abandono
        3. Priorización de puntos de dolor
        4. Prototipos testeables con usuarios finales
        5. Medición de impacto percibido
      8. Planes de aprendizaje continuo y formación técnica
        1. Programas internos de capacitación técnica
          1. Talleres prácticos
          2. Laboratorios guiados
          3. Cursos internos grabados
        2. Presupuesto de formación y certificaciones
        3. Rotación por proyectos estratégicos
        4. Coaching entre pares
        5. Planes de especialización avanzada
      9. Experimentación controlada y despliegues graduales
        1. A/B testing y experimentos controlados
          1. Definición de hipótesis
          2. Selección de cohortes
          3. Análisis estadístico
        2. Feature toggles y activación segmentada
        3. Experimentos en segmentos limitados de usuarios
        4. Evaluación de impacto en métricas clave
        5. Rollout progresivo a toda la base de usuarios
      10. Innovación responsable, segura y sostenible
        1. Evaluación de riesgos éticos y legales
        2. Seguridad por diseño desde prototipo
        3. Impacto ambiental y consumo de recursos
        4. Control de abuso y uso malicioso
          1. Límites de uso aceptable
          2. Prevención de fraude
          3. Monitoreo de comportamientos tóxicos
        5. Gobernanza del ciclo de vida del experimento
      11. Estrategia de patentes y divulgación científica
        1. Identificación de resultados patentables
        2. Protección de propiedad intelectual clave
        3. Decisión entre publicar o patentar
          1. Ventaja competitiva
          2. Obligaciones de divulgación
          3. Tiempo de llegada al mercado
        4. Coordinación con legal y compliance
        5. Difusión académica y reputación científica
      12. Transferencia tecnológica y escalamiento a producción
        1. Paso de prototipo a producto mantenible
          1. Refactorización de código experimental
          2. Tests automatizados mínimos
          3. Documentación operativa inicial
        2. Endurecimiento de seguridad y cumplimiento
        3. Observabilidad desde el día uno
        4. Costeo y modelo operativo sostenible
        5. Formación del equipo que operará la solución
      13. Cultura interna de experimentación y hack time
        1. Espacios protegidos para exploración técnica
        2. Hackathons y semanas de innovación
          1. Definición de temáticas estratégicas
          2. Presentación de resultados ante liderazgo
          3. Selección de ideas para producción
        3. Rotación de problemas técnicos desafiantes
        4. Incentivos al aprendizaje y al riesgo calculado
        5. Publicación interna de experimentos destacados
    3. Auditoría, métricas y optimización de procesos

      1. Métricas de entrega y flujo de trabajo
        1. Lead time de cambio a producción
          1. Tiempo desde code commit a deploy
          2. Tiempo de revisión de PR
          3. Tiempo en QA y validación
        2. Tiempo de ciclo por feature
        3. Throughput del equipo
        4. Work in progress (WIP) y límites saludables
        5. Bloqueos recurrentes y esperas externas
      2. Métricas de confiabilidad y disponibilidad
        1. Uptime percibido por el usuario
        2. MTTR (tiempo medio de recuperación)
          1. Diagnóstico inicial
          2. Contención
          3. Resolución definitiva
        3. MTTD (tiempo medio de detección)
        4. Incidentes de severidad alta
        5. Brechas de SLO
      3. Métricas de calidad de código
        1. Cobertura de tests automática
          1. Cobertura de unidades críticas
          2. Cobertura de paths de error
          3. Cobertura de lógica de negocio sensible
        2. Complejidad ciclomatica
        3. Duplicación de código
        4. Vulnerabilidades detectadas estáticamente
        5. Tiempo promedio para corregir bugs críticos
      4. Auditoría de seguridad y cumplimiento
        1. Escaneo de dependencias vulnerables
        2. Gestión de parches de seguridad
          1. Ventanas máximas de exposición
          2. Priorización por criticidad
          3. Seguimiento de parches aplicados
        3. Evaluación de controles de acceso
        4. Verificación de cifrado en tránsito y reposo
        5. Validación de cumplimiento regulatorio
      5. Auditoría de acceso y trazabilidad
        1. Registro centralizado de accesos
        2. Alertas por accesos inusuales
        3. Revisión periódica de privilegios
          1. Validez del acceso actual
          2. Necesidad operacional real
          3. Fecha de última revisión
        4. Ciclo de alta, modificación y baja de cuentas
        5. Evidencia de auditoría exportable
      6. Procesos de mejora continua tipo Kaizen
        1. Identificación de desperdicios en proceso
          1. Retrabajo
          2. Espera
          3. Exceso de proceso
          4. Movimientos manuales repetitivos
        2. Estandarización de buenas prácticas
        3. Iteraciones pequeñas y frecuentes
        4. Ciclos de feedback cortos
        5. Empoderamiento del equipo para proponer cambios
      7. Ciclo de retroalimentación con clientes y stakeholders
        1. Captura estructurada de reclamos e incidentes
        2. Procesamiento de feedback post-release
          1. Clasificación por tipo de problema
          2. Asignación al equipo responsable
          3. Seguimiento hasta resolución
        3. Identificación de patrones de fricción
        4. Priorización basada en severidad percibida
        5. Comunicación de mejoras entregadas
      8. Health checks organizacionales y madurez técnica
        1. Salud del proceso de desarrollo
        2. Salud de la calidad del código
        3. Salud operacional y on-call
          1. Carga de interrupciones fuera de horario
          2. Severidad promedio de incidentes
          3. Burnout percibido
        4. Salud cultural del equipo
        5. Plan de mejora priorizado
      9. Gestión de backlog de mejoras operativas
        1. Registro centralizado de mejoras técnicas pendientes
        2. Priorización conjunta con liderazgo técnico
          1. Riesgo operativo
          2. Impacto negocio
          3. Costo de no hacer
        3. Asignación clara de responsables
        4. Plazos objetivo de remediación
        5. Visibilidad ejecutiva de riesgos abiertos
      10. Automatización de controles y reportabilidad
        1. Generación automática de reportes de cumplimiento
        2. Alertas preventivas ante desvíos de proceso
        3. Validaciones de seguridad integradas al pipeline
          1. Escaneo de código estático
          2. Análisis de dependencias
          3. Pruebas de seguridad dinámicas
        4. Evidencia de auditoría lista para inspección
        5. Orquestación de flujos repetibles
      11. Transparencia interna y reportes ejecutivos
        1. Cuadros de mando técnicos para liderazgo
        2. Reportes de confiabilidad de plataforma
          1. Tendencia de incidentes
          2. Disponibilidad por servicio
          3. Cumplimiento de SLO
        3. Visibilidad de costos operacionales
        4. Estado de deuda técnica priorizada
        5. Roadmap de mitigación de riesgos
      12. Preparación para auditorías externas y certificaciones
        1. Recolección anticipada de evidencia obligatoria
        2. Simulacros de auditoría
          1. Alcance evaluado
          2. Gaps encontrados
          3. Acciones correctivas
        3. Planes de remediación para hallazgos
        4. Responsables internos por área de control
        5. Ciclo de renovación de certificaciones