Versión imprimible multipagina. Haga click aquí para imprimir.
Guía
- 1: Visión general
- 2: Ruta operacional
- 3: Ruta de madurez profesional
- 4: Ruta por rol y áreas de estudio
- 5: Estructura de la guía
- 6: Computación y sistemas
- 7: Prácticas del desarrollador
- 8: Lenguajes de Programación
- 8.1: Python
- 8.2: JavaScript y TypeScript
- 8.3: Rust
- 8.4: Shell
- 9: Diseño de software
- 10: Backend y servicios
- 11: Frontend, interfaces gráficas y usabilidad
- 12: Computación científica y HPC
- 13: Data y machine learning
- 14: Seguridad
- 15: Calidad y auditoría
- 16: Operación en producción
- 17: Gestión técnica
- 18: Cumplimiento y mejora
1 - Visión general
2 - Ruta operacional
- Computación y sistemas - Autómatas y modelos de cómputo - Máquinas de Turing
- Autómatas finitos deterministas y no deterministas (DFA / NFA)
- Autómatas con pila (PDA) y lenguajes libres de contexto
- Gramáticas formales y jerarquía de Chomsky
- Computabilidad y decidibilidad
- Complejidad computacional
- Reducciones y completitud
- Computación aproximada y aleatorizada
- Lógica y especificación formal de cómputo
- Computación cuántica como modelo alternativo
- Límites físicos del cómputo
 
- Arquitectura de computadores - Modelos de arquitectura (von Neumann, Harvard)
- CPU y microarquitectura
- Jerarquía de memoria
- Conjuntos de instrucciones (ISA)
- Paralelismo a nivel de instrucción
- Arquitecturas multinúcleo y multiprocesador
- Aceleradores de propósito específico
- Interconexiones y buses del sistema
- Entrada / Salida (I/O) y controladores
- Gestión de energía y rendimiento térmico
 
- Sistemas operativos (procesos, hilos, memoria, planificación) - Diseño del núcleo (kernel)
- Procesos
- Hilos (threads)
- Planificación (CPU scheduling)
- Gestión de memoria
- Sincronización y concurrencia
- Comunicación entre procesos (IPC)
- Sistema de archivos y VFS (Virtual File System)
- Gestión de E/S y controladores
- Seguridad y aislamiento
- Syscalls y modos de ejecución
- Contabilidad, monitoreo y métricas
 
- Virtualización y contenedorización - Conceptos de virtualización
- Hipervisores
- Virtualización de hardware vs virtualización a nivel de SO
- Contenedores
- Namespaces y cgroups
- Construcción y gestión de imágenes
- Redes virtuales y SDN (Software-Defined Networking)
- Orquestación de contenedores
- Seguridad y aislamiento multi-tenant
- Observabilidad y debugging en entornos virtualizados
 
- Almacenamiento distribuido y sistemas de archivos - Modelos de almacenamiento
- Sistemas de archivos locales
- Sistemas de archivos distribuidos
- Almacenamiento en bloques, archivos y objetos
- Replicación y durabilidad
- Particionado y sharding
- Consistencia y coherencia
- Metadatos y consenso
- Recuperación ante fallos y journaling
- Caching y jerarquización de almacenamiento (tiering)
- Rendimiento y latencia en I/O
 
- Redes y protocolos - Fundamentos de redes (modelo OSI y TCP/IP)
- Direccionamiento y ruteo
- Capa de enlace de datos
- Capa de red
- Capa de transporte
- Capa de aplicación
- Control de congestión y calidad de servicio (QoS)
- Seguridad de red
- Redes definidas por software (SDN) y virtualización de red
- Observabilidad y troubleshooting de red
- Redes de baja latencia
- SDN (Software Defined Networking)
- Redes distribuidas
- Redes tolerantes a fallo / entornos hostiles
- Transporte moderno
 
- Modelos cliente-servidor y peer-to-peer - Arquitectura cliente-servidor tradicional
- Stateless vs stateful
- Microservicios y servicios desacoplados
- Comunicación síncrona vs asíncrona
- Pub/Sub y colas de mensajes
- Peer-to-peer
- Coordinación y descubrimiento de servicios
- Patrones de resiliencia
- Versionado y compatibilidad de interfaces
 
- Consistencia y tolerancia a fallos - Teorema CAP y trade-offs
- Modelos de consistencia
- Relojes y ordenamiento de eventos
- Consenso y replicación
- Alta disponibilidad y failover
- Tolerancia a fallos bizantinos
- Estrategias de recuperación
- Diseño de sistemas idempotentes
 
- Algoritmos distribuidos - Modelos de comunicación
- Difusión y broadcast
- Elección de líder
- Sincronización de relojes
- Exclusión mutua distribuida
- Consenso y commit distribuido
- Detección de fallos
- Toma de snapshots globales
- Hashing consistente y particionamiento de carga
- Algoritmos tolerantes a bizantinos
 
- Computación paralela y vectorizada - Modelos de paralelismo
- Paralelismo a nivel de datos (SIMD / SIMT)
- Paralelismo a nivel de tareas (MIMD)
- Memoria compartida vs memoria distribuida
- Sincronización y coordinación
- Paralelismo en GPU
- Rendimiento y escalabilidad
- Patrones paralelos comunes
- Herramientas y entornos de programación paralela
- Problemas típicos de concurrencia y rendimiento
 
- Computación en la nube y edge computing - Modelos de servicio (IaaS, PaaS, SaaS, FaaS)
- Modelos de despliegue (nube pública, privada, híbrida, multicloud)
- Infraestructura como código e infraestructura declarativa
- Automatización, orquestación y autoescalado
- Observabilidad en nubes distribuidas
- Serverless y FaaS
- Edge computing
- Seguridad, cumplimiento y gobernanza
- Gestión de costos y optimización
- Fiabilidad y continuidad operativa
 
- Sistemas embebidos y RTOS - Fundamentos de sistemas embebidos
- Sistemas de tiempo real
- RTOS comunes y arquitectura
- Confiabilidad y seguridad funcional
- Integración con sistemas mayores
 
- Balanceo de carga y redes de distribución de contenido (CDN) - Balanceadores de carga (L4 / L7)
- Estrategias de distribución de tráfico
- Health checks y failover
- Anycast y enrutamiento geográfico
- CDNs (Content Delivery Networks)
- Optimización de entrega de contenido
- Mitigación de ataques y protección DDoS
- Observabilidad y control de tráfico
- Service mesh y proxys inteligentes
 
- Modelos de escalabilidad - Escalamiento vertical vs horizontal
- Elasticidad y autoescalado
- Desacoplamiento mediante colas y eventos
- Sharding y particionado de datos
- Replicación geográfica y multi-región
- Caching en múltiples niveles
- Aislamiento de recursos y multitenancy
- Diseño sin punto único de falla
- Backpressure y control de flujo
- Observabilidad y autosanación
- Optimización costo / rendimiento
- Evolución arquitectónica a escala
 
 
- Práctica del desarrollador - Linux, entornos y automatización - Fundamentos de sistemas tipo Unix
- Comandos esenciales de línea de comando
- Gestión de paquetes y entornos del sistema
- Servicios del sistema, tareas programadas y demonios
- Variables de entorno y configuración
- Supervisión de procesos y recursos
- Redes y puertos
- Seguridad y control de acceso
- Automatización y scripting en la línea de comando
- Personalización del entorno de trabajo
- Diagnóstico de rendimiento
- Auditoría del sistema y logs
 
- Fundamentos de lenguajes de programación - Compiladores, interpretes y construcción de lenguajes
- Diseño de lenguajes
- Sintaxis y estructuras básicas
- Tipos de datos y abstracción de datos
- Control de flujo (condicionales, bucles, manejo de ramificaciones)
- Funciones, cierres y paso de datos
- Paradigmas funcionales
- Programación orientada a objetos (clases, interfaces, herencia, composición)
- Organización en módulos y paquetes
- Tipado estático y anotaciones de tipo
- Manejo de errores y excepciones
- Gestión estructurada de recursos (por ejemplo, scopes y contextos controlados)
- Iteradores, generadores y secuencias consumibles
- Metaprogramación y reflexión
- Serialización y deserialización de estructuras
- Estilo, convenciones y mantenibilidad del código
 
- Herramientas y productividad técnica - Entornos aislados y gestión de dependencias
- Control de versiones de configuraciones y datos
- Plantillas de proyectos y generación de esqueletos de servicio
- Ejecutores de tareas y automatización repetible (scripts, makefiles, job runners)
- Documentación viva y navegable (documentación generada y verificada automáticamente)
- Creación de herramientas de línea de comando para flujos internos
- Integración y configuración avanzada del entorno de desarrollo (editores, IDEs)
- Perfilado y depuración interactiva
- Chequeo estático de tipos y análisis estático
- Formateo automático y validaciones previas al commit
- Plantillas de integración continua y entrega continua
- Entornos de desarrollo reproducibles y remotos
 
- Control de versiones y colaboración - Fundamentos de control de versiones distribuido
- Estrategias de ramificación (por ejemplo, trunk-based, release branches)
- Rebase, merge, cherry-pick y manejo de trabajo en paralelo
- Resolución de conflictos
- Convenciones de commits y gestión semántica de versiones
- Versionado semántico y etiquetado de lanzamientos
- Gestión de submódulos, monorepos y multi-repos
- Hooks y automatización del flujo de trabajo
- Integración con revisión de código e integración continua
- Políticas de revisión y ramas protegidas
- Auditoría del historial y trazabilidad de cambios
 
 
- Diseño y software - Diseño y arquitectura de software - Principios de diseño orientado a mantenibilidad
- Principios como evitar repetición innecesaria y mantener la simplicidad
- Patrones de diseño (creacionales, estructurales y de comportamiento)
- Arquitectura en capas
- Arquitectura limpia
- Arquitectura hexagonal y separación de puertos/adaptadores
- Diseño guiado por el dominio (Domain-Driven Design)
- Monolitos modulares y microservicios
- Arquitecturas dirigidas por eventos
- Versionado de interfaces y ciclos de vida de APIs
- Documentación técnica orientada a desarrolladores y mantenimiento
- Modularización y empaquetado de componentes reutilizables
 
- Algoritmos y estructuras de datos - Complejidad temporal y espacial (notación asintótica)
- Análisis de eficiencia algorítmica
- Estructuras lineales (listas, pilas, colas, colas dobles)
- Árboles, montículos, tries y estructuras jerárquicas
- Grafos
- Hashing y tablas hash
- Algoritmos de ordenamiento y búsqueda
- Recursividad y divide y vencerás
- Programación dinámica y memoización
- Algoritmos de concurrencia y sincronización
- Estructuras de datos inmutables o persistentes
- Algoritmos probabilísticos y aproximados
 
- Procesos de ingeniería de software - Requisitos de software
- Análisis, especificación y trazabilidad de requisitos
- Diseño de software
- Construcción y estándares de codificación
- Verificación y validación
- Mantenimiento evolutivo y correctivo
- Gestión de la configuración
- Ingeniería de calidad de software
- Procesos de desarrollo
- Métricas de productividad y calidad del software
- Herramientas de soporte al ciclo de vida del software
- Mejora continua de procesos y madurez operativa
 
 
- Backend y servicios - Frameworks web y diseño de APIs - Tipos y arquitecturas web
- Comunicación bidireccional y tiempo real (por ejemplo, sockets y streaming)
- Middleware, interceptores y filtros
- Validación y serialización de datos de entrada y salida
- Autenticación y autorización a nivel de servicio
- Limitación de tasa, paginación y control de abuso
- Versionado de APIs
- Especificaciones y documentación de APIs (por ejemplo, contratos máquina-legibles)
 
- Bases de datos y persistencia - Lenguajes de consulta estructurados
- Modelado relacional
- Normalización y desnormalización
- Transacciones, atomicidad y aislamiento
- Índices, vistas y disparadores
- Procedimientos almacenados y lógica en base de datos
- Mapeo objeto-relacional y capas de acceso a datos
- Migraciones estructuradas y controladas de esquema
- Pools de conexiones y eficiencia de acceso concurrente
- Almacenamiento no relacional
- Motores de búsqueda y consulta de texto libre
- Almacenamiento analítico y sistemas orientados a consultas de negocio
- Replicación, particionamiento y alta disponibilidad
- Integridad referencial y consistencia eventual
 
- Integraciones y comunicación entre servicios - Mensajería asíncrona y colas de mensajes
- RPC eficiente y contratos binarios
- Webhooks, notificaciones y callbacks externos
- Integración con servicios de terceros
- Estrategias de reintento y colas de mensajes muertos
- Serialización binaria y formatos compactos
- Arquitecturas basadas en eventos y event sourcing
- Modelos de publicación/suscripción
- Streaming de datos en tiempo real y captura de cambios
 
- Arquitecturas distribuidas y microservicios - Patrones de microservicios
- Descubrimiento de servicios y enrutamiento
- Versionamiento y despliegue incremental
- Fault tolerance y resiliencia operativa
- Observabilidad distribuida y trazabilidad
- Gobernanza de contratos y compatibilidad
- Multi-tenancy y aislamiento de tráfico
 
 
- Frontend, interfaces gráficas y usabilidad - Fundamentos de experiencia y flujo- Interacción humano–computador
- Flujos de usuario
- Estados de la interfaz
 
- Interacción y comunicación con la persona usuaria- Arquitectura visual
- Patrones de interacción
- Microinteracciones y percepción
- Notificaciones y gestión de atención
- Descubribilidad y búsqueda
- Contenido en la interfaz
- Onboarding y aprendizaje continuo
 
- Capa de presentación y composición de UI- Renderizado y composición de interfaz
- Gestión de estado local de UI
- Estabilidad visual
 
- Arquitectura de la aplicación frontend- Modelado de componentes
- Gestión de estado compartido
- Gestión de navegación y flujo
- Integración con el sistema de diseño
- DSL de interfaz y plantillas
 
- Datos, red y sincronización- Consumo de APIs
- Sincronización con backend
- Tiempo real y concurrencia
- Modo offline y resiliencia de red
- Escalabilidad con datos en vivo
 
- Rendimiento y experiencia percibida- Costos de renderizado
- Entrega y carga inicial
- Interactividad percibida
- Presupuestos de performance
 
- Accesibilidad, confianza y ética- Accesibilidad e inclusión
- Internacionalización y localización
- Seguridad y confianza
- Cumplimiento y datos sensibles
- Ética de interacción
 
- Sistema de diseño y gobernanza de experiencia- Sistema de diseño
- Mantenibilidad y deuda de experiencia
- Gobernanza del diseño
- Estándares y guías de interfaz
 
- Calidad y validación- Testing
- Pruebas de experiencia y usabilidad
- Versionado y mantenibilidad de cambios
 
- Colaboración y multiusuario- Presencia en tiempo real (quién está viendo/editando)
- Resolución de conflictos de edición simultánea
- Historial compartido y atribución por persona / rol
 
- Operación y evolución del frontend- Observabilidad y métricas
- Mejora guiada por evidencia
- Pipelines de entrega
 
 
- Fundamentos de experiencia y flujo
- Computación científica y HPC - Fundamentos de análisis numérico - Aritmética de punto flotante y error numérico
- Condicionamiento numérico y número de condición
- Estabilidad algorítmica y estabilidad numérica
- Consistencia, convergencia y orden de métodos numéricos
- Propagación y acumulación de errores de redondeo
- Escalamiento y no dimensionalización de ecuaciones físicas
- Sensibilidad y análisis de perturbaciones
- Caos numérico y dependencia en condiciones iniciales
 
- Métodos numéricos fundamentales - Interpolación y aproximación polinómica
- Ajuste de curvas y regresión numérica
- Derivación numérica
- Integración numérica
- Resolución numérica de ecuaciones no lineales
- Optimización numérica determinista
- Optimización numérica estocástica
- Métodos de Monte Carlo y muestreo aleatorio
- Cuadratura adaptativa y métodos compuestos
- Minimización de energía y métodos variacionales
 
- Álgebra lineal numérica avanzada - Descomposición LU, Cholesky, QR, SVD
- Resolución directa de sistemas lineales
- Métodos iterativos para sistemas lineales
- Gradiente conjugado y variantes
- GMRES, BiCGSTAB y Krylov generales
- Problemas de autovalores y autovectores
- Descomposiciones espectrales y modos propios
- Matrices dispersas y formatos de almacenamiento disperso
- Precondicionadores y mejora de convergencia
- Métodos multigrid y multiescala
- Factorizaciones de rango bajo
 
- Métodos para ecuaciones diferenciales ordinarias (EDO) - Métodos explícitos de paso único
- Métodos implícitos de paso único
- Métodos multistep
- Métodos Runge-Kutta clásicos y de alto orden
- Métodos adaptativos con control de paso
- Sistemas rígidos y métodos para rigidez
- Conservación de invariantes y métodos geométricos
- Métodos linealizados y métodos de disparo
- Solución de problemas de contorno
 
- Métodos para ecuaciones diferenciales parciales (EDP) - Discretización por diferencias finitas
- Discretización por elementos finitos
- Discretización por volúmenes finitos
- Métodos espectrales y pseudoespectrales
- Métodos de contorno e integrales de frontera
- Esquemas conservativos y leyes de conservación
- Estabilidad numérica y condición CFL
- Métodos implícitos vs explícitos en EDP
- Refinamiento de malla adaptativo (AMR)
- Métodos de partículas y SPH (Smoothed Particle Hydrodynamics)
- Métodos de frontera inmersa
- Tratamiento numérico de discontinuidades y shocks
 
- Simulación científica por dominio físico - Dinámica de fluidos computacional (CFD)
- Mecánica de sólidos y análisis estructural
- Fractura, plasticidad y mecánica del daño
- Electromagnetismo computacional
- Física de plasmas y magnetohidrodinámica
- Astrofísica computacional y relatividad numérica
- Dinámica molecular clásica
- Dinámica molecular ab initio
- Física estadística y simulación de Monte Carlo
- Modelos climáticos y geo-simulación
- Sismología y propagación de ondas
- Biofísica computacional y dinámica de proteínas
- Simulación de reactores nucleares y transporte de radiación
 
- Programación científica - Lenguajes y ecosistemas dominantes (Fortran moderno, C/C++, Julia)
- Bibliotecas numéricas de bajo nivel (BLAS, LAPACK)
- Bibliotecas científicas de más alto nivel (FFTW, PETSc, Trilinos)
- Programación con precisión controlada
- Programación vectorial explícita y extensiones SIMD
- Uso de plantillas y metaprogramación para rendimiento
- Modelos de cómputo distribuido científico (MPI)
- Directivas paralelas (OpenMP, OpenACC)
- Modelos de cómputo acelerado (CUDA, HIP, OpenCL)
- Lenguajes y DSLs específicos de dominio
- Envolturas científicas en Python y bindings nativos
- Entornos interactivos de exploración científica
 
- Arquitecturas HPC y rendimiento extremo - Supercomputadores y clústeres HPC
- Topologías de interconexión de alto rendimiento
- Redes de baja latencia y alto ancho de banda
- Tecnologías de interconexión (InfiniBand, Omni-Path)
- Jerarquías de memoria en HPC (HBM, NUMA, NVRAM)
- Arquitecturas manycore y vector engines
- Escalamiento fuerte y escalamiento débil
- Modelos de equilibrio cómputo/memoria (roofline model)
- Cómputo exascale y arquitecturas exascale
- Eficiencia energética y cómputo verde
- Heterogeneidad CPU/GPU/FPGA en nodos de cómputo
- Reducción de movimiento de datos como limitante físico
 
- Administración y operación de clústeres HPC - Gestión de recursos compartidos multiusuario
- Planificadores y colas de trabajo por lotes
- Sistemas de colas (SLURM, PBS, LSF)
- Gestión de módulos y entornos de compilación
- Gestión de dependencias científicas y toolchains
- Sistemas de archivos paralelos (Lustre, GPFS, BeeGFS)
- Políticas de prioridad y fairness
- Contabilidad y uso de horas de cómputo
- Monitoreo y telemetría de clúster
- Seguridad y aislamiento de usuarios en HPC
- Mantenimiento predictivo y gestión de fallos de nodo
- Planificación de capacidad y escalamiento físico
 
- Optimización de rendimiento científico - Perfilado y trazado de rendimiento
- Análisis de hotspots y kernels críticos
- Vectorización automática y manual
- Afinidad de CPU y pinning de hilos
- Optimización de caché y localidad de datos
- Bloqueo y tiling de bucles
- Reducción de costo de comunicación
- Solapamiento comunicación / cómputo
- Minimización de sincronizaciones globales
- Escalabilidad paralela y eficiencia
- Portabilidad de rendimiento entre arquitecturas
- Auto-tuning y generación de kernels óptimos
 
- Computación heterogénea y aceleradores - GPU de propósito general
- Aceleradores matriciales especializados
- FPGA para cómputo científico
- Offloading selectivo de kernels
- Modelos de memoria unificada y memory pooling
- Balanceo dinámico CPU/GPU
- Co-scheduling de múltiples aceleradores
- Estrategias NUMA-aware en nodos heterogéneos
- Codiseño hardware-software
 
- Métodos estocásticos y muestreo masivo - Monte Carlo clásico
- Monte Carlo de cadenas de Markov (MCMC)
- Muestreo de Importancia y reponderación
- Cuasi-Monte Carlo y secuencias de baja discrepancia
- Rare-event sampling y métodos de eventos raros
- Análisis de incertidumbre y propagación de errores estadísticos
- Inferencia bayesiana computacional de gran escala
- Simulación de ensambles y métodos de replicas
 
- Optimización matemática de gran escala - Programación lineal
- Programación cuadrática
- Métodos de punto interior
- Optimización no lineal sin restricciones
- Optimización con restricciones
- Métodos de descenso de gradiente a gran escala
- Métodos quasi-Newton y BFGS limitado
- Descomposición por bloques y coordenadas alternadas
- Métodos distribuidos y consenso
- Control óptimo numérico
- Problemas inversos y ajuste de parámetros físicos
 
- Ciencia de datos a gran escala en HPC - Preprocesamiento masivo de datos científicos
- Limpieza y normalización de datos experimentales
- Reducción de dimensionalidad y compresión
- Análisis de series temporales de alta resolución
- Pipelines de análisis batch y streaming científicos
- Visualización científica de alto rendimiento
- Gestión de datasets masivos y movimiento de datos
- Indexación eficiente de resultados de simulación
- Exploración interactiva en entornos de supercómputo
 
- Aprendizaje automático acelerado en HPC - Entrenamiento distribuido de modelos profundos
- Paralelismo de datos
- Paralelismo de modelo
- Paralelismo de pipeline
- Técnicas mixtas de paralelismo
- Compiladores de grafos y optimizadores de kernels
- Modelos informados por física (physics-informed ML)
- Surrogates y emuladores de simulaciones costosas
- Inferencia optimizada de baja latencia
- AutoML y búsqueda de arquitecturas en HPC
 
- Verificación, validación y reproducibilidad científica - Verificación numérica de solvers
- Validación física frente a datos experimentales
- Comparación cruzada entre códigos independientes
- Benchmarks y suites de referencia comunitarias
- Control de versiones de simulaciones y parámetros
- Gestión de semillas aleatorias y estados iniciales
- Bitácoras experimentales y trazabilidad completa
- Publicación de datasets reproducibles
- Replicación de resultados publicados
 
- Metodologías de desarrollo de software científico - Diseño modular y orientado a componentes físicos
- Separación entre física, discretización y solver
- Testing automatizado para kernels numéricos
- Validación continua y pipelines de CI científicos
- Refactorización dirigida por rendimiento
- Documentación técnica y manuales de usuario científico
- Notebooks reproducibles y cuadernos ejecutables
- Automatización de campañas de simulación
- Gestión de configuraciones y barridos de parámetros
- Portabilidad entre supercómputo on-premise y entornos de investigación
 
- Computación de precisión mixta y aproximada - Precisión simple, doble y extendida
- Precisión mixta en solvers iterativos
- Reducción de precisión en kernels críticos
- Cómputo aproximado y tolerante a error
- Estrategias de reescalado numérico
- Propagación controlada de error
- Aritmética estocástica y detección de inestabilidades
 
- Resiliencia y tolerancia a fallos en HPC - Checkpointing y reinicio
- Checkpointing incremental y diferencial
- Algoritmos tolerantes a fallos (ABFT)
- Replicación activa de tareas críticas
- Detección y corrección de bit flips
- Recuperación tras caídas parciales de nodo
- Elasticidad bajo fallos a escala masiva
- Reconfiguración dinámica de trabajos a mitad de ejecución
 
- Computación científica en tiempo real y alta fidelidad - Simulación en línea para control experimental
- Gemelos digitales de sistemas físicos complejos
- Control predictivo basado en simulación
- Fusión de datos experimentales en vivo con modelos numéricos
- Procesamiento en el borde de instrumentos científicos
- Reducción automática de datos bajo latencia estricta
- Sistemas de alerta temprana basados en simulación
 
- Ética, gestión y política científica en HPC - Priorización de acceso a recursos de supercómputo
- Cuotas de uso y gobernanza de clústeres compartidos
- Transparencia y trazabilidad de resultados numéricos
- Reproducibilidad como criterio de publicación científica
- Sostenibilidad energética del supercómputo
- Huella de carbono del entrenamiento masivo de modelos
- Manejo responsable de datos sensibles y confidenciales
- Transferencia tecnológica hacia la industria
 
 
- Datos y ML - Fundamentos matemáticos y computacionales - Álgebra lineal para datos y modelos
- Cálculo diferencial e introducción a optimización continua
- Optimización convexa y dualidad (Lagrange, KKT)
- Métodos de optimización numérica (gradiente, Newton, quasi-Newton, Adam)
- Probabilidad básica y variables aleatorias
- Inferencia estadística elemental (muestreo, estimación, sesgo/varianza)
- Teoría de la información (entropía, divergencia)
 
- Fundamentos de datos y análisis cuantitativo - Tipos y formatos de datos (estructurados, semiestructurados, no estructurados)
- Manipulación y transformación de datos
- Limpieza, imputación, normalización y validación
- Versionado de datos, linaje y reproducibilidad de datasets
- Series temporales básicas: agregaciones, ventanas de tiempo, estacionalidad
- Métricas de negocio y definición de KPI
- Segmentación, cohortes y comportamiento de usuarios
- Analítica de producto y telemetría de uso
- Análisis geoespacial y datos con localización
- Análisis de riesgo, fraude y anomalías
- Análisis exploratorio de datos (EDA)
- Visualización, storytelling con datos y comunicación ejecutiva
 
- Estadística, inferencia y causalidad - Estimadores, sesgo y varianza
- Intervalos de confianza y tests de hipótesis
- Comparación de grupos (t-test, χ², ANOVA)
- Significancia estadística, potencia estadística y tamaño de muestra
- Regresión lineal y múltiple (interpretación de coeficientes)
- Multicolinealidad y selección de variables
- Regularización estadística (ridge, lasso)
- Inferencia bayesiana aplicada
- Análisis causal (confusores, variables instrumentales, correlación vs causalidad)
- Evaluación de impacto y uplift
 
- Teoría del aprendizaje automático - Formulación de aprendizaje supervisado, no supervisado y semisupervisado
- Funciones de pérdida y significado estadístico
- Generalización: sesgo-varianza, capacidad del modelo y sobreajuste
- Dimensión VC, márgenes y control de complejidad
- PAC learning (visión conceptual)
- Regularización vista como restricción de complejidad
- Paisajes de optimización no convexa en redes profundas
- Estabilidad de entrenamiento y ruido
 
- Machine Learning clásico (ML tradicional) - Regresión lineal y logística
- k-NN y métodos basados en distancia
- Máquinas de soporte vectorial (SVM)
- Árboles de decisión
- Bosques aleatorios
- Ensembles y Gradient Boosting (XGBoost, LightGBM)
- Selección de variables y feature engineering
- Balanceo de clases y manejo de desbalance extremo
- Clustering (k-means, jerárquico, DBSCAN)
- Modelos de mezcla y clustering probabilístico
- Reducción de dimensionalidad (PCA, t-SNE, UMAP)
- Detección de anomalías y outliers
- Series temporales con ML tradicional (ARIMA, SARIMA, Holt-Winters, VAR)
- Forecasting de demanda y predicción multihorizonte
- AutoML y búsqueda de hiperparámetros / arquitecturas
- Aprendizaje semisupervisado y débilmente supervisado
 
- Evaluación de modelos y diseño experimental - Partición train/valid/test y validación cruzada
- Métricas de regresión, clasificación y ranking (ROC, PR, F1, calibración)
- Umbrales de decisión y coste esperado
- Interpretabilidad local y global (importancia de características, SHAP/LIME)
- Data leakage y fugas de información
- Robustez frente a ruido, datos faltantes y cambios de distribución
- A/B testing y experimentación controlada
- Modelos descriptivos / diagnósticos / predictivos / prescriptivos
- Análisis causal aplicado y uplift modeling en producto
- Detección temprana de degradación (drift de datos y drift de concepto)
- Aprendizaje en línea y adaptación continua
- Aprendizaje activo (el modelo pide etiquetas donde tiene más incertidumbre)
 
- Deep Learning: fundamentos - Neuronas artificiales y perceptrón multicapa
- Redes densas feed-forward
- Funciones de activación y normalización
- Retropropagación del gradiente
- Inicialización de pesos y estabilidad numérica
- Regularización en redes neuronales (dropout, weight decay)
- Ajuste de hiperparámetros en redes profundas
- Funciones de pérdida para clasificación y regresión
 
- Arquitecturas profundas avanzadas - Redes convolucionales (CNN) para visión
- Pooling, padding y bloques tipo ResNet
- Redes recurrentes (RNN, LSTM, GRU)
- Temporal Convolutional Networks
- Mecanismos de atención y self-attention
- Transformers y arquitecturas encoder-decoder
- Modelos generativos (autoencoders, GANs, modelos de difusión)
- Modelos multimodales (imagen-texto, audio-texto, fusión sensorial)
 
- Transfer learning, auto-supervisión y modelos fundacionales - Transfer learning clásico (pre-entrenar y ajustar)
- Aprendizaje auto-supervisado (contrastive, enmascarado, predicción de la siguiente parte)
- Modelos fundacionales y LLMs como base generalista
- Fine-tuning eficiente (LoRA, adapters, distillation)
- Continual learning y olvido catastrófico
 
- Lenguaje natural, recuperación aumentada y agentes - Representaciones de texto (TF-IDF, embeddings)
- Modelos de lenguaje (n-gramas, RNNs, Transformers)
- Modelos de lenguaje grandes (LLMs) y alineación básica
- Adaptación de dominio y fine-tuning instruccional
- Resumen automático, QA, NER y extracción de información
- Recuperación aumentada de contexto (búsqueda semántica, RAG)
- Orquestación de agentes que usan herramientas externas (tool-use)
- Seguridad y alucinación
 
- Visión computacional y aprendizaje en grafos - Aumentación y preprocesamiento de imágenes
- Clasificación, detección y segmentación de objetos
- Visión 3D, nubes de puntos y seguimiento en video
- Fusión sensorial (imagen + LiDAR)
- Representación de grafos (nodos, aristas, atributos)
- Redes neuronales en grafos (message passing, GCN, GAT)
- Aplicaciones en química, fraude, redes sociales y recomendación
 
- Series de tiempo avanzadas y señales - Estacionalidad, tendencia y descomposición
- Forecasting probabilístico y multihorizonte
- Detección de anomalías en tiempo real
- Transformers temporales y predicción secuencial multivariante
- Monitoreo operacional en streaming (alertas, SLA de detección)
 
- Aprendizaje por refuerzo y control - Formulación MDP (estados, acciones, recompensas)
- Métodos tabulares (Q-Learning, SARSA)
- Deep Q-Networks (DQN)
- Policy Gradient y actor-critic (PPO)
- Control continuo y robótica
- Multiagente y coordinación
- Seguridad, exploración controlada y alineación en RL
 
- Sistemas de recomendación y personalización - Segmentación de usuarios y clustering aplicado
- Filtrado colaborativo y factorización matricial
- Modelos basados en contenido y señales de contexto
- Ranking, CTR prediction y métricas top-K
- Recomendadores secuenciales y en tiempo real
- Personalización dinámica en producto
- Interpretabilidad y explicabilidad para equipos de negocio
 
- Ingeniería de datos y plataformas de datos - Modelado analítico orientado a negocio
- Modelado dimensional (hechos y dimensiones)
- Data warehouse, data lakes y lakehouses
- Formatos columnares y almacenamiento orientado a análisis
- Catálogo de datos, linaje y descubribilidad
- Gobernanza de acceso y control de permisos
- Retención, archivado y ciclo de vida de los datos
- Integración con herramientas de BI y tableros ejecutivos
- Exposición de datos como servicio (APIs analíticas)
- ETL / ELT y pipelines reproducibles y declarativos
- Procesamiento batch a gran escala
- Procesamiento streaming y datos en flujo continuo
- Orquestación de tareas y scheduling de flujos
- Optimización y perfilado de pipelines
- Pruebas de calidad, contratos de datos y SLAs de datos
- Observabilidad de datos (frescura, completitud, anomalías)
- Data mesh y dominios de datos
 
- Big Data y computación distribuida - Concepto de big data (volumen, velocidad, variedad, veracidad, valor)
- Arquitecturas distribuidas de datos
- Sistemas de archivos distribuidos
- Motores de consulta distribuida y SQL distribuido
- Buses de eventos y colas de mensajería
- Procesamiento en tiempo real para decisiones operativas
- Integración de telemetría de producto y métricas de negocio a escala
 
- Puesta en producción de modelos (MLOps / LLMOps) - Ciclo de vida del modelo: entrenamiento, validación, despliegue, rollback
- Tracking de experimentos y versionado de artefactos
- Gestión de características (feature stores)
- Servir modelos en batch y en tiempo real
- Inferencia de baja latencia y costo por predicción
- Monitorización de deriva y degradación de modelos
- Retraining continuo y loops de realimentación
- Testing de modelos antes del rollout y validación de seguridad
- A/B testing en producción y medición de impacto
- Observabilidad operativa (latencia, throughput, errores)
- SLOs y SLAs para servicios de inferencia
- Documentación y tarjetas de modelo (model cards)
 
- Escalamiento, eficiencia y despliegue en el borde - Entrenamiento distribuido (data parallelism, model parallelism, sharding)
- Mezcla de expertos y arquitecturas escalables
- Cuantización, poda y compresión de modelos
- Compiladores y runtimes optimizados (GPU / TPU / ASIC)
- Inferencia en el borde (edge AI, TinyML, microcontroladores)
- Limitaciones de memoria, energía y latencia dura
- Costos energéticos y sostenibilidad del cómputo en IA
 
- Ética, seguridad, privacidad y gobernanza - Privacidad de datos personales y minimización de uso
- Privacidad diferencial y aprendizaje federado
- Gobernanza, trazabilidad y auditoría de datos y modelos
- Cumplimiento normativo y marcos legales
- Control de acceso, clasificación de datos y dominios de seguridad
- Sesgos algorítmicos, equidad y no discriminación
- Explicabilidad y justificabilidad de decisiones automatizadas
- Riesgo reputacional y deepfakes / desinformación sintética
- Transparencia frente a usuarios y stakeholders
- Reproducibilidad científica y versionado de datasets/modelos
- Gobernanza del ciclo de vida completo del dato y del modelo
- Políticas internas de aprobación y revisión humana obligatoria
- Continuidad operativa y resiliencia ante fallos del modelo en producción
 
- Aplicaciones verticales y casos de uso - Analítica de negocio y optimización operacional
- Detección de fraude, scoring de riesgo y cumplimiento financiero
- Personalización, recomendación y priorización de leads
- Salud y biomedicina asistida por IA
- Retail, demanda y logística predictiva
- Industria y mantenimiento predictivo (gemelos digitales)
- Ciencia y simulación asistida por datos (clima, materiales, física)
- Agentes autónomos, robótica y control continuo
- Asistentes conversacionales y copilotos para trabajo humano
- Automatización de decisiones en línea dentro del flujo de negocio
 
 
- Seguridad - Seguridad de aplicaciones y servicios - Principales vectores de ataque en aplicaciones web
- Criptografía práctica y hashing seguro
- Canales seguros y certificados (cifrado en tránsito extremo a extremo)
- Protección contra ataques comunes en la web (inyecciones, XSS, CSRF, etc.)
- Autenticación y autorización (incluyendo federación de identidad y single sign-on)
- Manejo seguro de credenciales, llaves y secretos
- Seguridad en bases de datos y control de acceso a datos sensibles
- Registro de eventos de seguridad y trazabilidad
- Sanitización y validación de entrada
- Modelado de amenazas y pruebas básicas de penetración
- Gestión de sesiones y mitigación de secuestro de sesión
- Política de mínimo privilegio en componentes internos
 
- Seguridad de infraestructura y plataforma - Aislamiento entre servicios y entornos (producción, staging, desarrollo)
- Endurecimiento (hardening) de sistemas operativos, contenedores y runtimes
- Seguridad en redes: segmentación interna, firewalls, zonas de confianza
- Control de tráfico interno entre servicios (mTLS, políticas de red, service mesh)
- Seguridad en la nube: configuración segura de recursos gestionados
- Protección de datos en reposo (cifrado en disco, cifrado por objeto)
- Seguridad de la cadena de suministro de software (supply chain security)
- Escaneo de vulnerabilidades en dependencias, imágenes y artefactos
- Gestión de parches y actualizaciones de seguridad
- Backups seguros y recuperación ante desastres
 
- Identidad, acceso y control de privilegios - Gestión de identidad y acceso (IAM)
- Autenticación multifactor (MFA)
- Rotación periódica de credenciales y llaves
- Delegación de permisos y roles granulares
- Acceso just-in-time y acceso de emergencia controlado
- Auditoría de quién accede a qué y cuándo
- Separación de funciones críticas (segregation of duties)
- Gobierno de cuentas de servicio y claves de API
- Revocación y desactivación segura de accesos
 
- Monitoreo, detección y respuesta temprana - Detección de comportamientos anómalos y abuso
- Alertas de actividad sospechosa en autenticación y uso de APIs
- Correlación de eventos de seguridad en logs centralizados
- Protección contra fuga de datos y exfiltración
- Trazabilidad completa de acciones de alto riesgo
- Simulación de incidentes (ejercicios tipo “fire drill”)
- Detección de escalamiento lateral interno
- Señales tempranas de compromiso en entornos críticos
 
- Respuesta a incidentes y continuidad operativa - Plan de respuesta a incidentes de seguridad
- Contención, erradicación y recuperación
- Análisis forense y preservación de evidencia técnica
- Postmortems de seguridad sin cultura de culpa
- Comunicación interna y externa durante incidentes
- Planes de continuidad operativa y recuperación de negocio
- Gestión coordinada con legal, compliance y stakeholders críticos
 
- Cumplimiento y riesgo organizacional - Políticas internas de seguridad y uso aceptable
- Clasificación y manejo de datos sensibles
- Requisitos regulatorios y normativos aplicables
- Revisión periódica de riesgos y exposiciones
- Evaluación de terceros y proveedores (riesgo de cadena de suministro)
- Controles preventivos y controles compensatorios
- Trazabilidad, reportabilidad y obligaciones de notificación
- Cultura de seguridad: concientización y formación continua en el equipo
 
 
- Calidad y auditoría - Verificación formal y métodos formales - Especificación formal
- Model checking
- Pruebas asistidas por SMT/SAT
- Demostración asistida (proof assistants)
- Aplicaciones prácticas de métodos formales
 
- Testing y aseguramiento de calidad - Pruebas unitarias
- Pruebas de integración
- Pruebas de extremo a extremo
- Pruebas de contrato entre servicios
- Pruebas basadas en instantáneas y estados esperados
- Simulación de dependencias externas y uso de dobles de prueba
- Pruebas basadas en propiedades
- Métricas de cobertura y criterios de calidad
- Análisis estático y linters
- Análisis de seguridad automatizado
- Ejecución automática de pruebas en pipelines de entrega
 
- Procesos de calidad y auditoría - Integración continua y despliegue continuo
- Control de versiones de dependencias externas
- Revisión de código estructurada y guías internas
- Auditorías de seguridad y cumplimiento normativo
- Aseguramiento de calidad (QA) y control de calidad (QC)
- Métricas de calidad operacional (por ejemplo, densidad de defectos)
- Pruebas de aceptación y regresión
- Estándares de codificación y criterios de aprobación
- Pruebas no funcionales (rendimiento, carga, resiliencia)
- Documentación de calidad y trazabilidad
- Cumplimiento de marcos y certificaciones de la industria
- Evaluaciones posteriores al lanzamiento y mantenimiento preventivo
 
 
- Operación en producción - Concurrencia y rendimiento - Modelos asíncronos y bucles de eventos
- Paralelismo con hilos y procesos
- Tareas diferidas y trabajo en segundo plano
- Futuros, promesas y unidades de trabajo asíncronas
- Caching en memoria y distribuido
- Perfilado de CPU y memoria
- Cuellos de botella de entrada/salida frente a cómputo
- Medición de rendimiento y benchmarking
- Estrategias de escalado horizontal y vertical
- Colas de trabajo y orquestadores de tareas
- Control de tasa y mecanismos de alivio de presión
- Bloqueos, semáforos y estructuras de sincronización
 
- Infraestructura y operaciones - Estrategias avanzadas de control de versiones y ramas
- Integración continua / entrega continua en entornos reales
- Contenedores y definición de entornos portables
- Despliegue de múltiples servicios coordinados
- Orquestación de contenedores y planificación de cargas
- Monitoreo de infraestructura y paneles de visualización
- Infraestructura como código
- Plataformas en la nube (cómputo, redes, almacenamiento)
- Almacenamiento de objetos, ejecución sin servidor, monitoreo gestionado
- Gestión de configuración y secretos centralizados
- Monitoreo activo y alertas operacionales
- Optimización de costos y escalado automático
 
- Observabilidad, logs y métricas - Logging estructurado y contextualizado
- Monitoreo del desempeño de las aplicaciones (APM)
- Trazas distribuidas de extremo a extremo
- Métricas personalizadas y verificaciones de salud
- Alertas basadas en umbrales y tendencias
- Auditoría y reconstrucción de incidentes
 
- Resiliencia - Tolerancia a fallos y aislamiento
- Control de latencia y tiempo de espera
- Reintentos seguros
- Protección contra sobrecarga
- Salud del servicio y autosanación
- Recuperación y continuidad
 
 
- Gestión técnica - Cultura técnica y gestión del equipo - Revisión de código efectiva y empática
- Gestión de deuda técnica
- Mentoría y liderazgo técnico
- Respuesta a incidentes en producción
- Postmortems y análisis de causa raíz sin culpas
- Estándares internos de código y guías
- Comunicación con producto y otros equipos
- Planificación de iteraciones y lanzamientos
- Evaluación de decisiones técnicas y trade-offs
- Hoja de ruta técnica y visión de plataforma
- Cultura de documentación viva
- Inclusión, colaboración y seguridad psicológica
- Gestión del conocimiento y rotación de contexto
 
- Gestión y liderazgo técnico - Gestión de proyectos
- Estimación de esfuerzo y planificación técnica
- Gestión de riesgos y dependencias entre equipos
- Priorización de deuda técnica frente a features
- Gestión de releases y control de cambios
- Comunicación transversal (producto, QA, operaciones, datos)
- Desarrollo profesional y mentoría técnica
- Evaluación de desempeño técnico
- Registro y documentación de decisiones de arquitectura
- Presentación técnica a audiencias no técnicas
- Cultura de ingeniería basada en aprendizaje continuo
- Prácticas de mejora continua tras incidentes
- Gestión de capacidad y asignación de recursos
- Estrategia de contratación y onboarding técnico
- Escalamiento organizacional y delegación
 
- Operaciones, fiabilidad y excelencia de entrega - SRE interno y propiedad de servicio
- Observabilidad organizacional
- Gestión de SLAs, SLOs y SLIs
- Gestión de alertas y fatiga de alarmas
- Ciclos de despliegue seguro
- Gestión de entornos (dev, staging, prod)
- Controles de cambio y auditoría operativa
- Ejercicios de continuidad operacional y DRP
- Gestión de incidentes de seguridad
- Comunicación durante incidentes críticos
- Madurez de procesos DevSecOps
 
 
- Cumplimiento y mejora - Ética, legalidad y práctica profesional - Responsabilidad profesional en ingeniería de software
- Privacidad y manejo responsable de datos
- Propiedad intelectual y licenciamiento de software
- Cumplimiento normativo y estándares de la industria
- Riesgos de dependencia de un único proveedor y cierre tecnológico
- Sesgos algorítmicos y transparencia en sistemas automatizados
- Accesibilidad e inclusión en diseño y experiencia de usuario
- Gobernanza de software libre y colaboración abierta
- Protección de datos personales y trazabilidad de acceso
- Reproducibilidad técnica y científica
- Comunicación honesta y responsable con las partes interesadas
- Impacto social y ambiental del software
- Soberanía de datos y cumplimiento regional
- Gestión responsable de IA generativa
 
- Innovación, investigación y mejora continua - Evaluación crítica de nuevas tecnologías
- Prototipos rápidos y pruebas de concepto
- Medición comparativa y benchmarking técnico
- Observación de tendencias tecnológicas y estado del arte
- Participación en comunidades técnicas y proyectos abiertos
- Gestión del conocimiento interno y documentación compartida
- Diseño centrado en el usuario para resolver problemas reales
- Planes de aprendizaje continuo y formación técnica
- Experimentación controlada y despliegues graduales
- Innovación responsable, segura y sostenible
- Estrategia de patentes y divulgación científica
- Transferencia tecnológica y escalamiento a producción
- Cultura interna de experimentación y hack time
 
- Auditoría, métricas y optimización de procesos - Métricas de entrega y flujo de trabajo
- Métricas de confiabilidad y disponibilidad
- Métricas de calidad de código
- Auditoría de seguridad y cumplimiento
- Auditoría de acceso y trazabilidad
- Procesos de mejora continua tipo Kaizen
- Ciclo de retroalimentación con clientes y stakeholders
- Health checks organizacionales y madurez técnica
- Gestión de backlog de mejoras operativas
- Automatización de controles y reportabilidad
- Transparencia interna y reportes ejecutivos
- Preparación para auditorías externas y certificaciones
 
 
3 - Ruta de madurez profesional
1. Nivel 0 — Aprendiendo
- Computación y sistemas - Fundamentos de sistemas tipo Unix (2.1.1)
- Comandos esenciales de línea de comando (2.1.2)
- Gestión de paquetes y entornos del sistema (2.1.3)
- Variables de entorno y configuración (2.1.5)
- Personalización del entorno de trabajo (2.1.10)
- Estructuras lineales: listas, pilas, colas, colas dobles (3.2.3)
- Sintaxis y estructuras básicas (2.2.5)
- Tipos de datos y abstracción de datos (2.2.6)
- Control de flujo (condicionales, bucles, ramificaciones) (2.2.7)
- Organización en módulos y paquetes (2.2.11)
- Manejo básico de repositorios: fundamentos de control de versiones distribuido (2.4.1)
 
- Práctica del desarrollador - Sintaxis y estructuras básicas (2.2.5)
- Tipos de datos y abstracción de datos (2.2.6)
- Control de flujo (condicionales, bucles, ramificaciones) (2.2.7)
- Funciones, cierres y paso de datos (2.2.8)
- Programación orientada a objetos (clases, interfaces, herencia, composición) (2.2.10)
- Manejo de errores y excepciones (2.2.13)
- Iteradores y generadores (2.2.15)
- Serialización y deserialización de estructuras (2.2.17)
- Estilo, convenciones y mantenibilidad del código (2.2.18)
- Plantillas de proyectos y esqueletos de servicio (2.3.3)
- Ejecutores de tareas y automatización repetible (scripts, makefiles, job runners) (2.3.4)
- Integración y configuración del editor/IDE (2.3.7)
- Formateo automático y validaciones previas al commit (2.3.10)
- Estrategias de ramificación básicas (trunk/release) (2.4.2)
- Resolución de conflictos (2.4.4)
- Convenciones de commits y gestión semántica de versiones (2.4.5)
- Versionado semántico y etiquetado de lanzamientos (2.4.6)
- Integración con revisión de código e integración continua (2.4.9)
 
- Diseño y software - Principios de diseño orientado a mantenibilidad (3.1.1)
- Evitar repetición innecesaria y mantener la simplicidad (3.1.2)
- Complejidad temporal y espacial (notación asintótica) (3.2.1)
- Algoritmos de ordenamiento y búsqueda (3.2.7)
- Recursividad y divide y vencerás (3.2.8)
- Requisitos de software (3.3.1)
- Construcción y estándares de codificación (3.3.4)
- Verificación y validación: introducción (3.3.5)
 
- Backend y servicios - Tipos y arquitecturas web (4.1.1)
- Validación y serialización de datos de entrada y salida (4.1.4)
- Especificaciones y documentación de APIs (contratos máquina-legibles) (4.1.8)
- Lenguajes de consulta estructurados (4.2.1)
- Modelado relacional (4.2.2)
- Normalización y desnormalización (4.2.3)
- Mapeo objeto-relacional y capas de acceso a datos (4.2.7)
- Migraciones estructuradas y controladas de esquema (4.2.8)
- Webhooks, notificaciones y callbacks externos (4.3.3)
- Integración con servicios de terceros (4.3.4)
 
- Datos y ML - Manipulación y transformación de datos (5.1.5)
- Limpieza, normalización y validación de datos (5.1.6)
- Análisis exploratorio y visualización (5.1.9)
- Fundamentos de estadística y probabilidad (5.1.1)
 
- Seguridad - Sanitización y validación de entrada (6.1.9)
- Principales vectores de ataque en aplicaciones web (6.1.1)
 
- Calidad y auditoría - Pruebas unitarias (7.1.1)
- Pruebas de integración (7.1.2)
- Pruebas basadas en instantáneas y estados esperados (7.1.5)
- Simulación de dependencias y dobles de prueba (7.1.6)
- Métricas de cobertura y criterios de calidad (7.1.8)
- Análisis estático y linters (7.1.9)
 
2. Nivel 1 — Junior
- Computación y sistemas - Arquitectura de computadores (1.2)
- Redes y protocolos (1.6)
- Modelos cliente-servidor y peer-to-peer (1.7)
- Computación en la nube y edge computing (1.11)
- Virtualización y contenedorización (1.4)
 
- Práctica del desarrollador - Servicios del sistema, tareas programadas y demonios (2.1.4)
- Supervisión de procesos y recursos (2.1.6)
- Redes y puertos (2.1.7)
- Seguridad y control de acceso (2.1.8)
- Automatización y scripting en la línea de comando (2.1.9)
- Documentación viva y navegable (2.3.5)
- Perfilado y depuración interactiva (2.3.8)
- Chequeo estático de tipos y análisis estático (2.3.9)
- Plantillas de integración continua y entrega continua (2.3.11)
- Entornos de desarrollo reproducibles y remotos (2.3.12)
- Integración con revisión de código e integración continua (2.4.9)
- Políticas de revisión y ramas protegidas (2.4.10)
- Auditoría del historial y trazabilidad de cambios (2.4.11)
 
- Diseño y software - Patrones de diseño (creacionales, estructurales y de comportamiento) (3.1.3)
- Arquitectura en capas (3.1.4)
- Complejidad y análisis de eficiencia algorítmica (3.2.2)
- Árboles, montículos, tries y estructuras jerárquicas (3.2.4)
- Hashing y tablas hash (3.2.6)
- Requisitos → análisis y trazabilidad (3.3.2)
- Diseño de software (3.3.3)
- Ingeniería de calidad de software: fundamentos (3.3.8)
- Procesos de desarrollo (3.3.9)
- Herramientas de soporte al ciclo de vida del software (3.3.11)
 
- Backend y servicios - Comunicación bidireccional y tiempo real (sockets, streaming) (4.1.2)
- Middleware, interceptores y filtros (4.1.3)
- Autenticación y autorización a nivel de servicio (4.1.5)
- Índices, vistas y disparadores (4.2.5)
- Procedimientos almacenados y lógica en base de datos (4.2.6)
 
- Datos y ML - Álgebra lineal y optimización básica (5.1.2)
- Muestreo, estimación e inferencia estadística (5.1.3)
- Diseño experimental y significancia estadística (5.1.4)
- Series temporales, agregaciones y ventanas de tiempo (5.1.7)
- Métricas de negocio y definición de KPI (5.1.8)
- Segmentación, cohortes y comportamiento de usuarios (5.1.11)
- Storytelling con datos y comunicación ejecutiva (5.1.15)
 
- Seguridad - Autenticación y autorización (incl. federación y SSO) (6.1.5)
- Seguridad en bases de datos y control de acceso a datos sensibles (6.1.7)
- Registro de eventos de seguridad y trazabilidad (6.1.8)
- Gestión de sesiones y mitigación de secuestro de sesión (6.1.11)
- Política de mínimo privilegio en componentes internos (6.1.12)
 
- Calidad y auditoría - Pruebas de contrato entre servicios (7.1.4)
- Análisis de seguridad automatizado (7.1.10)
- Ejecución automática de pruebas en pipelines de entrega (7.1.11)
- Integración continua y despliegue continuo (7.2.1)
- Control de versiones de dependencias externas (7.2.2)
- Revisión de código estructurada y guías internas (7.2.3)
- Estándares de codificación y criterios de aprobación (7.2.8)
 
3. Nivel 2 — Intermedio
- Computación y sistemas - Autómatas y modelos de cómputo (1.1)
- Sistemas operativos (procesos, hilos, memoria, planificación) (1.3)
- Algoritmos distribuidos (1.9)
 
- Práctica del desarrollador - Lenguajes formales y gramáticas (2.2.1)
- Semántica del lenguaje (2.2.3)
- Compilación e interpretación (2.2.4)
- Tipado estático y anotaciones de tipo (2.2.12)
- Gestión estructurada de recursos (scopes y contextos) (2.2.14)
- Metaprogramación y reflexión (2.2.16)
- Documentación viva y navegable (automatizada) (2.3.5)
- CLI internas para flujos (2.3.6)
- Perfilado y depuración interactiva avanzada (2.3.8)
- Rebase, merge, cherry-pick y trabajo en paralelo (2.4.3)
- Submódulos, monorepos y multi-repos (2.4.7)
- Hooks y automatización del flujo de trabajo (2.4.8)
 
- Diseño y software - Programación dinámica y memoización (3.2.9)
- Grafos (3.2.5)
- Algoritmos probabilísticos y aproximados (3.2.12)
- Algoritmos de concurrencia y sincronización (3.2.10)
- Estructuras inmutables/persistentes (3.2.11)
- Ingeniería de calidad de software (planificación/verificación) (3.3.8)
- Métricas de productividad y calidad del software (3.3.10)
- Mejora continua de procesos y madurez operativa (3.3.12)
 
- Backend y servicios - Transacciones, atomicidad y aislamiento (4.2.4)
- Pools de conexiones y acceso concurrente (4.2.9)
- Almacenamiento no relacional (4.2.10)
- Motores de búsqueda y texto libre (4.2.11)
 
- Datos y ML - Modelos descriptivos (qué pasó) (5.3.1)
- Modelos de diagnóstico (por qué pasó) (5.3.2)
- Fundamentos de aprendizaje supervisado y no supervisado (5.4.1)
- Modelos clásicos de ML (regresión, árboles, ensembles, boosting) (5.4.2)
- Regularización y control de sobreajuste (5.4.3)
- Evaluación, validación cruzada y partición de datos (5.4.5)
- Métricas de clasificación, regresión y ranking (5.4.7)
 
- Seguridad - Protección contra inyecciones, XSS, CSRF, etc. (6.1.4)
- Criptografía práctica y hashing seguro (6.1.2)
- Canales seguros y certificados (cifrado en tránsito) (6.1.3)
 
- Calidad y auditoría - Pruebas de aceptación y regresión (7.2.7)
- Documentación de calidad y trazabilidad (7.2.10)
 
4. Nivel 3 — Semi Senior
- Computación y sistemas - Consistencia y tolerancia a fallos (1.8)
- Computación paralela y vectorizada (1.10)
- Balanceo de carga y CDN (1.12)
- Modelos de escalabilidad (1.13)
 
- Práctica del desarrollador - Diagnóstico de rendimiento (2.1.11)
- Auditoría del sistema y logs (2.1.12)
 
- Diseño y software - Arquitectura limpia (3.1.5)
- Arquitectura hexagonal (puertos/adaptadores) (3.1.6)
- Monolitos modulares y microservicios (3.1.8)
 
- Backend y servicios - Rate limiting, paginación y control de abuso (4.1.6)
- Versionado de APIs (4.1.7)
- Reintentos y colas de mensajes muertos (DLQ) (4.3.5)
- Serialización binaria y formatos compactos (4.3.6)
- Publicación/suscripción (4.3.8)
- Mensajería asíncrona y colas (4.3.1)
- RPC eficiente y contratos binarios (4.3.2)
 
- Datos y ML - Análisis causal y correlación vs causalidad (5.1.10)
- Analítica de producto y telemetría de uso (5.1.12)
- Análisis geoespacial y con localización (5.1.13)
- Forecasting de demanda / series temporales (5.3.7)
- Segmentación de usuarios y clustering (5.3.8)
- Recomendadores básicos (filtrado colaborativo clásico) (5.3.9)
- Detección de outliers y ruido (5.4.8)
- Reducción de dimensionalidad (5.4.9)
- Series temporales con ML tradicional (5.4.10)
- AutoML y búsqueda de hiperparámetros (5.4.11)
- Aprendizaje por refuerzo (vista general) (5.4.13)
- Redes neuronales y modelos profundos (5.5.1)
 
- Seguridad - Modelado de amenazas y pruebas básicas de penetración (6.1.10)
- Aislamiento entre servicios y entornos (6.2.1)
- Protección de datos en reposo (6.2.6)
- Gestión de parches y actualizaciones de seguridad (6.2.9)
- IAM, MFA y rotación de credenciales (6.3.1)
- Auditoría de accesos (6.3.6)
- Revocación y desactivación segura de accesos (6.3.9)
 
- Operación en producción - Modelos asíncronos y event loop (8.1.1)
- Paralelismo con hilos y procesos (8.1.2)
- Tareas diferidas y trabajo en segundo plano (8.1.3)
- Futuros y promesas (8.1.4)
- Caching en memoria y distribuido (8.1.5)
- Perfilado de CPU y memoria (8.1.6)
- Cuellos de E/S vs cómputo (8.1.7)
- Benchmarking (8.1.8)
- Colas de trabajo y orquestadores (8.1.10)
- Logging estructurado y contextualizado (8.3.1)
- APM (8.3.2)
- Métricas personalizadas y health checks (8.3.4)
- Alertas por umbrales y tendencias (8.3.5)
- Monitoreo de infraestructura y paneles (8.2.6)
- Plataformas en la nube (cómputo, redes, almacenamiento) (8.2.8)
- Almacenamiento de objetos, serverless, monitoreo gestionado (8.2.9)
- Monitoreo activo y alertas operacionales (8.2.11)
 
- Calidad y auditoría - Pruebas end-to-end (7.1.3)
- Pruebas basadas en propiedades (7.1.7)
- Integración continua y despliegue continuo en pipelines (7.2.1)
- QA/QC (7.2.5)
- Documentación de calidad y trazabilidad (7.2.10)
- Evaluaciones post-lanzamiento y mantenimiento preventivo (7.2.12)
 
5. Nivel 4 — Senior
- Computación y sistemas - Almacenamiento distribuido y sistemas de archivos (1.5)
 
- Diseño y software - Diseño guiado por el dominio (Domain-Driven Design) (3.1.7)
- Arquitecturas dirigidas por eventos (3.1.9)
- Versionado de interfaces y ciclos de vida de APIs (3.1.10)
- Modularización y empaquetado de componentes reutilizables (3.1.12)
- Ingeniería de calidad de software (madurez y métricas) (3.3.8)
- Mejora continua y madurez operativa (3.3.12)
 
- Backend y servicios - Almacenamiento analítico y sistemas orientados a BI (4.2.12)
- Integridad referencial y consistencia eventual (4.2.13)
- Event sourcing (4.3.7)
- Streaming de datos y captura de cambios (4.3.9)
- Patrones de microservicios (4.4.1)
- Descubrimiento de servicios y enrutamiento (4.4.2)
 
- Datos y ML - Análisis de riesgos, fraude y anomalías (5.1.14)
- Modelos prescriptivos (qué deberíamos hacer) (5.3.4)
- Evaluación de impacto y uplift (5.3.11)
- PLN y embeddings (5.5.2)
- Recuperación aumentada con contexto y búsqueda semántica (5.5.3)
- Recomendación avanzada y personalización en tiempo real (5.5.4)
- Serving e inferencia en producción (5.5.5)
- Integración de modelos en el flujo de negocio (5.5.6)
- Ciclo de vida de modelos: entrenamiento, versionado, despliegue, rollback (5.5.7)
- Feature stores (5.5.8)
- Monitorización de deriva y degradación de modelos (5.5.9)
- Observabilidad de modelos (latencia, throughput, costo por predicción) (5.5.12)
 
- Ingeniería de datos y plataformas - Modelado analítico orientado a negocio (5.2.1)
- Modelado dimensional (5.2.2)
- Warehousing y lakehouses de datos (5.2.3)
- Catálogo de datos, linaje y descubribilidad (5.2.4)
- Integración con BI y tableros (5.2.5)
- Exposición de datos como servicio (APIs analíticas) (5.2.6)
- ETL/ELT (5.2.7)
- Orquestación de tareas y flujos (5.2.10)
- Formatos columnar y orientados a análisis (5.2.15)
- Gobernanza de acceso a datos y permisos (5.2.16)
- Retención, archivado y ciclo de vida de los datos (5.2.17)
 
- Seguridad - Hardening de sistemas operativos, contenedores y runtimes (6.2.2)
- Seguridad en redes: segmentación interna, firewalls, zonas de confianza (6.2.3)
- Control de tráfico interno (mTLS, políticas de red, service mesh) (6.2.4)
- Seguridad en la nube: configuración segura de recursos gestionados (6.2.5)
- Escaneo de vulnerabilidades en dependencias, imágenes y artefactos (6.2.8)
- Delegación de permisos y roles granulares (6.3.4)
- Acceso just-in-time y acceso de emergencia (6.3.5)
 
- Operación en producción - Escalado horizontal y vertical (8.1.9)
- Control de tasa y mecanismos de alivio de presión (8.1.11)
- Estrategias avanzadas de control de versiones y ramas (8.2.1)
- CI/CD en entornos reales (8.2.2)
- Despliegue de múltiples servicios coordinados (8.2.4)
- Orquestación de contenedores y planificación de cargas (8.2.5)
- Infraestructura como código (8.2.7)
- Gestión de configuración y secretos centralizados (8.2.10)
- Trazas distribuidas de extremo a extremo (8.3.3)
- Auditoría y reconstrucción de incidentes (8.3.6)
- Tolerancia a fallos y aislamiento (8.4.1)
- Control de latencia y tiempos de espera (8.4.2)
- Reintentos seguros (8.4.3)
- Protección contra sobrecarga (8.4.4)
- Salud del servicio y autosanación (8.4.5)
- Recuperación y continuidad (8.4.6)
 
- Gestión técnica - Estándares internos de código y guías (9.1.6)
- Comunicación con producto y otros equipos (9.1.7)
- Planificación de iteraciones y lanzamientos (9.1.8)
- Cultura de documentación viva (9.1.11)
- Inclusión, colaboración y seguridad psicológica (9.1.12)
- Gestión de proyectos (9.2.1)
- Estimación de esfuerzo y planificación técnica (9.2.2)
- Gestión de releases y control de cambios (9.2.5)
- Comunicación transversal (producto, QA, operaciones, datos) (9.2.6)
 
- Calidad y auditoría - Pruebas no funcionales (rendimiento, carga, resiliencia) (7.2.9)
- Métricas de calidad operacional (densidad de defectos, etc.) (7.2.6)
 
- 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
- Datos, ML y plataformas - MLOps / LLMOps: automatización del pipeline de entrenamiento y despliegue (5.5.11)
- SLOs y SLAs para servicios de inferencia (5.5.13)
- Pipelines reproducibles y declarativos (5.2.11)
- Optimización y perfilado de pipelines de datos (5.2.12)
- Pruebas de calidad de datos y contratos de datos (5.2.13)
- Versionado de datos y de esquemas (5.2.14)
 
- Seguridad - Seguridad de la cadena de suministro de software (supply chain security) (6.2.7)
- Detección de escalamiento lateral interno (6.4.7)
- Señales tempranas de compromiso (6.4.8)
- Plan de respuesta a incidentes de seguridad (6.5.1)
- Contención, erradicación y recuperación (6.5.2)
- Postmortems de seguridad sin cultura de culpa (6.5.4)
- Cultura de seguridad: concientización y formación continua (6.6.8)
- Políticas internas de seguridad y uso aceptable (6.6.1)
- Clasificación y manejo de datos sensibles (6.6.2)
- Revisión periódica de riesgos y exposiciones (6.6.4)
- Evaluación de terceros y proveedores (6.6.5)
- Controles preventivos y compensatorios (6.6.6)
 
- Operación y fiabilidad - SRE interno y propiedad de servicio (9.3.1)
- Observabilidad organizacional (9.3.2)
- Gestión de alertas y fatiga de alarmas (9.3.4)
- Ciclos de despliegue seguro (9.3.5)
- Gestión de entornos (dev, staging, prod) (9.3.6)
- Controles de cambio y auditoría operativa (9.3.7)
 
- Gestión técnica y liderazgo - Gestión de deuda técnica (9.1.2)
- Mentoría y liderazgo técnico (9.1.3)
- Respuesta a incidentes en producción (9.1.4)
- Postmortems y análisis de causa raíz sin culpas (9.1.5)
- Evaluación de decisiones técnicas y trade-offs (9.1.9)
- Hoja de ruta técnica y visión de plataforma (9.1.10)
- Desarrollo profesional y mentoría técnica (9.2.7)
- Evaluación de desempeño técnico (9.2.8)
- Registro y documentación de decisiones de arquitectura (9.2.9)
- Presentación técnica a audiencias no técnicas (9.2.10)
- Cultura de ingeniería basada en aprendizaje continuo (9.2.11)
- Prácticas de mejora continua tras incidentes (9.2.12)
- Gestión de capacidad y asignación de recursos (9.2.13)
 
- Calidad, cumplimiento y mejora - Auditorías de seguridad y cumplimiento normativo (7.2.4)
- Cumplimiento de marcos y certificaciones de la industria (7.2.11)
- Privacidad y manejo responsable de datos (10.1.2)
- Responsabilidad profesional en ingeniería de software (10.1.1)
- Protección de datos personales y trazabilidad de acceso (10.1.9)
- Comunicación honesta y responsable con stakeholders (10.1.11)
- Innovación responsable, segura y sostenible (10.2.10)
- Cultura de experimentación y “hack time” (10.2.13)
- Procesos de mejora continua tipo Kaizen (10.3.6)
- Transparencia interna y reportes ejecutivos (10.3.11)
 
7. Nivel 6 — Tech Lead / Arquitecto / Head of Engineering
- Estrategia organizacional y cumplimiento - Regulaciones y marcos legales aplicables (5.6.6)
- Evaluación de impacto social y de riesgo operacional (5.6.10)
- Gobernanza del ciclo de vida completo del dato y del modelo (5.6.11)
- Políticas internas de aprobación y revisión humana obligatoria (5.6.12)
- Sostenibilidad y costo energético de cómputo en IA (5.6.14)
- Continuidad operativa y resiliencia ante fallos del modelo en producción (5.6.15)
- Requisitos regulatorios y normativos aplicables (6.6.3)
- Trazabilidad, reportabilidad y obligaciones de notificación (6.6.7)
- Cumplimiento normativo y estándares de la industria (10.1.4)
- Propiedad intelectual y licenciamiento de software (10.1.3)
- Impacto social y ambiental del software (10.1.12)
- Soberanía de datos y cumplimiento regional (10.1.13)
- Gestión responsable de IA generativa (10.1.14)
 
- Operaciones y resiliencia a nivel empresa - Gestión de SLAs, SLOs y SLIs (9.3.3)
- Ejercicios de continuidad operacional y DRP (9.3.8)
- Gestión de incidentes de seguridad (9.3.9)
- Comunicación durante incidentes críticos (9.3.10)
- Madurez de procesos DevSecOps (9.3.11)
- Análisis forense y preservación de evidencia técnica (6.5.3)
- Comunicación interna y externa durante incidentes (6.5.5)
- Planes de continuidad operativa y recuperación de negocio (6.5.6)
- Gestión coordinada con legal, compliance y stakeholders críticos (6.5.7)
 
- Estrategia de talento y organización - Estrategia de contratación y onboarding técnico (9.2.14)
- Escalamiento organizacional y delegación (9.2.15)
 
- Innovación y transferencia tecnológica - Innovación responsable, segura y sostenible (10.2.10)
- Estrategia de patentes y divulgación científica (10.2.11)
- Transferencia tecnológica y escalamiento a producción (10.2.12)
- Health checks organizacionales y madurez técnica (10.3.8)
- Automatización de controles y reportabilidad (10.3.10)
- Preparación para auditorías externas y certificaciones (10.3.12)
- Auditoría de seguridad y cumplimiento (organizacional) (10.3.4)
- Auditoría de acceso y trazabilidad (organizacional) (10.3.5)
 
4 - Ruta por rol y áreas de estudio
- Área común (todas las personas técnicas deben manejar esto al nivel adecuado a su seniority) - Computación y sistemas fundamentales - Autómatas y modelos de cómputo (1.1)
- Arquitectura de computadores (1.2)
- Sistemas operativos: procesos, hilos, memoria, planificación (1.3)
- Virtualización y contenedorización (1.4)
- Almacenamiento distribuido y sistemas de archivos (1.5)
- Redes y protocolos (1.6)
- Modelos cliente-servidor (1.7)
- Modelos peer-to-peer (1.7)
- Consistencia y tolerancia a fallos (1.8)
- Algoritmos distribuidos (1.9)
- Computación paralela y vectorizada (1.10)
- Computación en la nube y edge computing (1.11)
- Balanceo de carga (1.12)
- Redes de distribución de contenido (CDN) (1.12)
- Modelos de escalabilidad (1.13)
 
- Práctica general de desarrollo y operación básica en ambientes reales - Fundamentos de sistemas tipo Unix (2.1.1)
- Comandos esenciales de línea de comando (2.1.2)
- Gestión de paquetes y entornos del sistema (2.1.3)
- Servicios del sistema, tareas programadas y demonios (2.1.4)
- Variables de entorno y configuración (2.1.5)
- Supervisión de procesos y recursos (2.1.6)
- Redes y puertos (2.1.7)
- Seguridad y control de acceso del sistema (2.1.8)
- Automatización y scripting en la línea de comando (2.1.9)
- Personalización del entorno de trabajo (2.1.10)
- Diagnóstico de rendimiento (2.1.11)
- Auditoría del sistema y logs (2.1.12)
 
- Fundamentos de lenguajes de programación - Lenguajes formales y gramáticas (2.2.1)
- Parsing y construcción de analizadores (2.2.2)
- Semántica del lenguaje (2.2.3)
- Compilación e interpretación (2.2.4)
- Sintaxis y estructuras básicas (2.2.5)
- Tipos de datos y abstracción de datos (2.2.6)
- Control de flujo: condicionales, bucles, manejo de ramificaciones (2.2.7)
- Funciones, cierres y paso de datos (2.2.8)
- Paradigmas funcionales (2.2.9)
- Programación orientada a objetos: clases, interfaces, herencia, composición (2.2.10)
- Organización en módulos y paquetes (2.2.11)
- Tipado estático y anotaciones de tipo (2.2.12)
- Manejo de errores y excepciones (2.2.13)
- Gestión estructurada de recursos: scopes y contextos controlados (2.2.14)
- Iteradores, generadores y secuencias consumibles (2.2.15)
- Metaprogramación y reflexión (2.2.16)
- Serialización y deserialización de estructuras (2.2.17)
- Estilo, convenciones y mantenibilidad del código (2.2.18)
 
- Control de versiones y colaboración - Fundamentos de control de versiones distribuido (2.4.1)
- Estrategias de ramificación: trunk-based, release branches (2.4.2)
- Rebase, merge, cherry-pick y manejo de trabajo en paralelo (2.4.3)
- Resolución de conflictos (2.4.4)
- Convenciones de commits y gestión semántica de versiones (2.4.5)
- Versionado semántico y etiquetado de lanzamientos (2.4.6)
- Gestión de submódulos (2.4.7)
- Gestión de monorepos (2.4.7)
- Gestión de multi-repos (2.4.7)
- Hooks y automatización del flujo de trabajo (2.4.8)
- Integración con revisión de código e integración continua (2.4.9)
- Políticas de revisión y ramas protegidas (2.4.10)
- Auditoría del historial y trazabilidad de cambios (2.4.11)
 
- Calidad y pruebas básicas - Pruebas unitarias (7.1.1)
- Pruebas de integración (7.1.2)
- Pruebas de extremo a extremo (7.1.3)
- Pruebas de contrato entre servicios (7.1.4)
- Pruebas basadas en instantáneas y estados esperados (7.1.5)
- Simulación de dependencias externas y uso de dobles de prueba (7.1.6)
- Pruebas basadas en propiedades (7.1.7)
- Métricas de cobertura y criterios de calidad (7.1.8)
- Análisis estático y linters (7.1.9)
- Análisis de seguridad automatizado (7.1.10)
- Ejecución automática de pruebas en pipelines de entrega (7.1.11)
 
- Ética y responsabilidad profesional - Responsabilidad profesional en ingeniería de software (10.1.1)
- Privacidad y manejo responsable de datos (10.1.2)
- Propiedad intelectual y licenciamiento de software (10.1.3)
- Cumplimiento normativo y estándares de la industria (10.1.4)
- Sesgos algorítmicos y transparencia en sistemas automatizados (10.1.6)
- Accesibilidad e inclusión en diseño y experiencia de usuario (10.1.7)
- Protección de datos personales y trazabilidad de acceso (10.1.9)
- Reproducibilidad técnica y científica (10.1.10)
- Comunicación honesta y responsable con las partes interesadas (10.1.11)
- Impacto social y ambiental del software (10.1.12)
 
- Comunicación técnica y trabajo en equipo - Comunicación con producto y otros equipos (9.1.7)
- Revisión de código efectiva y empática (9.1.1)
- Cultura de documentación viva (9.1.11)
- Inclusión, colaboración y seguridad psicológica (9.1.12)
- Gestión del conocimiento y rotación de contexto (9.1.13)
 
- Seguridad básica común - Principales vectores de ataque en aplicaciones web (6.1.1)
- Criptografía práctica y hashing seguro (6.1.2)
- Protección contra ataques comunes en la web: inyecciones, XSS, CSRF, etc. (6.1.4)
- Manejo seguro de credenciales, llaves y secretos (6.1.6)
- Política de mínimo privilegio en componentes internos (6.1.12)
- Seguridad en redes: segmentación interna, firewalls, zonas de confianza (6.2.3)
- Privacidad de datos y minimización de uso (5.6.1)
- Gobernanza, trazabilidad y auditoría de datos y modelos (5.6.2)
 
- Observabilidad mínima - Logging estructurado y contextualizado (8.3.1)
- Monitoreo del desempeño de las aplicaciones (APM) (8.3.2)
- Métricas personalizadas y verificaciones de salud (8.3.4)
- Alertas basadas en umbrales y tendencias (8.3.5)
 
- Gestión básica de incidentes - Respuesta a incidentes en producción (9.1.4)
- Postmortems y análisis de causa raíz sin culpas (9.1.5)
- Comunicación durante incidentes críticos (9.3.10)
 
- 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. 
 
- Developer - Otros requisitos - El rol Developer incluye todo el contenido del Área común (1).
- También es prerequisito directo para Data Engineer / Analytics, ML / AI Engineer, y en general cualquier rol técnico especializado.
 
- Práctica del desarrollador diario - Entornos aislados y gestión de dependencias (2.3.1)
- Control de versiones de configuraciones y datos (2.3.2)
- Plantillas de proyectos y generación de esqueletos de servicio (2.3.3)
- Ejecutores de tareas y automatización repetible: scripts, makefiles, job runners (2.3.4)
- Documentación viva y navegable: documentación generada y verificada automáticamente (2.3.5)
- Creación de herramientas de línea de comando para flujos internos (2.3.6)
- Integración y configuración avanzada del entorno de desarrollo: editores, IDEs (2.3.7)
- Perfilado y depuración interactiva (2.3.8)
- Chequeo estático de tipos y análisis estático (2.3.9)
- Formateo automático y validaciones previas al commit (2.3.10)
- Plantillas de integración continua y entrega continua (2.3.11)
- Entornos de desarrollo reproducibles y remotos (2.3.12)
 
- Diseño y arquitectura de software local / de servicio - Principios de diseño orientado a mantenibilidad (3.1.1)
- Principios como evitar repetición innecesaria y mantener la simplicidad (3.1.2)
- Patrones de diseño: creacionales, estructurales y de comportamiento (3.1.3)
- Arquitectura en capas (3.1.4)
- Arquitectura limpia (3.1.5)
- Arquitectura hexagonal y separación de puertos/adaptadores (3.1.6)
- Diseño guiado por el dominio (Domain-Driven Design) (3.1.7)
- Monolitos modulares (3.1.8)
- Microservicios (3.1.8)
- Arquitecturas dirigidas por eventos (3.1.9)
- Versionado de interfaces y ciclos de vida de APIs (3.1.10)
- Documentación técnica orientada a desarrolladores y mantenimiento (3.1.11)
- Modularización y empaquetado de componentes reutilizables (3.1.12)
 
- Backend y servicios - Tipos y arquitecturas web (4.1.1)
- Comunicación bidireccional y tiempo real: sockets y streaming (4.1.2)
- Middleware, interceptores y filtros (4.1.3)
- Validación y serialización de datos de entrada y salida (4.1.4)
- Autenticación y autorización a nivel de servicio (4.1.5)
- Limitación de tasa, paginación y control de abuso (4.1.6)
- Versionado de APIs (4.1.7)
- Especificaciones y documentación de APIs: contratos máquina-legibles (4.1.8)
 
- Bases de datos y persistencia - Lenguajes de consulta estructurados (4.2.1)
- Modelado relacional (4.2.2)
- Normalización (4.2.3)
- Desnormalización (4.2.3)
- Transacciones, atomicidad y aislamiento (4.2.4)
- Índices, vistas y disparadores (4.2.5)
- Procedimientos almacenados y lógica en base de datos (4.2.6)
- Mapeo objeto-relacional y capas de acceso a datos (4.2.7)
- Migraciones estructuradas y controladas de esquema (4.2.8)
- Pools de conexiones y eficiencia de acceso concurrente (4.2.9)
- Almacenamiento no relacional (4.2.10)
- Motores de búsqueda y consulta de texto libre (4.2.11)
- Almacenamiento analítico y sistemas orientados a consultas de negocio (4.2.12)
- Integridad referencial y consistencia eventual (4.2.13)
 
- Integraciones y comunicación entre servicios - Mensajería asíncrona y colas de mensajes (4.3.1)
- RPC eficiente y contratos binarios (4.3.2)
- Webhooks, notificaciones y callbacks externos (4.3.3)
- Integración con servicios de terceros (4.3.4)
- Estrategias de reintento y colas de mensajes muertos (4.3.5)
- Serialización binaria y formatos compactos (4.3.6)
- Arquitecturas basadas en eventos y event sourcing (4.3.7)
- Modelos de publicación/suscripción (4.3.8)
- Streaming de datos en tiempo real y captura de cambios (4.3.9)
 
- Concurrencia y rendimiento de servicios - Modelos asíncronos y bucles de eventos (8.1.1)
- Paralelismo con hilos y procesos (8.1.2)
- Tareas diferidas y trabajo en segundo plano (8.1.3)
- Futuros, promesas y unidades de trabajo asíncronas (8.1.4)
- Caching en memoria y distribuido (8.1.5)
- Perfilado de CPU y memoria (8.1.6)
- Cuellos de botella de entrada/salida frente a cómputo (8.1.7)
- Medición de rendimiento y benchmarking (8.1.8)
- Estrategias de escalado horizontal y vertical (8.1.9)
- Colas de trabajo y orquestadores de tareas (8.1.10)
- Control de tasa y mecanismos de alivio de presión (8.1.11)
- Bloqueos, semáforos y estructuras de sincronización (8.1.12)
 
- Seguridad de aplicaciones - Principales vectores de ataque en aplicaciones web (6.1.1)
- Criptografía práctica y hashing seguro (6.1.2)
- Canales seguros y certificados: cifrado en tránsito extremo a extremo (6.1.3)
- Protección contra ataques comunes en la web: inyecciones, XSS, CSRF, etc. (6.1.4)
- Autenticación y autorización: federación de identidad y single sign-on (6.1.5)
- Manejo seguro de credenciales, llaves y secretos (6.1.6)
- Seguridad en bases de datos y control de acceso a datos sensibles (6.1.7)
- Registro de eventos de seguridad y trazabilidad (6.1.8)
- Sanitización y validación de entrada (6.1.9)
- Modelado de amenazas y pruebas básicas de penetración (6.1.10)
- Gestión de sesiones y mitigación de secuestro de sesión (6.1.11)
- Política de mínimo privilegio en componentes internos (6.1.12)
 
- Observabilidad y confiabilidad básica en runtime - Logging estructurado y contextualizado (8.3.1)
- Monitoreo del desempeño de las aplicaciones (APM) (8.3.2)
- Trazas distribuidas de extremo a extremo (8.3.3)
- Métricas personalizadas y verificaciones de salud (8.3.4)
- Alertas basadas en umbrales y tendencias (8.3.5)
- Auditoría y reconstrucción de incidentes (8.3.6)
 
- Procesos de ingeniería de software - Requisitos de software (3.3.1)
- Análisis, especificación y trazabilidad de requisitos (3.3.2)
- Diseño de software (3.3.3)
- Construcción y estándares de codificación (3.3.4)
- Verificación y validación (3.3.5)
- Mantenimiento evolutivo y correctivo (3.3.6)
- Gestión de la configuración (3.3.7)
- Ingeniería de calidad de software (3.3.8)
- Procesos de desarrollo (3.3.9)
- Métricas de productividad y calidad del software (3.3.10)
- Herramientas de soporte al ciclo de vida del software (3.3.11)
- Mejora continua de procesos y madurez operativa (3.3.12)
 
 
- QA / QC (Quality Assurance / Control de Calidad) - Estrategia y diseño de pruebas - Definición de criterios de aceptación funcional y no funcional (7.2.3)
- Diseño de pruebas unitarias, de integración y extremo a extremo (7.1.1) (7.1.2) (7.1.3)
- Pruebas de contrato entre servicios (7.1.4)
- Pruebas basadas en instantáneas y estados esperados (7.1.5)
- Simulación de dependencias externas y uso de dobles de prueba (7.1.6)
- Pruebas basadas en propiedades (7.1.7)
- Pruebas de regresión y aceptación (7.2.7)
 
- Automatización y pipelines de calidad - Ejecución automática de pruebas en pipelines de entrega continua (7.1.11)
- Integración continua y despliegue continuo (7.2.1)
- Control de versiones de dependencias externas y entornos reproducibles (7.2.2)
- Estándares de codificación y criterios de aprobación antes del release (7.2.8)
- Auditoría de cambios y trazabilidad de builds (2.4.11) (7.2.10)
 
- Calidad no funcional - Métricas de cobertura y criterios de calidad (7.1.8)
- Pruebas no funcionales: rendimiento, carga, resiliencia (7.2.9)
- Perfilado y benchmarking de rendimiento (8.1.6) (8.1.8)
- Observabilidad de la aplicación para validar salud (8.3.1) (8.3.2) (8.3.4)
- Gestión de SLAs, SLOs y SLIs como parte de la validación de servicio (9.3.3)
 
- Seguridad y cumplimiento en el ciclo de entrega - Análisis de seguridad automatizado (7.1.10)
- Auditorías de seguridad y cumplimiento normativo en releases (7.2.4)
- Validación de autenticación, autorización y manejo seguro de credenciales (6.1.5) (6.1.6)
- Validación de privacidad de datos, trazabilidad y acceso mínimo (10.1.2) (10.1.9)
- Evaluación de riesgo en cambios, especialmente en servicios críticos y datos sensibles (6.6.2) (6.6.4)
 
- Control de calidad en producción y post-lanzamiento - Aseguramiento de calidad (QA) y control de calidad (QC) continuo post-despliegue (7.2.5)
- Métricas de calidad operacional (densidad de defectos, severidad, MTTR) (7.2.6)
- Monitoreo de errores y alertas tras el lanzamiento (8.3.5) (9.3.4)
- Evaluaciones posteriores al lanzamiento y mantenimiento preventivo (7.2.12)
- Participación en respuesta a incidentes y postmortems sin culpa (9.1.4) (9.1.5)
 
- Gobernanza del proceso de entrega - Comunicación honesta hacia stakeholders sobre estado de calidad (10.1.11)
- Preparación de documentación de conformidad y trazabilidad para auditorías (7.2.10) (10.3.12)
- Validación de criterios de aceptación de negocio y riesgo reputacional (10.1.12) (10.1.14)
- Gestión de backlog de mejoras operativas de calidad (10.3.9)
 
- Nota de acumulación - QA / QC requiere entendimiento práctico de Developer (2) en lo referente a testing, versionado, automatización y CI/CD.
- QA / QC colabora estrechamente con DevOps / SRE / Platform (3) en observabilidad, despliegue seguro y validación de resiliencia.
- QA / QC participa con Security Engineer (7) en validaciones de seguridad y compliance antes de liberar cambios.
- 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.
 
 
- DevOps / SRE / Platform - Otros requisitos - El rol DevOps / SRE / Platform incluye todo el Área común (1) al nivel de autonomía operativa.
- Además incluye toda la sección Observabilidad, Resiliencia, Operación en producción y Gestión técnica operativa (8 y 9).
- Este rol comparte responsabilidad directa con Security Engineer en secciones 6.2, 6.4, 6.5, 6.6.
 
- Infraestructura y operaciones - Estrategias avanzadas de control de versiones y ramas (8.2.1)
- Integración continua / entrega continua en entornos reales (8.2.2)
- Contenedores y definición de entornos portables (8.2.3)
- Despliegue de múltiples servicios coordinados (8.2.4)
- Orquestación de contenedores y planificación de cargas (8.2.5)
- Monitoreo de infraestructura y pantallas/paneles de visualización (8.2.6)
- Infraestructura como código (8.2.7)
- Plataformas en la nube: cómputo, redes, almacenamiento (8.2.8)
- Almacenamiento de objetos, ejecución sin servidor, monitoreo gestionado (8.2.9)
- Gestión de configuración y secretos centralizados (8.2.10)
- Monitoreo activo y alertas operacionales (8.2.11)
- Optimización de costos y escalado automático (8.2.12)
 
- Arquitecturas distribuidas y microservicios - Patrones de microservicios (4.4.1)
- Descubrimiento de servicios y enrutamiento (4.4.2)
 
- Resiliencia operativa - Tolerancia a fallos y aislamiento (8.4.1)
- Control de latencia y tiempo de espera (8.4.2)
- Reintentos seguros (8.4.3)
- Protección contra sobrecarga (8.4.4)
- Salud del servicio y autosanación (8.4.5)
- Recuperación y continuidad (8.4.6)
 
- Monitoreo, detección y respuesta temprana - Detección de comportamientos anómalos y abuso (6.4.1)
- Alertas de actividad sospechosa en autenticación y uso de APIs (6.4.2)
- Correlación de eventos de seguridad en logs centralizados (6.4.3)
- Protección contra fuga de datos y exfiltración (6.4.4)
- Trazabilidad completa de acciones de alto riesgo (6.4.5)
- Simulación de incidentes tipo “fire drill” (6.4.6)
- Detección de escalamiento lateral interno (6.4.7)
- Señales tempranas de compromiso en entornos críticos (6.4.8)
 
- Respuesta a incidentes y continuidad operativa - Plan de respuesta a incidentes de seguridad (6.5.1)
- Contención, erradicación y recuperación (6.5.2)
- Análisis forense y preservación de evidencia técnica (6.5.3)
- Postmortems de seguridad sin cultura de culpa (6.5.4)
- Comunicación interna y externa durante incidentes (6.5.5)
- Planes de continuidad operativa y recuperación de negocio (6.5.6)
- Gestión coordinada con legal, compliance y stakeholders críticos (6.5.7)
 
- Observabilidad avanzada - Monitoreo del desempeño de las aplicaciones (APM) (8.3.2)
- Trazas distribuidas de extremo a extremo (8.3.3)
- Auditoría y reconstrucción de incidentes (8.3.6)
- Observabilidad organizacional (9.3.2)
 
- SRE interno y propiedad de servicio - SRE interno y propiedad de servicio (9.3.1)
- Gestión de SLAs, SLOs y SLIs (9.3.3)
- Gestión de alertas y fatiga de alarmas (9.3.4)
- Ciclos de despliegue seguro (9.3.5)
- Gestión de entornos: dev, staging, prod (9.3.6)
- Controles de cambio y auditoría operativa (9.3.7)
- Ejercicios de continuidad operacional y DRP (9.3.8)
- Gestión de incidentes de seguridad (9.3.9)
- Comunicación durante incidentes críticos (9.3.10)
- Madurez de procesos DevSecOps (9.3.11)
 
- Seguridad de infraestructura y plataforma - Aislamiento entre servicios y entornos: producción, staging, desarrollo (6.2.1)
- Endurecimiento (hardening) de sistemas operativos, contenedores y runtimes (6.2.2)
- Seguridad en redes: segmentación interna, firewalls, zonas de confianza (6.2.3)
- Control de tráfico interno entre servicios: mTLS, políticas de red, service mesh (6.2.4)
- Seguridad en la nube: configuración segura de recursos gestionados (6.2.5)
- Protección de datos en reposo: cifrado en disco, cifrado por objeto (6.2.6)
- Seguridad de la cadena de suministro de software (supply chain security) (6.2.7)
- Escaneo de vulnerabilidades en dependencias, imágenes y artefactos (6.2.8)
- Gestión de parches y actualizaciones de seguridad (6.2.9)
- Backups seguros y recuperación ante desastres (6.2.10)
 
- Cumplimiento y riesgo organizacional (visión operativa) - Políticas internas de seguridad y uso aceptable (6.6.1)
- Clasificación y manejo de datos sensibles (6.6.2)
- Requisitos regulatorios y normativos aplicables (6.6.3)
- Revisión periódica de riesgos y exposiciones (6.6.4)
- Evaluación de terceros y proveedores: riesgo de cadena de suministro (6.6.5)
- Controles preventivos y controles compensatorios (6.6.6)
- Trazabilidad, reportabilidad y obligaciones de notificación (6.6.7)
- Cultura de seguridad: concientización y formación continua en el equipo (6.6.8)
 
 
- Data Engineer / Analytics - Otros requisitos - El rol Data Engineer / Analytics incluye todo el Área común (1).
- Además requiere muchas habilidades de Developer (2), sobre todo en automatización, versionado, calidad y despliegue controlado.
- Este rol es prerequisito natural para ML / AI Engineer en cuanto a madurez de datos, calidad y linaje.
 
- Fundamentos de datos y análisis cuantitativo - Fundamentos de estadística y probabilidad (5.1.1)
- Álgebra lineal y optimización básica aplicada a modelos (5.1.2)
- Muestreo, estimación e inferencia estadística (5.1.3)
- Diseño experimental y significancia estadística (5.1.4)
- Manipulación y transformación de datos estructurados y semiestructurados (5.1.5)
- Limpieza, normalización y validación de datos (5.1.6)
- Series temporales, agregaciones y ventanas de tiempo (5.1.7)
- Métricas de negocio y definición de KPI (5.1.8)
- Análisis exploratorio y visualización (5.1.9)
- Análisis causal y correlación vs causalidad (5.1.10)
- Segmentación, cohortes y comportamiento de usuarios (5.1.11)
- Analítica de producto y telemetría de uso (5.1.12)
- Análisis geoespacial y datos con localización (5.1.13)
- Análisis de riesgos, fraude y anomalías (5.1.14)
- Storytelling con datos y comunicación ejecutiva (5.1.15)
 
- Ingeniería de datos y plataformas de datos - Modelado analítico orientado a negocio (5.2.1)
- Modelado dimensional (hechos y dimensiones) (5.2.2)
- Warehousing y lakehouses de datos (5.2.3)
- Catálogo de datos, linaje y descubribilidad (5.2.4)
- Integración con herramientas de inteligencia de negocio y tableros (5.2.5)
- Exposición de datos como servicio: APIs analíticas (5.2.6)
- Extracción, transformación y carga (ETL y ELT) (5.2.7)
- Procesamiento de datos en flujo continuo (streaming) (5.2.8)
- Procesamiento batch a gran escala (5.2.9)
- Orquestación de tareas y flujos de datos (5.2.10)
- Pipelines reproducibles y declarativos (5.2.11)
- Optimización y perfilado de pipelines de datos (5.2.12)
- Pruebas de calidad de datos y contratos de datos (5.2.13)
- Versionado de datos y de esquemas (5.2.14)
- Formatos columnar y almacenamiento orientado a análisis (5.2.15)
- Gobernanza de acceso a datos y control de permisos (5.2.16)
- Retención, archivado y ciclo de vida de los datos (5.2.17)
 
- Ciencia de datos aplicada al negocio - Modelos descriptivos: qué pasó (5.3.1)
- Modelos de diagnóstico: por qué pasó (5.3.2)
- Modelos predictivos: qué va a pasar (5.3.3)
- Modelos prescriptivos: qué deberíamos hacer (5.3.4)
- Scoring y ranking: priorización de leads (5.3.5)
- Detección de anomalías y fraude (5.3.6)
- Forecasting de demanda / series temporales (5.3.7)
- Segmentación de usuarios y clustering (5.3.8)
- Recomendadores básicos: similaridad y filtrado colaborativo clásico (5.3.9)
- A/B testing y experimentación controlada (5.3.10)
- Evaluación de impacto y uplift (5.3.11)
- Métricas de rendimiento de modelos en negocio: precisión, recall, F1, métrica custom (5.3.12)
- Interpretabilidad básica para stakeholders no técnicos (5.3.13)
- Ciclo de entrega de insights a decisión operativa (5.3.14)
 
- Cumplimiento, ética y responsabilidad en datos - Privacidad de datos y minimización de uso (5.6.1)
- Gobernanza, trazabilidad y auditoría de datos y modelos (5.6.2)
- Sesgos algorítmicos y equidad (5.6.4)
- Uso responsable de datos personales y datos sensibles (5.6.5)
- Regulaciones y marcos legales aplicables (5.6.6)
- Control de acceso, clasificación de datos y dominios de seguridad (5.6.7)
- Versionado de datasets y reproducibilidad científica (5.6.8)
- Ética de modelos generativos y riesgo reputacional (5.6.9)
- Evaluación de impacto social y de riesgo operacional (5.6.10)
- Gobernanza del ciclo de vida completo del dato y del modelo (5.6.11)
- Políticas internas de aprobación y revisión humana obligatoria (5.6.12)
- Transparencia frente a usuarios y stakeholders (5.6.13)
 
 
- ML / AI Engineer - Otros requisitos - El rol ML / AI Engineer incluye todo el Área común (1).
- Además requiere todo Developer (2), porque el ML/AI Engineer despliega servicios de inferencia reales.
- Además requiere todo Data Engineer / Analytics (4), porque sin calidad de datos ni linaje no hay IA operable.
- Este rol también comparte responsabilidades de observabilidad y despliegue con DevOps / SRE / Platform (3), especialmente 8.2, 8.3, 8.4.
 
- Aprendizaje automático clásico - Fundamentos de aprendizaje supervisado y no supervisado (5.4.1)
- Modelos clásicos de machine learning: regresión, árboles, ensembles, boosting (5.4.2)
- Regularización y control de sobreajuste (5.4.3)
- Selección de variables y engineering de atributos (feature engineering) (5.4.4)
- Evaluación, validación cruzada y partición de datos (5.4.5)
- Balanceo de clases y tratamiento de desbalance extremo (5.4.6)
- Métricas de clasificación, regresión y ranking (5.4.7)
- Detección de outliers y ruido (5.4.8)
- Reducción de dimensionalidad (5.4.9)
- Series temporales con ML tradicional (5.4.10)
- AutoML y búsqueda de hiperparámetros (5.4.11)
- Aprendizaje semi-supervisado y débilmente supervisado (5.4.12)
- Aprendizaje por refuerzo: vista general conceptual (5.4.13)
 
- IA aplicada, despliegue de modelos y operación continua - Redes neuronales y modelos profundos (5.5.1)
- Procesamiento de lenguaje natural y embeddings (5.5.2)
- Recuperación aumentada con contexto externo y búsqueda semántica (5.5.3)
- Motores de recomendación avanzados y personalización en tiempo real (5.5.4)
- Modelos generativos y modelos de lenguaje grandes (5.5.5)
- Exposición de modelos como servicios: serving e inferencia en producción (5.5.6)
- Integración de modelos en el flujo de negocio: automatización de decisiones, asistentes internos, scoring en línea (5.5.7)
- Ciclo de vida de modelos: entrenamiento, versionado, despliegue, rollback (5.5.8)
- Gestión de características (feature stores) (5.5.9)
- Monitorización de deriva y degradación de modelos (5.5.10)
- MLOps / LLMOps: automatización del pipeline de entrenamiento y despliegue (5.5.11)
- Observabilidad de modelos: latencia, throughput, costo por predicción (5.5.12)
- Testing de modelos en producción y validación previa al rollout (5.5.13)
- SLOs y SLAs para servicios de inferencia (5.5.14)
 
- Cumplimiento, ética y responsabilidad en IA - Explicabilidad y justificabilidad de decisiones automatizadas (5.6.3)
- Sesgos algorítmicos y equidad (5.6.4)
- Uso responsable de datos personales y datos sensibles (5.6.5)
- Regulaciones y marcos legales aplicables (5.6.6)
- Ética de modelos generativos y riesgo reputacional (5.6.9)
- Evaluación de impacto social y de riesgo operacional (5.6.10)
- Gobernanza del ciclo de vida completo del dato y del modelo (5.6.11)
- Políticas internas de aprobación y revisión humana obligatoria (5.6.12)
- Transparencia frente a usuarios y stakeholders (5.6.13)
- Sostenibilidad y costo energético de cómputo en IA (5.6.14)
- Continuidad operativa y resiliencia ante fallos del modelo en producción (5.6.15)
 
 
- Arquitecto/a / Staff Engineer - Otros requisitos - El rol Arquitecto/a / Staff Engineer incluye todo el Área común (1).
- 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.
- Este rol es el primer rol explícitamente responsable de equilibrar velocidad de entrega, fiabilidad, seguridad, costo y riesgo reputacional.
 
- Diseño y arquitectura de software a nivel ecosistema - Principios de diseño orientado a mantenibilidad (3.1.1)
- Principios como evitar repetición innecesaria y mantener la simplicidad (3.1.2)
- Patrones de diseño: creacionales, estructurales y de comportamiento (3.1.3)
- Arquitectura en capas (3.1.4)
- Arquitectura limpia (3.1.5)
- Arquitectura hexagonal y separación de puertos/adaptadores (3.1.6)
- Diseño guiado por el dominio (Domain-Driven Design) (3.1.7)
- Monolitos modulares y microservicios (3.1.8)
- Arquitecturas dirigidas por eventos (3.1.9)
- Versionado de interfaces y ciclos de vida de APIs (3.1.10)
- Documentación técnica orientada a desarrolladores y mantenimiento (3.1.11)
- Modularización y empaquetado de componentes reutilizables (3.1.12)
 
- Arquitecturas distribuidas y plataformas - Modelos cliente-servidor (1.7)
- Modelos peer-to-peer (1.7)
- Consistencia y tolerancia a fallos (1.8)
- Algoritmos distribuidos (1.9)
- Computación paralela y vectorizada (1.10)
- Computación en la nube y edge computing (1.11)
- Balanceo de carga y redes de distribución de contenido (CDN) (1.12)
- Modelos de escalabilidad (1.13)
- Patrones de microservicios (4.4.1)
- Descubrimiento de servicios y enrutamiento (4.4.2)
- Infraestructura como código (8.2.7)
- Orquestación de contenedores y planificación de cargas (8.2.5)
 
- Procesos de ingeniería y madurez técnica - Requisitos de software (3.3.1)
- Trazabilidad de requisitos (3.3.2)
- Estándares de codificación (3.3.4)
- Verificación y validación (3.3.5)
- Mantenimiento evolutivo y correctivo (3.3.6)
- Ingeniería de calidad de software (3.3.8)
- Procesos de desarrollo (3.3.9)
- Métricas de productividad y calidad del software (3.3.10)
- Herramientas de soporte al ciclo de vida del software (3.3.11)
- Mejora continua de procesos y madurez operativa (3.3.12)
- Integración continua y entrega continua en entornos reales (8.2.2)
- Ciclos de despliegue seguro (9.3.5)
- Gestión de entornos: dev, staging, prod (9.3.6)
 
- Observabilidad, fiabilidad y SRE organizacional - Observabilidad organizacional (9.3.2)
- Gestión de SLAs, SLOs y SLIs (9.3.3)
- Gestión de alertas y fatiga de alarmas (9.3.4)
- Postmortems y análisis de causa raíz sin culpas (9.1.5)
- Madurez de procesos DevSecOps (9.3.11)
 
- Seguridad e infraestructura como requisito de diseño - Aislamiento entre servicios y entornos (6.2.1)
- Endurecimiento de sistemas operativos, contenedores y runtimes (6.2.2)
- Control de tráfico interno entre servicios: mTLS, políticas de red, service mesh (6.2.4)
- Seguridad en la nube: configuración segura de recursos gestionados (6.2.5)
- Seguridad de la cadena de suministro de software (6.2.7)
- Escaneo de vulnerabilidades en dependencias, imágenes y artefactos (6.2.8)
- Gestión de parches y actualizaciones de seguridad (6.2.9)
 
- Gestión técnica transversal - Gestión de deuda técnica (9.1.2)
- Mentoría y liderazgo técnico (9.1.3)
- Respuesta a incidentes en producción (9.1.4)
- Estándares internos de código y guías (9.1.6)
- Comunicación con producto y otros equipos (9.1.7)
- Planificación de iteraciones y lanzamientos (9.1.8)
- Evaluación de decisiones técnicas y trade-offs (9.1.9)
- Hoja de ruta técnica y visión de plataforma (9.1.10)
- Cultura de documentación viva (9.1.11)
- Inclusión, colaboración y seguridad psicológica (9.1.12)
- Gestión del conocimiento y rotación de contexto (9.1.13)
 
- Cumplimiento, riesgo y gobernanza tecnológica - Cumplimiento normativo y estándares de la industria (10.1.4)
- Riesgos de dependencia de un único proveedor y cierre tecnológico (10.1.5)
- Gobernanza de software libre y colaboración abierta (10.1.8)
- Soberanía de datos y cumplimiento regional (10.1.13)
- Gestión responsable de IA generativa (10.1.14)
- Evaluación crítica de nuevas tecnologías (10.2.1)
- Medición comparativa y benchmarking técnico (10.2.3)
- Observación de tendencias tecnológicas y estado del arte (10.2.4)
- Innovación responsable, segura y sostenible (10.2.10)
 
 
- Security Engineer - Otros requisitos - Security Engineer incluye el Área común (1).
- También extiende DevOps / SRE / Platform (3) en temas de seguridad operativa, IAM, respuesta a incidentes, gestión de secretos y cumplimiento.
- Security Engineer asesora directamente a Arquitecto/a / Staff Engineer (6) y a EM / Tech Lead (8 y 9) en riesgo técnico.
 
- Seguridad de aplicaciones y servicios - Principales vectores de ataque en aplicaciones web (6.1.1)
- Criptografía práctica y hashing seguro (6.1.2)
- Canales seguros y certificados: cifrado en tránsito extremo a extremo (6.1.3)
- Protección contra ataques comunes en la web: inyecciones, XSS, CSRF, etc. (6.1.4)
- Autenticación y autorización: federación de identidad y single sign-on (6.1.5)
- Manejo seguro de credenciales, llaves y secretos (6.1.6)
- Seguridad en bases de datos y control de acceso a datos sensibles (6.1.7)
- Registro de eventos de seguridad y trazabilidad (6.1.8)
- Sanitización y validación de entrada (6.1.9)
- Modelado de amenazas y pruebas básicas de penetración (6.1.10)
- Gestión de sesiones y mitigación de secuestro de sesión (6.1.11)
- Política de mínimo privilegio en componentes internos (6.1.12)
 
- Seguridad de infraestructura y plataforma - Aislamiento entre servicios y entornos: producción, staging, desarrollo (6.2.1)
- Endurecimiento (hardening) de sistemas operativos, contenedores y runtimes (6.2.2)
- Seguridad en redes: segmentación interna, firewalls, zonas de confianza (6.2.3)
- Control de tráfico interno entre servicios: mTLS, políticas de red, service mesh (6.2.4)
- Seguridad en la nube: configuración segura de recursos gestionados (6.2.5)
- Protección de datos en reposo: cifrado en disco, cifrado por objeto (6.2.6)
- Seguridad de la cadena de suministro de software (supply chain security) (6.2.7)
- Escaneo de vulnerabilidades en dependencias, imágenes y artefactos (6.2.8)
- Gestión de parches y actualizaciones de seguridad (6.2.9)
- Backups seguros y recuperación ante desastres (6.2.10)
 
- Identidad, acceso y control de privilegios - Gestión de identidad y acceso (IAM) (6.3.1)
- Autenticación multifactor (MFA) (6.3.2)
- Rotación periódica de credenciales y llaves (6.3.3)
- Delegación de permisos y roles granulares (6.3.4)
- Acceso just-in-time y acceso de emergencia controlado (6.3.5)
- Auditoría de quién accede a qué y cuándo (6.3.6)
- Separación de funciones críticas (segregation of duties) (6.3.7)
- Gobierno de cuentas de servicio y claves de API (6.3.8)
- Revocación y desactivación segura de accesos (6.3.9)
 
- Monitoreo, detección y respuesta temprana - Detección de comportamientos anómalos y abuso (6.4.1)
- Alertas de actividad sospechosa en autenticación y uso de APIs (6.4.2)
- Correlación de eventos de seguridad en logs centralizados (6.4.3)
- Protección contra fuga de datos y exfiltración (6.4.4)
- Trazabilidad completa de acciones de alto riesgo (6.4.5)
- Simulación de incidentes: ejercicios tipo “fire drill” (6.4.6)
- Detección de escalamiento lateral interno (6.4.7)
- Señales tempranas de compromiso en entornos críticos (6.4.8)
 
- Respuesta a incidentes y continuidad operativa - Plan de respuesta a incidentes de seguridad (6.5.1)
- Contención, erradicación y recuperación (6.5.2)
- Análisis forense y preservación de evidencia técnica (6.5.3)
- Postmortems de seguridad sin cultura de culpa (6.5.4)
- Comunicación interna y externa durante incidentes (6.5.5)
- Planes de continuidad operativa y recuperación de negocio (6.5.6)
- Gestión coordinada con legal, compliance y stakeholders críticos (6.5.7)
 
- Cumplimiento y riesgo organizacional - Políticas internas de seguridad y uso aceptable (6.6.1)
- Clasificación y manejo de datos sensibles (6.6.2)
- Requisitos regulatorios y normativos aplicables (6.6.3)
- Revisión periódica de riesgos y exposiciones (6.6.4)
- Evaluación de terceros y proveedores: riesgo de cadena de suministro (6.6.5)
- Controles preventivos y controles compensatorios (6.6.6)
- Trazabilidad, reportabilidad y obligaciones de notificación (6.6.7)
- Cultura de seguridad: concientización y formación continua en el equipo (6.6.8)
 
 
- Tech Lead / Líder Técnico de Equipo - Otros requisitos - Tech Lead / Líder Técnico de Equipo incluye todo el Área común (1).
- También incluye Developer (2) en detalle, y entiende DevOps / SRE / Platform (3) para producción.
- Tech Lead ejecuta la visión de Arquitecto/a / Staff Engineer (6) en el contexto del equipo.
- Tech Lead comparte responsabilidad de madurez operativa con EM (8), pero con manos más adentro del código.
 
- Liderazgo técnico directo en la implementación - Estándares internos de código y guías (9.1.6)
- Revisión de código efectiva y empática (9.1.1)
- Mentoría y liderazgo técnico (9.1.3)
- Gestión de deuda técnica (9.1.2)
- Planificación de iteraciones y lanzamientos (9.1.8)
- Evaluación de decisiones técnicas y trade-offs (9.1.9)
- Hoja de ruta técnica y visión de plataforma (9.1.10)
- Cultura de documentación viva (9.1.11)
 
- Calidad, fiabilidad y seguridad técnica en el equipo - Aseguramiento de calidad y control de calidad (7.2.5)
- Métricas de calidad operacional: densidad de defectos (7.2.6)
- Pruebas de aceptación y regresión (7.2.7)
- Pruebas no funcionales: rendimiento, carga, resiliencia (7.2.9)
- Documentación de calidad y trazabilidad (7.2.10)
- Auditorías de seguridad y cumplimiento normativo (7.2.4)
- Observabilidad organizacional (9.3.2)
- Gestión de SLAs, SLOs y SLIs (9.3.3)
- Gestión de alertas y fatiga de alarmas (9.3.4)
- Comunicación durante incidentes críticos (9.3.10)
 
- Operación y soporte de producción - Respuesta a incidentes en producción (9.1.4)
- Postmortems y análisis de causa raíz sin culpas (9.1.5)
- Ciclos de despliegue seguro (9.3.5)
- Gestión de entornos: dev, staging, prod (9.3.6)
- Controles de cambio y auditoría operativa (9.3.7)
 
- Relación con EM / Arquitecto / Seguridad - Comunicación con producto y otros equipos (9.1.7)
- Inclusión, colaboración y seguridad psicológica (9.1.12)
- Gestión del conocimiento y rotación de contexto (9.1.13)
- Gestión de incidentes de seguridad (9.3.9)
- Cumplimiento normativo y estándares de la industria (10.1.4)
- Manejo responsable de datos y privacidad (10.1.2)
- Sesgos algorítmicos y transparencia en sistemas automatizados (10.1.6)
 
 
- Engineering Manager (EM) - Otros requisitos - EM incluye la parte humana, operativa y de madurez de todo lo anterior.
- EM debe comprender Developer (2), DevOps / SRE / Platform (3), Seguridad (7) y Arquitectura (6) lo suficiente para priorizar trabajo, riesgos y trade-offs.
- EM comparte terreno con Product/Platform Manager Técnico (10) en priorización y con Tech Lead (9) en estándares técnicos.
 
- Gestión técnica y cultura de equipo - Revisión de código efectiva y empática (9.1.1)
- Gestión de deuda técnica (9.1.2)
- Mentoría y liderazgo técnico (9.1.3)
- Respuesta a incidentes en producción (9.1.4)
- Postmortems y análisis de causa raíz sin culpas (9.1.5)
- Estándares internos de código y guías (9.1.6)
- Comunicación con producto y otros equipos (9.1.7)
- Planificación de iteraciones y lanzamientos (9.1.8)
- Evaluación de decisiones técnicas y trade-offs (9.1.9)
- Hoja de ruta técnica y visión de plataforma (9.1.10)
- Cultura de documentación viva (9.1.11)
- Inclusión, colaboración y seguridad psicológica (9.1.12)
- Gestión del conocimiento y rotación de contexto (9.1.13)
 
- Procesos, madurez y fiabilidad operativa - Observabilidad organizacional (9.3.2)
- Gestión de SLAs, SLOs y SLIs (9.3.3)
- Gestión de alertas y fatiga de alarmas (9.3.4)
- Ciclos de despliegue seguro (9.3.5)
- Gestión de entornos: dev, staging, prod (9.3.6)
- Controles de cambio y auditoría operativa (9.3.7)
- Ejercicios de continuidad operacional y DRP (9.3.8)
- Gestión de incidentes de seguridad (9.3.9)
- Comunicación durante incidentes críticos (9.3.10)
- Madurez de procesos DevSecOps (9.3.11)
 
- Cumplimiento y mejora continua - Integración continua y despliegue continuo (7.2.1)
- Control de versiones de dependencias externas (7.2.2)
- Revisión de código estructurada y guías internas (7.2.3)
- Auditorías de seguridad y cumplimiento normativo (7.2.4)
- Aseguramiento de calidad (QA) y control de calidad (QC) (7.2.5)
- Métricas de calidad operacional: densidad de defectos (7.2.6)
- Pruebas de aceptación y regresión (7.2.7)
- Estándares de codificación y criterios de aprobación (7.2.8)
- Pruebas no funcionales: rendimiento, carga, resiliencia (7.2.9)
- Documentación de calidad y trazabilidad (7.2.10)
- Cumplimiento de marcos y certificaciones de la industria (7.2.11)
- Evaluaciones posteriores al lanzamiento y mantenimiento preventivo (7.2.12)
 
- Cumplimiento ético y responsabilidad - Responsabilidad profesional en ingeniería de software (10.1.1)
- Privacidad y manejo responsable de datos (10.1.2)
- Propiedad intelectual y licenciamiento de software (10.1.3)
- Cumplimiento normativo y estándares de la industria (10.1.4)
- Sesgos algorítmicos y transparencia en sistemas automatizados (10.1.6)
- Accesibilidad e inclusión en diseño y experiencia de usuario (10.1.7)
- Comunicación honesta y responsable con las partes interesadas (10.1.11)
- Impacto social y ambiental del software (10.1.12)
- Soberanía de datos y cumplimiento regional (10.1.13)
- Gestión responsable de IA generativa (10.1.14)
 
 
- Product / Platform Manager Técnico - Otros requisitos - 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.
- Comparte territorio con CTO (10) en comunicación ejecutiva, riesgo reputacional, cumplimiento y sostenibilidad.
- Es puente entre negocio y operación continua, responsable de bajar estrategia a ejecución sin romper compliance ni SLOs.
 
- Priorización técnica alineada a valor de negocio - Planificación de iteraciones y lanzamientos (9.1.8)
- Evaluación de decisiones técnicas y trade-offs (9.1.9)
- Hoja de ruta técnica y visión de plataforma (9.1.10)
- Ciclos de despliegue seguro (9.3.5)
- Gestión de entornos: dev, staging, prod (9.3.6)
- Controles de cambio y auditoría operativa (9.3.7)
- Métricas de entrega y flujo de trabajo (10.3.1)
- Métricas de confiabilidad y disponibilidad (10.3.2)
- Métricas de calidad de código (10.3.3)
 
- Gobierno de plataforma y madurez de servicios internos - Observabilidad organizacional (9.3.2)
- Gestión de SLAs, SLOs y SLIs (9.3.3)
- Gestión de alertas y fatiga de alarmas (9.3.4)
- Gestión de incidentes de seguridad (9.3.9)
- Comunicación durante incidentes críticos (9.3.10)
- Madurez de procesos DevSecOps (9.3.11)
- Gestión de capacidad y asignación de recursos (9.2.13)
- Escalamiento organizacional y delegación (9.2.15)
 
- Cumplimiento, riesgo y relación con stakeholders - Cumplimiento normativo y estándares de la industria (10.1.4)
- Riesgos de dependencia de un único proveedor y cierre tecnológico (10.1.5)
- Protección de datos personales y trazabilidad de acceso (10.1.9)
- Comunicación honesta y responsable con las partes interesadas (10.1.11)
- Impacto social y ambiental del software (10.1.12)
- Soberanía de datos y cumplimiento regional (10.1.13)
- Gestión responsable de IA generativa (10.1.14)
- Transparencia interna y reportes ejecutivos (10.3.11)
 
- Mejora continua y escalamiento sostenible - Procesos de mejora continua tipo Kaizen (10.3.6)
- Ciclo de retroalimentación con clientes y stakeholders (10.3.7)
- Gestión de backlog de mejoras operativas (10.3.9)
- Automatización de controles y reportabilidad (10.3.10)
- Preparación para auditorías externas y certificaciones (10.3.12)
- Cultura interna de experimentación y hack time (10.2.13)
- Planes de aprendizaje continuo y formación técnica (10.2.8)
 
 
- CTO / Dirección Técnica Estratégica - Otros requisitos - 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).
- También incorpora estrategia, cultura y riesgo reputacional a nivel compañía.
- Este rol requiere lenguaje hacia negocio, riesgo legal, stakeholders externos y sustentabilidad a largo plazo.
 
- Dirección técnica y estrategia de plataforma - Hoja de ruta técnica y visión de plataforma (9.1.10)
- Evaluación de decisiones técnicas y trade-offs (9.1.9)
- Observación de tendencias tecnológicas y estado del arte (10.2.4)
- Evaluación crítica de nuevas tecnologías (10.2.1)
- Prototipos rápidos y pruebas de concepto (10.2.2)
- Medición comparativa y benchmarking técnico (10.2.3)
- Innovación responsable, segura y sostenible (10.2.10)
- Estrategia de patentes y divulgación científica (10.2.11)
- Transferencia tecnológica y escalamiento a producción (10.2.12)
 
- Riesgo, compliance y reputación técnica de la organización - Cumplimiento normativo y estándares de la industria (10.1.4)
- Riesgos de dependencia de un único proveedor y cierre tecnológico (10.1.5)
- Sesgos algorítmicos y transparencia en sistemas automatizados (10.1.6)
- Gobernanza de software libre y colaboración abierta (10.1.8)
- Protección de datos personales y trazabilidad de acceso (10.1.9)
- Comunicación honesta y responsable con las partes interesadas (10.1.11)
- Impacto social y ambiental del software (10.1.12)
- Soberanía de datos y cumplimiento regional (10.1.13)
- Gestión responsable de IA generativa (10.1.14)
- Transparencia interna y reportes ejecutivos (10.3.11)
- Preparación para auditorías externas y certificaciones (10.3.12)
 
- Excelencia operacional a escala - Observabilidad organizacional (9.3.2)
- Gestión de SLAs, SLOs y SLIs (9.3.3)
- Gestión de alertas y fatiga de alarmas (9.3.4)
- Madurez de procesos DevSecOps (9.3.11)
- Gestión de incidentes de seguridad (9.3.9)
- Comunicación durante incidentes críticos (9.3.10)
- Estrategia de contratación y onboarding técnico (9.2.14)
- Escalamiento organizacional y delegación (9.2.15)
- Gestión de capacidad y asignación de recursos (9.2.13)
 
- Cultura técnica y sostenibilidad organizacional - Inclusión, colaboración y seguridad psicológica (9.1.12)
- Cultura de documentación viva (9.1.11)
- Cultura interna de experimentación y hack time (10.2.13)
- Planes de aprendizaje continuo y formación técnica (10.2.8)
- Participación en comunidades técnicas y proyectos abiertos (10.2.5)
- Diseño centrado en el usuario para resolver problemas reales (10.2.7)
- Ciclo de retroalimentación con clientes y stakeholders (10.3.7)
- Health checks organizacionales y madurez técnica (10.3.8)
 
- Métricas y auditoría ejecutiva - Métricas de entrega y flujo de trabajo (10.3.1)
- Métricas de confiabilidad y disponibilidad (10.3.2)
- Métricas de calidad de código (10.3.3)
- Auditoría de seguridad y cumplimiento (10.3.4)
- Auditoría de acceso y trazabilidad (10.3.5)
- Procesos de mejora continua tipo Kaizen (10.3.6)
- Gestión de backlog de mejoras operativas (10.3.9)
- Automatización de controles y reportabilidad (10.3.10)
- Transparencia interna y reportes ejecutivos (10.3.11)
- Preparación para auditorías externas y certificaciones (10.3.12)
 
 
Tabla resumen de roles y áreas de conocimiento
Leyenda
| Símbolo | Significado | 
|---|---|
| ✓ | Experto | 
| △ | Necesario básico | 
| ○ | Opcional | 
| — | No requerido | 
| # | Área | Developer | QA / QC | DevOps / SRE / Platform | Data Engineer / Analytics | ML / AI Engineer | Arq / Staff Eng | Security Eng | Tech Lead | Engineering Manager | PM Técnico Plataforma | CTO / Dirección Técnica | 
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Fundamentos de computación, SO, redes (arquitectura HW, SO, redes, dist., nube, escalabilidad) | △ | △ | ✓ | △ | △ | ✓ | ✓ | △ | △ | △ | △ | 
| 2 | Linux / operación del sistema / automatización shell | △ | △ | ✓ | △ | △ | △ | ✓ | △ | ○ | — | — | 
| 3 | Lenguajes de programación y diseño de código (tipos, funciones, OOP, estilos, manejo de errores) | ✓ | △ | △ | △ | ✓ | ✓ | △ | ✓ | △ | △ | △ | 
| 4 | Control de versiones y colaboración (ramas, merge, rebase, trazabilidad) | ✓ | △ | ✓ | ✓ | ✓ | ✓ | △ | ✓ | △ | ○ | ○ | 
| 5 | Herramientas de desarrollo, entornos reproducibles, CI/CD básica | ✓ | ✓ | ✓ | △ | ✓ | ✓ | △ | ✓ | △ | △ | △ | 
| 6 | Arquitectura de software y diseño (DDD, hexagonal, microservicios, eventos, modularización) | △ | △ | △ | △ | △ | ✓ | △ | ✓ | △ | △ | ✓ | 
| 7 | Backend / APIs / servicios / integración entre servicios (auth, rate limiting, contratos, mensajería) | △ | △ | △ | △ | ✓ | ✓ | △ | ✓ | △ | △ | △ | 
| 8 | Bases de datos y persistencia (modelo relacional/no relacional, transacciones, migraciones, pools) | △ | △ | △ | ✓ | △ | ✓ | △ | ✓ | △ | △ | △ | 
| 9 | Concurrencia, rendimiento y escalabilidad (async, threads, colas, caching, benchmarking) | △ | △ | ✓ | △ | ✓ | ✓ | ○ | ✓ | △ | △ | △ | 
| 10 | Observabilidad, logging, métricas y trazas distribuidas | △ | △ | ✓ | △ | ✓ | ✓ | ✓ | ✓ | △ | △ | △ | 
| 11 | Operación en producción / despliegue / contenedores / IaC / nube / orquestación | △ | △ | ✓ | △ | ✓ | ✓ | ✓ | △ | △ | △ | △ | 
| 12 | Resiliencia, tolerancia a fallos, continuidad operativa, SRE, SLAs/SLOs | ○ | △ | ✓ | △ | △ | ✓ | △ | △ | △ | △ | △ | 
| 13 | Seguridad de aplicaciones y servicios (OWASP, authn/authz, secretos, validación de entrada) | △ | △ | △ | △ | △ | ✓ | ✓ | ✓ | △ | △ | △ | 
| 14 | Seguridad de infraestructura, IAM, monitoreo de abuso, respuesta a incidentes | ○ | ○ | ✓ | △ | △ | ✓ | ✓ | △ | △ | △ | △ | 
| 15 | Ingeniería de datos y plataforma de datos (ETL/ELT, orquestación, linaje, catálogos, contratos de datos) | ○ | ○ | ○ | ✓ | △ | ✓ | △ | △ | △ | △ | △ | 
| 16 | Análisis cuantitativo / analítica de producto / BI / storytelling con datos | ○ | ○ | ○ | ✓ | △ | △ | ○ | ○ | △ | ✓ | △ | 
| 17 | Ciencia de datos aplicada al negocio (modelos descriptivos/predictivos, A/B testing, impacto) | ○ | — | — | △ | ✓ | △ | — | ○ | ○ | △ | △ | 
| 18 | Machine 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) | △ | △ | △ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| 20 | Procesos de ingeniería, calidad y testing (QA, CI/CD, cobertura, seguridad, estándares de codificación) | ✓ | ✓ | △ | △ | △ | ✓ | △ | ✓ | ✓ | △ | ✓ | 
| 21 | Gestión técnica de equipo, mentoría, cultura, postmortems sin culpa | ○ | △ | △ | ○ | ○ | ✓ | △ | ✓ | ✓ | △ | ✓ | 
| 22 | Gestión operativa de plataforma, DevSecOps, gobernanza operativa, gestión de incidentes | ○ | △ | ✓ | △ | △ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| 23 | Estrategia tecnológica, arquitectura global, riesgo proveedor, innovación, roadmap técnico | ○ | ○ | △ | △ | △ | ✓ | △ | △ | △ | ✓ | ✓ | 
| 24 | Producto, priorización, stakeholders, compliance organizacional, reporting ejecutivo | ○ | △ | △ | △ | △ | ✓ | △ | △ | ✓ | ✓ | ✓ | 
5 - Estructura de la guía
6 - Computación y sistemas
- Computación y sistemas- Autómatas y modelos de cómputo- Máquinas de Turing- Modelo formal y funcionamiento básico
- Determinismo vs no determinismo
- Máquinas multicinta y variantes extendidas
- Máquina de Turing universal y auto-interpretación
- Máquinas con oráculo y relativización
- Alternancia y ramificación de estados
- Modelos cuánticos de Turing
- Complejidad de tiempo y espacio asociada
- Codificación de lenguajes de decisión y verificación
- Límites de decidibilidad y no computabilidad
 
- Autómatas finitos deterministas y no deterministas (DFA / NFA)- Definición formal de DFA / NFA
- Transiciones ε y no determinismo
- Conversión NFA → DFA
- Minimización de autómatas
- Equivalencia con expresiones regulares
- Propiedades de cierre de lenguajes regulares
- Autómatas probabilísticos
- Autómatas alternantes
- Decidibilidad de pertenencia y vacuidad
- Limitaciones de memoria y poder expresivo
 
- Autómatas con pila (PDA) y lenguajes libres de contexto- PDA deterministas vs no deterministas
- Lenguajes libres de contexto y gramáticas asociadas
- Forma normal de Chomsky y transformaciones
- Ambigüedad en gramáticas y lenguajes ambiguos
- Parsing descendente (LL) y ascendente (LR)
- Autómatas de pila vacía vs aceptación por estado final
- Propiedades de cierre de lenguajes libres de contexto
- Árboles sintácticos y derivaciones
- Limitaciones frente a lenguajes sensibles al contexto
- Aplicaciones en análisis sintáctico de lenguajes de programación
 
- Gramáticas formales y jerarquía de Chomsky- Gramáticas regulares (tipo 3)
- Gramáticas libres de contexto (tipo 2)
- Gramáticas sensibles al contexto (tipo 1)
- Gramáticas recursivamente enumerables (tipo 0)
- Gramáticas lineales izquierdas y derechas
- Gramáticas atribuidas y semántica asociada
- Gramáticas dependientes del contexto
- Poder expresivo por nivel de la jerarquía
- Relación con modelos de cómputo equivalentes
- Uso práctico en lenguajes formales y compiladores
 
- Computabilidad y decidibilidad- Funciones recursivas primitivas y generales
- Problema de la parada y su indecidibilidad
- Lenguajes recursivos y recursivamente enumerables
- Grados de Turing y reducción de dificultad
- Teoremas de indecidibilidad (Rice y variantes)
- Reducciones many-one y Turing
- Problemas parcialmente decidibles
- Demostraciones por reducción
- Barreras fundamentales de automatización
- Clases de problemas sin solución algorítmica
 
- Complejidad computacional- Clases P, NP y co-NP
- PSPACE y NPSPACE
- EXP y NEXP
- Jerarquía polinómica (PH)
- #P y complejidad de conteo
- Complejidad en tiempo vs complejidad en espacio
- Relaciones abiertas (P vs NP, etc.)
- Complejidad de aproximación
- Complejidad parametrizada y FPT
- Clases de complejidad para verificación probabilística
 
- Reducciones y completitud- Reducciones en tiempo polinomial
- Problemas NP-completos
- Problemas PSPACE-completos
- Reducciones logspace y clases L / NL
- Reducciones de parsimonia y conteo
- Problemas canónicos (SAT, 3-SAT, CLIQUE, VERTEX-COVER)
- Hardness bajo distintos modelos de cómputo
- Uso de reducciones para demostrar imposibilidad
- Reducciones entre problemas de optimización
- Impacto de completitud en diseño de algoritmos prácticos
 
- Computación aproximada y aleatorizada- Clases probabilísticas (BPP, RP, co-RP, ZPP)
- Esquemas de aproximación PTAS / FPTAS
- Reducciones de aproximación
- Dificultad de aproximar (PCP y hardness)
- Algoritmos Monte Carlo
- Algoritmos Las Vegas
- Randomización para romper simetrías
- Métodos probabilísticos para optimización
- Amplificación de probabilidad de éxito
- Modelos de complejidad aleatorizada vs determinista
 
- Lógica y especificación formal de cómputo- Lógica proposicional y satisfacibilidad (SAT)
- Lógica de primer orden y cuantificación
- Lógicas temporales (LTL / CTL / CTL*)
- Verificación formal y model checking
- Lógica de Hoare y razonamiento sobre programas
- Tipos dependientes y corrección por construcción
- Solvers SMT y automatización de pruebas
- Especificación formal de propiedades del sistema
- Pruebas asistidas vs pruebas automáticas
- Garantías de seguridad y ausencia de clases de error
 
- Computación cuántica como modelo alternativo- Qubits, superposición y medición
- Puertas unitarias y circuitos cuánticos
- Entrelazamiento y no localidad
- Algoritmo de Shor (factoreo)
- Algoritmo de Grover (búsqueda acelerada)
- Clase BQP y capacidad de cómputo cuántico
- Computación cuántica adiabática
- Corrección de errores cuánticos
- Limitaciones físicas y ruido en hardware cuántico
- Comparación con modelos clásicos y límites prácticos
 
- Límites físicos del cómputo- Termodinámica de la información y límite de Landauer
- Computación reversible
- Límites teóricos de velocidad (cota de Bremermann)
- Restricciones relativistas y causalidad
- Computación analógica
- Modelos hipercomputacionales
- Costos energéticos del cómputo masivo
- Estabilidad y errores físicos
- Límites de miniaturización y escala atómica
- Cómputo cercano a memoria y cómputo in-memory
 
 
- Máquinas de Turing
- Arquitectura de computadores- Modelos de arquitectura (von Neumann, Harvard)- Arquitectura von Neumann clásica
- Arquitectura Harvard y separación de datos/instrucciones
- Harvard modificada en procesadores modernos
- Arquitecturas basadas en flujo de datos
- Arquitecturas orientadas a pila
- Máquinas orientadas a registros
- Arquitecturas VLIW (instrucciones muy largas)
- Arquitecturas vectoriales / SIMD
- Arquitecturas orientadas a transacciones
- Arquitecturas reconfigurables y especializadas
 
- CPU y microarquitectura- Unidad de control (cableada vs microprogramada)
- ALU y FPU
- Pipeline y segmentación en etapas
- Ejecución fuera de orden
- Emisión múltiple y diseños superscalar
- Predicción de saltos y especulación
- Renombrado de registros y eliminación de dependencias
- Reordenamiento de instrucciones (ROB y buffers)
- Caché de micro-operaciones y front-end del procesador
- Hyper-Threading / SMT y paralelismo interno
- Unidades vectoriales / SIMD dedicadas
- Separación entre front-end y back-end
 
- Jerarquía de memoria- Registros arquitectónicos y físicos
- Caché L1 de datos e instrucciones
- Caché L2 privada por núcleo
- Caché L3 compartida multinúcleo
- Políticas de reemplazo (LRU, pseudo-LRU, FIFO)
- Políticas de escritura (write-through / write-back)
- Memoria principal DRAM / DDR
- Memoria de alto ancho de banda (HBM)
- Memoria persistente rápida (NVRAM / PMem)
- Memoria virtual y TLB
- Paging, segmentación y protección
- NUMA y afinidad de memoria
 
- Conjuntos de instrucciones (ISA)- CISC (por ejemplo, x86 / x86-64)
- RISC (por ejemplo, ARM / RISC-V)
- ISAs reducidas embebidas (microcontroladores)
- VLIW e instrucciones empaquetadas
- Extensiones SIMD y vectoriales (SSE, AVX, NEON, SVE)
- Extensiones orientadas a IA / matrices (AMX, Tensor ops)
- Instrucciones atómicas y sincronización
- Modos privilegiados y separación user/kernel
- Conjuntos de instrucciones comprimidas
- Extensiones criptográficas hardware (AES, SHA)
 
- Paralelismo a nivel de instrucción- Pipelining básico y profundo
- Superscalar y emisión múltiple
- Algoritmo de Tomasulo y scheduling dinámico
- Ejecución especulativa segura
- Predicación y ejecución condicional
- VLIW e ILP explícito
- Desenrollado de bucles (loop unrolling)
- Software pipelining
- Fusión de instrucciones y macro-op fusion
- Limitaciones físicas y de seguridad del ILP
 
- Arquitecturas multinúcleo y multiprocesador- SMP (multiprocesamiento simétrico)
- CMP homogéneo multinúcleo
- Heterogeneous / big.LITTLE
- Manycore y paralelismo masivo
- Paralelismo estilo GPU
- NUMA y acceso no uniforme a memoria
- Directorios de coherencia distribuidos
- Protocolos de coherencia (MESI / MOESI / MESIF)
- Interconexiones cache-snoop
- Virtualización asistida por hardware multinúcleo
 
- Aceleradores de propósito específico- GPU (paralelismo SIMT)
- TPU / NPU / aceleradores de inferencia
- DSP para señal y audio
- FPGA reconfigurable
- ASIC dedicados a tareas fijas
- Aceleradores criptográficos
- Aceleradores de red (offload cifrado / compresión)
- Codificadores / decodificadores multimedia
- Offload de almacenamiento y descarga de CPU
- SmartNIC / DPU para plano de datos
 
- Interconexiones y buses del sistema- Buses tradicionales (FSB)
- Controladores de memoria integrados
- PCI Express y extensiones
- Interconexiones punto a punto (QPI, UPI, Infinity Fabric)
- Redes en chip (NoC)
- Topologías en chip (malla, anillo, crossbar, árbol gordo)
- Latencia vs ancho de banda en interconexión
- Coherencia de caché sobre el bus/interconexión
- Interconexiones ópticas / fotónicas emergentes
- Escalabilidad en sistemas multinodo / multiprocesador
 
- Entrada / Salida (I/O) y controladores- Controladores DMA y acceso directo a memoria
- Controladores de almacenamiento (SATA, NVMe)
- Controladores de red (NIC tradicionales y SmartNIC)
- Buses periféricos (USB, Thunderbolt)
- Controladoras PCIe raíz y bridges
- Mapeo de memoria de E/S (MMIO)
- E/S programada (PIO) vs E/S basada en interrupciones
- Interrupciones y control de IRQ
- APIC / LAPIC / IOAPIC
- MSI / MSI-X y señales avanzadas
 
- Gestión de energía y rendimiento térmico- Escalado dinámico de voltaje y frecuencia (DVFS)
- Apagado/bloqueo de unidades (power gating / clock gating)
- Thermal throttling y control térmico
- Presupuesto de potencia (TDP / power budget)
- Sensores térmicos en chip
- Balance térmico entre núcleos
- Estados de ahorro de energía (C / P / S states)
- Escalamiento adaptativo según carga
- Políticas de firmware / BIOS
- Diseño térmico y disipación física
 
 
- Modelos de arquitectura (von Neumann, Harvard)
- Sistemas operativos (procesos, hilos, memoria, planificación)- Diseño del núcleo (kernel)- Kernel monolítico
- Microkernel
- Kernel híbrido y variaciones mixtas
- Exokernel y mínimo privilegio
- Núcleo modular con carga dinámica
- Control de interrupciones y manejo de excepciones
- Servicios del kernel vs servicios en espacio usuario
- Interfaces estables (ABI/driver ABI)
- Separación de privilegios y modos de ejecución
- Evolución del kernel y compatibilidad binaria
 
- Procesos- Creación y terminación de procesos
- Estados clásicos (ready / running / blocked / zombie)
- Espacio de direcciones y aislamiento
- PCB (Process Control Block) y metadatos
- Carga y enlace de ejecutables
- Señales y manejo de señales
- fork / exec / wait y herencia de contexto
- Prioridad, niceness y política de scheduling
- Límites de recursos y cuotas
- Control de credenciales e identidad de proceso
 
- Hilos (threads)- Hilos de usuario vs hilos del kernel
- Modelos 1:1, M:1 y M:N
- Cambio de contexto entre hilos
- Almacenamiento local de hilo (TLS)
- Pools de hilos y reutilización
- Fibers y corutinas ligeras
- Afinidad de CPU y pinning
- Planificación a nivel de hilo en SMT/Hyper-Threading
- Sincronización entre hilos en espacio compartido
- Costos de concurrencia masiva
 
- Planificación (CPU scheduling)- Planificación cooperativa vs preventiva
- Round Robin y reparto justo
- Planificación por prioridad fija
- Multi-level feedback queue (MLFQ)
- Completely Fair Scheduler (CFS) y equivalentes
- Scheduling con deadlines y tiempo real
- Afinidad de CPU y balance de carga
- Inversión de prioridad y herencia de prioridad
- Latencia de despacho y quantum
- Políticas específicas para servidores y baja latencia
 
- Gestión de memoria- Espacios de direcciones virtuales aislados
- Paginación por demanda
- Tablas de páginas multinivel
- TLB y fallos de TLB
- Swapping y memoria secundaria
- Copy-on-write y compartición eficiente
- ASLR (Address Space Layout Randomization)
- Huge pages / superpages
- Archivos mapeados a memoria (mmap)
- Reclamación de páginas y políticas de reemplazo
- Gestión de memoria NUMA-aware
- Protección contra ejecución y regiones marcadas NX
 
- Sincronización y concurrencia- Mutexes y locks básicos
- Semáforos y contadores
- Monitores y variables de condición
- Secciones críticas y exclusión mutua
- Barreras de sincronización
- Spinlocks y locks activos
- Read-Copy-Update (RCU)
- Operaciones atómicas (CAS / LL-SC)
- Deadlock, livelock y starvation
- Técnicas lock-free y wait-free
 
- Comunicación entre procesos (IPC)- Pipes y FIFOs
- Sockets locales / de red
- Memoria compartida
- Señales y notificaciones
- Colas de mensajes
- RPC / gRPC local
- Llamadas al kernel asincrónicas
- Serialización y marshalling de datos
- Sincronización de acceso compartido
- Seguridad y control de permisos en IPC
 
- Sistema de archivos y VFS (Virtual File System)- Inodos, metadatos y descriptores
- Árbol jerárquico de directorios
- Sistemas con journaling y consistencia tras fallos
- Sistemas copy-on-write (ZFS, btrfs)
- Montaje, namespaces y espacios aislados
- Page cache y buffer cache
- Bloqueo y concurrencia en archivos
- Permisos POSIX y ACLs extendidas
- Sistemas de archivos distribuidos / en red
- FUSE y sistemas en espacio de usuario
 
- Gestión de E/S y controladores- Controladores en kernel vs user-space
- Manejo de interrupciones y IRQ
- DMA y transferencia directa a memoria
- Operaciones bloqueantes vs no bloqueantes
- Polling, select, epoll, kqueue
- io_uring y E/S asincrónica moderna
- Planificadores de disco y prioridad de I/O
- Buffering y caché de E/S
- Hotplug y reconocimiento dinámico de hardware
- Gestión avanzada de dispositivos de red y almacenamiento
 
- Seguridad y aislamiento- Modos usuario / kernel y privilegios
- Permisos de archivo y control de acceso
- Gestión de usuarios, grupos y credenciales
- Sandboxing (seccomp, pledge, capsicum)
- Namespaces y cgroups para aislamiento
- Control de acceso obligatorio (SELinux, AppArmor)
- Protección contra ejecución (NX / DEP)
- Aislamiento de memoria entre procesos
- KPTI y mitigaciones de fuga de kernel
- Verificación de binarios firmados
 
- Syscalls y modos de ejecución- Entrada al kernel (syscall/sysenter/trap)
- ABI de llamadas al sistema
- Transición user space → kernel space
- Emulación y compatibilidad de syscalls
- Llamadas bloqueantes vs no bloqueantes
- Virtualización / contenedorización de syscalls
- Capa libc / runtime como envoltorio
- Costos y latencia de cambio de modo
- Trazabilidad de llamadas al sistema
- Seguridad y filtrado de syscalls sensibles
 
- Contabilidad, monitoreo y métricas- Estadísticas de CPU, memoria y E/S por proceso
- Contadores de rendimiento (perf, PMU)
- Trazas de kernel (ftrace, eBPF)
- Auditoría de seguridad y eventos críticos
- Control de recursos con cgroups y cuotas
- Telemetría de syscalls y perfiles de uso
- Registro centralizado de eventos del kernel
- Cuotas de disco, CPU y memoria
- Observabilidad en tiempo real para diagnóstico
- Perfilado continuo y análisis postmortem
 
 
- Diseño del núcleo (kernel)
- Virtualización y contenedorización- Conceptos de virtualización- Virtualización completa de hardware
- Paravirtualización y reducción de overhead
- Aceleración por hardware (VT-x, AMD-V)
- Emulación completa de plataforma
- Unikernels y sistemas especializados mínimos
- Virtualización anidada (nested virtualization)
- Sandboxing reforzado por software
- MicroVM y entornos ultraligeros
- Aislamiento de recursos y seguridad por capa
- Trade-offs entre flexibilidad, overhead y densidad
 
- Hipervisores- Hipervisor tipo 1 (bare metal)
- Hipervisor tipo 2 (hosted)
- KVM y virtualización en Linux
- Xen y separación dominio huésped/control
- VMware ESXi y virtualización empresarial
- Hyper-V y entornos Windows
- QEMU y emulación completa
- Device passthrough (VFIO, SR-IOV)
- virtio y drivers paravirtualizados
- Gestión de dispositivos virtualizados y hotplug
 
- Virtualización de hardware vs virtualización a nivel de SO- Máquinas virtuales completas (guest OS completo)
- Contenedores aislados por kernel compartido
- Jail / chroot y aislamiento básico
- Zones / LDOMs y particiones lógicas
- MicroVMs (Firecracker, etc.)
- Sandboxing por usuario / proceso restringido
- Aislamiento de namespaces
- Aislamiento de cgroups y cuotas
- Seguridad reforzada por política obligatoria
- Costos de overhead y densidad por tipo
 
- Contenedores- Runtimes de contenedor (Docker, containerd, CRI-O)
- Estándares OCI y compatibilidad de runtimes
- Contenedores rootless y minimización de privilegios
- Pods y agrupación de contenedores
- Volúmenes, mounts y persistencia de estado
- Patrones sidecar y contenedores auxiliares
- Inyección de configuración y secretos
- Versionado y despliegue inmutable
- Políticas de recursos por contenedor
- Reuso de imágenes base comunes
 
- Namespaces y cgroups- Namespaces de PID
- Namespaces de red
- Namespaces de montaje
- Namespaces UTS / hostname
- Namespaces IPC
- Namespaces de usuario (user namespace)
- cgroups v1 y control jerárquico
- cgroups v2 unificado
- Límites de CPU / memoria / I/O por grupo
- Priorización y fair sharing de recursos
 
- Construcción y gestión de imágenes- Dockerfile y builds multi-stage
- Capas (layers) y union filesystems (overlayfs)
- Imágenes inmutables y reproducibles
- Imágenes distroless y superficie mínima
- Firmas, atestación e integridad de imágenes
- Registries / repositorios privados y públicos
- SBOM y supply chain security
- Versionado y etiquetado (tags / digests)
- Reducción de tamaño y ataque de superficie
- Gestión de dependencias base comunes entre servicios
 
- Redes virtuales y SDN (Software-Defined Networking)- Puentes virtuales y switches de software
- NAT, port forwarding y conectividad externa
- Redes overlay (VXLAN, GRE, Geneve)
- Open vSwitch y switching programable
- CNI (Container Network Interface) y plugins
- Service mesh y control L7
- Balanceadores L4 / L7 internos
- Políticas de red (network policies)
- Control de ingress / egress
- Segmentación multi-tenant y aislamiento de tráfico
 
- Orquestación de contenedores- Kubernetes y el plano de control
- Scheduler de pods y asignación de nodos
- Recursos declarativos (Deployment, StatefulSet, DaemonSet, Job, CronJob)
- Services, load balancing interno y DNS del cluster
- ConfigMaps, Secrets y configuración dinámica
- Autoscaling horizontal y vertical
- Operators / CRD y extensibilidad
- Afinidad, tolerations y taints
- Separación control plane vs data plane
- Actualizaciones rolling, canary y rollback seguro
 
- Seguridad y aislamiento multi-tenant- seccomp y filtrado de syscalls
- SELinux / AppArmor y control mandatorio
- Linux capabilities y privilegios mínimos
- Runtimes rootless y espacios de usuario aislados
- Admission controllers y enforcement de políticas
- gVisor / Kata Containers y sandbox por VM ligera
- Firmas y validación criptográfica de imágenes
- Prevención y detección de escapes de contenedor
- Políticas de red por tenant / namespace
- Confidential computing y aislamiento por hardware
 
- Observabilidad y debugging en entornos virtualizados- Recolección centralizada de logs de contenedores
- Métricas de recursos (CPU, memoria, I/O, red)
- Trazas distribuidas entre servicios
- eBPF para inspección ligera del kernel
- Profiling continuo de rendimiento (perf, pprof)
- Contenedores de debug / inspección efímera
- Port forwarding y acceso introspectivo
- Health checks (liveness / readiness / startup)
- Observación de eventos del scheduler / runtime
- Auditoría de syscalls, cambios de política y seguridad
 
 
- Conceptos de virtualización
- Almacenamiento distribuido y sistemas de archivos- Modelos de almacenamiento- Almacenamiento local directo (DAS)
- Almacenamiento en red de archivos (NAS)
- Almacenamiento en red de bloques (SAN)
- Almacenamiento distribuido a escala horizontal
- Almacenamiento definido por software (SDS)
- Jerarquía por temperatura (caliente / tibio / frío)
- Almacenamiento inmutable y WORM
- Volúmenes persistentes vs efímeros
- Almacenamiento replicado por disponibilidad
- Políticas de retención y ciclo de vida de datos
 
- Sistemas de archivos locales- Sistemas extendidos tipo EXT
- XFS y alto rendimiento secuencial
- Btrfs y copy-on-write
- ZFS y verificación de integridad
- NTFS y ecosistema Windows
- APFS y optimización en dispositivos modernos
- Cuotas y límites por usuario/grupo
- Atributos extendidos y metadatos enriquecidos
- Instantáneas locales (snapshots)
- Tolerancia a fallos y autocorrección
 
- Sistemas de archivos distribuidos- NFS y compartición en red tradicional
- SMB/CIFS y entornos mixtos
- CephFS y almacenamiento distribuido unificado
- Lustre y alto rendimiento HPC
- GlusterFS y escalamiento horizontal
- HDFS y procesamiento batch de datos masivos
- Sistemas paralelos orientados a throughput
- Montaje remoto con caching local
- Consistencia entre cliente y servidor
- Control de concurrencia distribuida
 
- Almacenamiento en bloques, archivos y objetos- Bloques virtuales y volúmenes asignables (LUN)
- Sistemas tipo archivo con semántica POSIX
- Almacenamiento de objetos tipo S3
- Direccionamiento por bloque / ruta / ID de objeto
- Versionado y retención de objetos
- Snapshots y clones rápidos
- Thin provisioning y asignación diferida
- Deduplicación y compresión
- Cifrado en reposo y control de llaves
- Replicación transparente entre ubicaciones
 
- Replicación y durabilidad- Replicación síncrona entre nodos
- Replicación asíncrona geográfica
- Factor de replicación configurable
- Erasure coding y tolerancia a fallos
- Tolerancia a fallos de disco / nodo / rack / zona
- Procesos de reparación y anti-entropy
- Políticas de colocación de datos por dominio de fallo
- Quorum de escritura / lectura
- Objetivos de durabilidad y retención (RPO/RTO)
- Balance entre durabilidad y latencia
 
- Particionado y sharding- Sharding estático vs dinámico
- Hashing consistente para distribución estable
- Rebalanceo de shards en línea
- Particionado por rango / tiempo / clave
- Directorios de metadatos vs enrutamiento implícito
- Localidad de datos vs distribución uniforme
- Hotspots y desbalance de carga
- Tolerancia a crecimiento desigual
- Aislamiento de shards por tenant / cliente
- Reasignación tras fallos o expansiones
 
- Consistencia y coherencia- Consistencia fuerte
- Consistencia eventual
- Consistencia causal y orden parcial
- Linearizabilidad y garantías estrictas
- Serializabilidad y equivalencia a ejecución secuencial
- Coherencia de caché entre réplicas
- Protocolos de invalidación vs actualización
- Lecturas repetibles y snapshot isolation
- Lecturas sucias y control de visibilidad
- Políticas configurables por operación (read/write quorum)
 
- Metadatos y consenso- Nodos dedicados a metadatos
- Mapas globales de bloques / inodos distribuidos
- Lock managers y exclusión distribuida
- Elección de líder y mantenimiento de autoridad
- Protocolos de consenso (Raft, Paxos)
- Relojes lógicos y vector clocks
- Namespaces globales consistentes
- Journaling y registro de cambios de metadatos
- Prevención de split-brain
- Recuperación coordinada tras fallos de metadatos
 
- Recuperación ante fallos y journaling- Write-ahead logging (WAL)
- Journaling de datos vs solo metadatos
- Snapshots y checkpoints consistentes
- Rollback / roll-forward tras corte
- Reconstrucción de nodos o discos caídos
- Replicación geográfica para recuperación de desastres
- Detección y resolución de split-brain
- Scrubbing e integridad de datos
- Rehidratación de volúmenes en nuevos nodos
- Pruebas periódicas de restauración
 
- Caching y jerarquización de almacenamiento (tiering)- Caché en cliente y lectura local rápida
- Caché en servidor / nodo de borde
- Jerarquía RAM / NVMe / SSD / HDD frío
- Políticas write-back vs write-through
- Prefetch y read-ahead adaptativo
- Tiering automático por patrón de acceso
- Tiers nearline / archive / cold storage
- Coherencia de caché distribuida
- Reducción de latencia percibida por cliente
- Optimización de costo por GB útil
 
- Rendimiento y latencia en I/O- Latencia vs throughput como métricas clave
- IOPS, colas de E/S y profundidad de cola
- Alineamiento y tamaño de bloque óptimo
- Paralelismo de colas (multiqueue)
- Balanceo de carga entre nodos de datos
- Amortización de escrituras aleatorias
- Compactación y reescritura log-structured
- Costos de fsync / flush en persistencia
- Minimización del jitter de latencia
- Optimización para workloads secuenciales vs aleatorios
 
 
- Modelos de almacenamiento
- Redes y protocolos- Fundamentos de redes (modelo OSI y TCP/IP)- Modelos de referencia y capas- Modelo OSI (físico, enlace, red, transporte, sesión, presentación, aplicación)
- Modelo TCP/IP (enlace, internet, transporte, aplicación)
- Encapsulación y desencapsulación
- Unidades de datos por capa (tramas, paquetes, segmentos)
- MTU y fragmentación
- RFC, estandarización y gobernanza de protocolos
- Interoperabilidad entre capas y modularidad
- Separación de plano de control y plano de datos
- Dominio de broadcast vs dominio de colisión
- Latencia, throughput y pérdida de paquetes como métricas clave
 
 
- Modelos de referencia y capas
- Direccionamiento y ruteo- Direcciones y encaminamiento de red- Direccionamiento IPv4 y notación CIDR
- Direccionamiento IPv6 y espacio extendido
- Subnetting y VLSM
- NAT y PAT (traducción y multiplexación de direcciones)
- DHCP y asignación dinámica
- Resolución de direcciones (ARP / NDP)
- Ruteo estático
- Ruteo dinámico (RIP, OSPF, IS-IS, BGP)
- ECMP (Equal-Cost Multi-Path)
- Anycast / unicast / multicast / broadcast
- MPLS y encaminamiento basado en etiquetas
 
 
- Direcciones y encaminamiento de red
- Capa de enlace de datos- Enlace local y acceso al medio- Ethernet (cableado y conmutado)
- CSMA/CD y control de colisión
- VLAN (802.1Q) y segmentación lógica de capa 2
- Trunking y etiquetado de VLAN
- STP / RSTP / MSTP para evitar bucles
- PPP / HDLC y enlaces punto a punto
- Redes punto a punto vs redes broadcast
- Control de flujo a nivel de enlace (PAUSE frames)
- Agregación de enlaces (LACP / bonding)
- Seguridad a nivel de puerto (port security / 802.1X)
 
 
- Enlace local y acceso al medio
- Capa de red- Encaminamiento y entrega entre redes- IP (IPv4 / IPv6) y direccionamiento lógico
- ICMP / ICMPv6 para diagnóstico y control
- Ruteadores y tablas de ruteo
- TTL / Hop Limit y prevención de loops
- Fragmentación y reensamblado de paquetes
- QoS a nivel IP (DSCP / ToS)
- Túneles (GRE, IP-in-IP)
- NAT traversal y penetración de firewalls
- Forwarding y filtrado en capa 3
- Seguridad básica en capa de red (filtros L3)
 
 
- Encaminamiento y entrega entre redes
- Capa de transporte- Entrega extremo a extremo confiable o no confiable- TCP y control orientado a conexión
- UDP y transporte liviano sin conexión
- Multiplexación por puertos lógicos
- Establecimiento de conexión (3-way handshake)
- Control de flujo basado en ventana
- Retransmisión, ACKs y confiabilidad
- Segmentación y reordenamiento
- Chequeo de integridad (checksums)
- Conexiones persistentes y keepalive
- Control de congestión acoplado al transporte
 
 
- Entrega extremo a extremo confiable o no confiable
- Capa de aplicación- Protocolos de aplicación y servicios de alto nivel- DNS y resolución de nombres
- HTTP/1.1 y modelo request/response
- HTTP/2 y multiplexación de streams
- HTTP/3 y transporte sobre QUIC
- TLS y cifrado extremo a extremo
- SMTP / IMAP / POP3 para correo
- gRPC y contratos binarios sobre HTTP/2
- WebSockets y comunicación persistente
- NTP y sincronización horaria
- DHCP como servicio de configuración de red
 
 
- Protocolos de aplicación y servicios de alto nivel
- Control de congestión y calidad de servicio (QoS)- Gestión del tráfico y priorización- Algoritmos de congestión TCP (Reno, Cubic, BBR)
- Shaping vs policing de tráfico
- Clasificación y marcado (DSCP / CoS)
- Programación de colas (PQ, WFQ, DRR)
- RED / ECN y señalización temprana de congestión
- Rate limiting por flujo / cliente / clase
- Priorización de tráfico de baja latencia / tiempo real
- SLA y colas dedicadas por clase de servicio
- Control adaptativo de buffer (bufferbloat mitigation)
- Telemetría de congestión para ajuste dinámico
 
 
- Gestión del tráfico y priorización
- Seguridad de red- Protección de infraestructura y datos en tránsito- Firewalls (stateful / stateless)
- Listas de control de acceso (ACL)
- TLS / mTLS y cifrado punto a punto
- IPsec (AH / ESP) y túneles seguros
- VPN de capa 2 / capa 3
- Segmentación de red y microsegmentación
- IDS / IPS (detección y prevención de intrusiones)
- Zero Trust y autenticación continua
- Protección contra spoofing / hijacking / MITM
- Filtrado egress / ingress y control de salida
 
 
- Protección de infraestructura y datos en tránsito
- Redes definidas por software (SDN) y virtualización de red- Redes programables y control centralizado- Separación de plano de control y plano de datos
- OpenFlow y control de forwarding
- Controladores SDN centralizados
- vSwitch (por ejemplo, Open vSwitch)
- Encapsulación VXLAN / NVGRE / Geneve
- SDN en data centers y nubes privadas
- Service function chaining y service insertion
- NFV (Network Function Virtualization)
- Overlays L2/L3 virtualizados a gran escala
- Políticas declarativas de red y seguridad como código
 
 
- Redes programables y control centralizado
- Observabilidad y troubleshooting de red
- Monitoreo, diagnóstico y análisis- Ping / traceroute / mtr y rastreo de saltos
- Captura de paquetes (tcpdump, Wireshark)
- Inspección de sockets y puertos abiertos (netstat / ss / lsof -i)
- Telemetría de red (SNMP / NetFlow / sFlow)
- Métricas de interfaz (errores, drops, colisiones)
- Latencia, jitter y pérdida de paquetes
- Monitoreo activo vs pasivo
- Logs de firewall / IDS / balanceador
- Mapas de topología y dependencias de servicio
- Alertas tempranas y correlación de incidentes
 
- Redes de baja latencia
- Optimización extrema de la ruta de datos- Bypass del stack del kernel (DPDK, RDMA)
- Jumbo frames y tuning de MTU
- Interrupt coalescing y reducción de interrupciones
- Afinidad de IRQ / pinning de colas de NIC
- NIC offloading (checksum offload, TSO, LRO)
- User-space networking y polling dedicado
- Fibra óptica y enlaces directos de baja latencia
- Rutas determinísticas y controladas (private peering)
- Minimización de colas intermedias (buffer tuning)
- Sincronización temporal precisa entre nodos críticos
 
- SDN (Software Defined Networking)
- Control lógico central de la red- Control centralizado del ruteo
- APIs programables de red
- Network slicing y segmentación lógica
- Reconfiguración dinámica de paths
- Políticas de seguridad declarativas y auditables
- Topologías virtuales multi-tenant
- Automatización de balanceo y failover
- Integración con orquestadores (Kubernetes / NFV MANO)
- Telemetría en tiempo real para optimización
- Ajuste de QoS bajo demanda por aplicación o flujo
 
- Redes distribuidas
- Topologías sin punto único de control- Redes peer-to-peer (P2P)
- Protocolos de gossip / difusión epidémica
- Consistencia eventual en difusión de estado
- Overlays estructurados (DHT)
- Overlays no estructurados (flooding / random walk)
- Ruteo en malla y multi-hop cooperativo
- Federaciones y dominios autónomos
- Redes de borde / edge computing distribuido
- CDNs y proximidad de contenido
- Mitigación de particiones y enlaces inestables
 
- Redes tolerantes a fallo / entornos hostiles
- Redes resilientes en condiciones adversas- Ruteo tolerante a disrupciones (DTN)
- Almacenamiento intermedio store-and-forward
- Redes con enlaces intermitentes / alta latencia
- Protocolos oportunistas y entrega demorada
- Replicación redundante agresiva
- Tolerancia a particiones y reconexiones parciales
- Multipath routing resiliente
- Enlaces satelitales / RF / ad-hoc
- Autoconfiguración sin infraestructura fija
- Seguridad robusta frente a nodos no confiables
 
- Transporte moderno
- Evolución de transporte confiable y seguro- QUIC y transporte cifrado sobre UDP
- HTTP/3 sobre QUIC
- Multipath TCP (MPTCP)
- SCTP y multistreaming
- Cero retorno inicial (0-RTT / Zero-RTT)
- Control de congestión consciente de latencia (BBR)
- Offload criptográfico en el transporte
- Conexiones persistentes multiplexadas
- Migración de conexión entre interfaces/redes
- Priorización de flujos dentro de una misma conexión
 
 
- Fundamentos de redes (modelo OSI y TCP/IP)
- Modelos cliente-servidor y peer-to-peer- Arquitectura cliente-servidor tradicional- Componentes clásicos y despliegos básicos- Cliente delgado vs cliente grueso
- Servidor monolítico centralizado
- Separación front-end / back-end
- Balanceadores de carga al frente del servidor
- Escalamiento vertical vs escalamiento horizontal
- Manejo de sesiones y autenticación en servidor
- Arquitecturas multi-tier (presentación / lógica / datos)
- Caching frontal (reverse proxy)
- Alta disponibilidad con réplicas activas
- Persistencia centralizada de estado
 
 
- Componentes clásicos y despliegos básicos
- Stateless vs stateful- Manejo de estado entre solicitudes- Sesiones persistentes en memoria del servidor
- Sticky sessions y afinidad con instancia
- Almacenamiento externo de sesión (cache distribuida / KV store)
- Idempotencia y repetición segura de llamadas
- Tolerancia a reinicios y rotación de instancias
- Persistencia de contexto en el cliente (tokens firmados)
- Cookies / JWT como transporte de sesión
- Escalabilidad horizontal de servicios stateless
- Consistencia del estado compartido entre nodos
- Migración gradual desde stateful a stateless
 
 
- Manejo de estado entre solicitudes
- Microservicios y servicios desacoplados- Diseño por dominio y despliegue independiente- Servicios independientes con límites claros de responsabilidad
- API Gateway como fachada unificada
- Autenticación y cifrado mutuo (mTLS entre servicios)
- Service mesh para routing y seguridad
- Circuit breakers y tolerancia a fallos internos
- Despliegue independiente por servicio / equipo
- Observabilidad por servicio (tracing distribuido)
- Contratos explícitos (OpenAPI / protobuf)
- Bases de datos separadas por servicio
- Versionado independiente de cada servicio
 
 
- Diseño por dominio y despliegue independiente
- Comunicación síncrona vs asíncrona- Patrones de intercambio de mensajes- Request/response HTTP tradicional
- gRPC síncrono y contratos binarios
- RPC binario propietario
- Mensajería asíncrona basada en colas
- Event-driven y event sourcing
- Streaming bidireccional y tiempo real
- Retries con backoff exponencial
- Timeouts y cancelación propagada
- Garantías de entrega at-least-once / exactly-once
- Encapsulación de fallos entre servicios lentos
 
 
- Patrones de intercambio de mensajes
- Pub/Sub y colas de mensajes- Comunicación desacoplada y entrega confiable- Colas persistentes
- Topics con múltiples suscriptores
- Garantías de entrega (at-least-once / at-most-once / exactly-once)
- Particionamiento de topics y escalabilidad horizontal
- Orden de mensajes dentro de una partición
- Retención histórica y replay de eventos
- Backpressure y control de consumo
- Dead-letter queues para mensajes tóxicos
- Priorización de flujos críticos
- Aislamiento por tenant o por tipo de mensaje
 
 
- Comunicación desacoplada y entrega confiable
- Peer-to-peer- Redes distribuidas sin autoridad central- Redes sin servidor central
- Tablas hash distribuidas (DHT)
- Descubrimiento inicial (bootstrap peers)
- NAT traversal y hole punching
- Gossip / difusión epidémica
- Replicación distribuida de datos entre nodos pares
- Incentivos y reputación entre nodos
- Consistencia eventual y reconciliación
- Privacidad y anonimización en P2P
- Resistencia a censura y particiones
 
 
- Redes distribuidas sin autoridad central
- Coordinación y descubrimiento de servicios- Mecanismos para ubicar y mantener servicios disponibles- Registro de servicios (service registry)
- Heartbeats y health checks
- Descubrimiento basado en DNS
- Descubrimiento mediante sidecar / agente local
- Elección de líder y roles dinámicos (líder / seguidor)
- Bloqueos distribuidos y exclusión mutua
- Configuración distribuida dinámica
- Versionado de configuración y rollout gradual
- Relojes lógicos y control de versiones
- Reconfiguración automática tras fallos
 
 
- Mecanismos para ubicar y mantener servicios disponibles
- Patrones de resiliencia- Estrategias para resistir fallos parciales- Circuit breaker
- Bulkhead isolation (aislar recursos)
- Timeouts y reintentos controlados
- Fallbacks y degradación elegante (graceful degradation)
- Rate limiting y protección contra sobrecarga
- Autoescalado reactivo según presión
- Canary releases y blue-green deployments
- Chaos testing / fault injection
- Retries idempotentes y deduplicación
- Telemetría temprana para rollback rápido
 
 
- Estrategias para resistir fallos parciales
- Versionado y compatibilidad de interfaces- Evolución segura de contratos y APIs- Versionado de API (v1, v2, etc.)
- Compatibilidad retroactiva (backward compatibility)
- Compatibilidad hacia adelante (forward compatibility)
- Evolución de esquemas y contratos de datos
- Feature flags y toggles de comportamiento
- Deprecación gradual y ventanas de retirada
- Negociación de contenido (content negotiation)
- Escritura y lectura dual (dual write / dual read)
- Canales beta / pre-release para clientes selectos
- Sincronización de cambios entre frontend y backend
 
 
- Evolución segura de contratos y APIs
 
- Arquitectura cliente-servidor tradicional
- Consistencia y tolerancia a fallos- Teorema CAP y trade-offs- Propiedades y límites en sistemas distribuidos- Consistency (coherencia vista única de datos)
- Availability (respuesta sin error)
- Partition tolerance (sobrevivir a particiones)
- CA vs CP vs AP como decisiones de diseño
- Impacto de las particiones de red en disponibilidad
- Sistemas orientados a disponibilidad alta
- Sistemas orientados a coherencia estricta
- Trade-offs operacionales vs trade-offs teóricos
- Interpretación práctica de CAP en nubes reales
- Relación con PACELC (latencia vs consistencia)
 
 
- Propiedades y límites en sistemas distribuidos
- Modelos de consistencia- Garantías de visibilidad y orden de actualizaciones- Consistencia fuerte
- Consistencia eventual
- Consistencia causal
- Read-your-writes
- Monotonic reads / monotonic writes
- Linearizabilidad
- Consistencia secuencial (sequential consistency)
- Snapshot isolation
- Serializabilidad
- Sesgo regional / lectura local preferente
 
 
- Garantías de visibilidad y orden de actualizaciones
- Relojes y ordenamiento de eventos- Tiempo y causalidad en sistemas distribuidos- Relojes físicos
- Relojes lógicos (Lamport clocks)
- Vector clocks y orden parcial
- Versionado multiversión (MVCC)
- Orden total vs orden parcial de eventos
- Causalidad y relación happens-before
- Skew y drift de reloj físico
- Sincronización de tiempo distribuida (NTP/PTP)
- Marcas de tiempo lógicas en almacenamiento distribuido
- Resolución de conflictos basados en timestamp
 
 
- Tiempo y causalidad en sistemas distribuidos
- Consenso y replicación- Acordar un estado consistente entre múltiples nodos- Replicación primaria-secundaria (líder-seguidor)
- Replicación multi-líder (multi-master)
- Replicación sin líder (gossip / eventual)
- Raft (consenso con log replicado)
- Paxos (consenso tolerante a fallos de nodo)
- Quórums de lectura / escritura
- Write-ahead log (WAL) y replay
- Consistencia de metadatos críticos
- Reelección de líder y continuidad de servicio
- Propagación de confirmaciones y commit distribuido
 
 
- Acordar un estado consistente entre múltiples nodos
- Alta disponibilidad y failover- Diseño para continuidad operativa- Failover automático vs failover manual
- Redundancia activa-activa
- Redundancia activa-pasiva
- Balanceo de carga con health checks
- Replicación geográfica y multi-región
- Zonas de disponibilidad y dominios de fallo
- Circuit breakers y corte selectivo de dependencia
- Degradación controlada de funcionalidades
- Escalamiento automático ante degradación
- Ejercicios de DR (disaster recovery) programados
 
 
- Diseño para continuidad operativa
- Tolerancia a fallos bizantinos- Sobrevivir a nodos maliciosos o arbitrarios- Modelo bizantino vs modelo crash-stop
- Replicación tolerante a fallos bizantinos (BFT)
- PBFT y variantes de consenso bizantino
- Firmas criptográficas y autenticación de mensajes
- Quórums bizantinos
- Canales autenticados y cifrados
- Detección de nodos maliciosos / desviantes
- Reconfiguración dinámica bajo adversarios
- Costo computacional y de latencia del BFT
- Casos de uso críticos (finanzas, control de infraestructura)
 
 
- Sobrevivir a nodos maliciosos o arbitrarios
- Estrategias de recuperación- Volver a un estado sano después de un fallo- Retries con backoff exponencial
- Idempotencia en reintentos
- Reproducción de logs (replay de operaciones)
- Snapshots y checkpoints periódicos
- Rollback y roll-forward coordinado
- Re-sincronización de réplicas atrasadas
- Reconciliación de estados divergentes
- Autocuración / self-healing
- Alertas automáticas y escalamiento humano
- Pruebas y simulacros de recuperación planificada
 
 
- Volver a un estado sano después de un fallo
- Diseño de sistemas idempotentes- Operaciones repetibles sin efectos no deseados- Operaciones sin efectos secundarios repetidos
- Identificadores únicos de operación (request ID)
- Exactly-once vs at-least-once como garantía práctica
- Procesamiento transaccional distribuido
- Acciones compensatorias (compensating actions)
- Mensajería con deduplicación
- Semántica write-once
- Estados conmutativos y CRDTs
- Event sourcing con replay seguro
- Auditoría y trazabilidad de cada mutación
 
 
- Operaciones repetibles sin efectos no deseados
 
- Teorema CAP y trade-offs
- Algoritmos distribuidos- Modelos de comunicación- Sistema síncrono
- Sistema asincrónico
- Sistema parcialmente síncrono
- Canales confiables vs no confiables
- Canales FIFO vs no-FIFO
- Paso de mensajes vs memoria compartida distribuida
- Fallos por parada (crash failures)
- Fallos arbitrarios / bizantinos
 
- Difusión y broadcast- Broadcast básico
- Reliable broadcast
- FIFO broadcast
- Causal broadcast
- Total order broadcast
- Gossip / epidemical broadcast
- Árboles de difusión (spanning trees)
- Flooding y supresión de duplicados
 
- Elección de líder- Bully algorithm
- Algoritmo en anillo
- Elección basada en temporizadores
- Elección basada en prioridad / UID
- Reelección ante fallo del líder
- Elección en redes parcialmente conectadas
- Elección estable vs elección oportunista
 
- Sincronización de relojes- Cristian’s algorithm
- Berkeley algorithm
- NTP distribuido
- Relojes lógicos de Lamport
- Vector clocks
- Relojes híbridos físico-lógicos (HLC)
- Sincronización bajo latencia variable
- Estimación y corrección de skew y drift
 
- Exclusión mutua distribuida- Token ring
- Lamport mutual exclusion (mensajes con timestamp)
- Ricart-Agrawala
- Centralizado con coordinador
- Jerárquico / árbol de control
- Exclusión mutua con semánticas de quorum
- Exclusión mutua en sistemas tolerantes a fallos
 
- Consenso y commit distribuido- Two-Phase Commit (2PC)
- Three-Phase Commit (3PC)
- Paxos
- Raft
- Zab
- Quórums de lectura/escritura
- Atomic broadcast y consenso
- Linearizabilidad mediante consenso
 
- Detección de fallos- Detectores de fallos perfectos vs sospechosos
- Heartbeats
- Timeouts adaptativos
- Failure suspicion / accrual failure detectors
- Marcar nodo como lento vs caído
- Detección distribuida de particiones de red
- Reintegración de nodos recuperados
 
- Toma de snapshots globales- Algoritmo de Chandy-Lamport
- Snapshots consistentes vs inconsistentes
- Marcadores (markers) y canales de comunicación
- Estado local vs estado de canal
- Recolección de snapshots para recuperación
- Snapshots periódicos vs bajo demanda
- Checkpoint coordinado vs no coordinado
 
- Hashing consistente y particionamiento de carga- Hashing consistente básico
- Anillo de nodos
- Réplicas virtuales
- Rebalanceo incremental
- Evitar hotspots
- Rendezvous hashing
- Particionamiento por rango vs hashing
- Afinidad de datos y locality-aware routing
 
- Algoritmos tolerantes a bizantinos- Modelo bizantino (fallos arbitrarios)
- Replicación bizantina (BFT)
- PBFT (Practical Byzantine Fault Tolerance)
- Quórums bizantinos
- Acuerdos bizantinos con firmas digitales
- Resistencia a nodos maliciosos / deshonestos
- Consenso bizantino parcialmente síncrono
- Detección y exclusión de nodos corruptos
 
 
- Modelos de comunicación
- Computación paralela y vectorizada- Modelos de paralelismo- Modelo Flynn (SISD / SIMD / MISD / MIMD)
- Paralelismo de nivel de instrucción
- Paralelismo de datos
- Paralelismo de tareas
- Paralelismo pipeline
- Paralelismo masivo (massively parallel)
- Bulk Synchronous Parallel (BSP)
- SPMD (Single Program Multiple Data)
- Dataflow computing
 
- Paralelismo a nivel de datos (SIMD / SIMT)- Registros vectoriales y extensiones SIMD
- Unidades vectoriales anchas
- Operaciones empaquetadas (packed operations)
- Enmascaramiento / predicación
- Warp / wavefront execution
- Divergencia de rama
- Coalescing de memoria
- Vectorización automática vs manual
 
- Paralelismo a nivel de tareas (MIMD)- Hilos independientes
- Procesamiento asimétrico de tareas
- Workers / pools de hilos
- Gráficos de tareas (task DAGs)
- Work stealing
- Pipeline de etapas heterogéneas
- Paralelismo pipeline frente a paralelo puro
- Balanceo dinámico de carga
 
- Memoria compartida vs memoria distribuida- Memoria compartida con coherencia de caché
- NUMA
- Memoria distribuida (cluster)
- Paso de mensajes (MPI)
- RDMA y acceso remoto directo
- DSM (Distributed Shared Memory)
- Memoria unificada CPU–GPU
- Consistencia de memoria débil vs fuerte
 
- Sincronización y coordinación- Barreras
- Locks y spinlocks
- Semáforos
- Futexes
- Secciones críticas
- Atomic operations y CAS
- Reducciones paralelas
- Prefetching y fences de memoria
- Deadlock / livelock / starvation
 
- Paralelismo en GPU- SIMT (Single Instruction Multiple Threads)
- Jerarquía de hilos (grid / block / warp)
- Jerarquía de memoria (global / shared / local / constante / textura)
- Coalescing de accesos de memoria global
- Occupancy y latencia oculta
- Kernel launches
- Programación CUDA / HIP
- Tensor cores / aceleradores matriciales
- Streams y concurrencia de kernels
- Unified Virtual Addressing
 
- Rendimiento y escalabilidad- Amdahl’s Law
- Gustafson’s Law
- Speedup fuerte vs speedup débil
- Escalabilidad fuerte vs débil
- Granularidad gruesa vs fina
- Overhead de sincronización
- Contención en memoria compartida
- Afinidad de hilos / pinning
- Bandwidth vs cómputo (arithmetic intensity)
- Roofline model
 
- Patrones paralelos comunes- Map / Reduce
- Scatter / Gather
- Pipeline
- Stencil / convolución
- Reducción (sum, min, max)
- Prefetch y tiling / blocking
- Paralelización por partición de dominio
- Productor-consumidor
- Task farm / master-worker
- All-reduce / broadcast / gather / scatter en clusters
 
- Herramientas y entornos de programación paralela- OpenMP
- MPI
- CUDA
- OpenCL
- HIP / ROCm
- SYCL
- Threading Building Blocks (TBB)
- lenguajes/dominios DSL para cómputo científico
- Programación paralela en alto nivel (Ray, Dask)
- Planificadores de tareas dirigidas por dependencias
 
- Problemas típicos de concurrencia y rendimiento- Contención de locks
- Falsos compartidos (false sharing)
- Cache thrashing
- Desbalanceo de carga
- Desincronización y jitter
- Efectos NUMA
- Latencia de memoria global vs memoria cercana
- Overhead de cambio de contexto
- Divergencia de control en GPU
- Cuellos de botella secuenciales (serial bottlenecks)
 
 
- Modelos de paralelismo
- Computación en la nube y edge computing- Modelos de servicio (IaaS, PaaS, SaaS, FaaS)- IaaS (cómputo, red, almacenamiento virtualizados)
- PaaS (plataformas gestionadas para despliegue de apps)
- SaaS (aplicaciones ofrecidas como servicio)
- FaaS / serverless functions
- BaaS / MBaaS (Backend-as-a-Service / Mobile Backend-as-a-Service)
- DaaS (Data-as-a-Service)
- CaaS (Containers-as-a-Service)
- GPU / aceleradores como servicio
 
- Modelos de despliegue (nube pública, privada, híbrida, multicloud)- Nube pública
- Nube privada dedicada
- Nube híbrida
- Multicloud activa (cargas en varios proveedores)
- DR en otro cloud (disaster recovery multicloud)
- Cloud bursting
- Soberanía de datos / ubicación geográfica
- Interconexión directa entre nubes y on-prem
 
- Infraestructura como código e infraestructura declarativa- Descriptivo vs imperativo
- Plantillas declarativas
- Versionamiento de infra junto al código
- Inmutabilidad de infra
- Inyección de configuración / parametrización
- Desired state reconciliation
- GitOps
- Gestión de secretos y credenciales en IaC
 
- Automatización, orquestación y autoescalado- Provisionamiento automático de recursos
- Autoescalado horizontal y vertical
- Escalado basado en métricas de carga
- Rolling update / rolling restart
- Canary deploy / blue-green deploy
- Orquestadores de contenedores
- Pipelines CI/CD
- Infraestructuras autosanables (self-healing)
- Gestión de dependencias entre servicios
 
- Observabilidad en nubes distribuidas- Métricas (CPU, memoria, latencia, throughput)
- Logs centralizados
- Trazas distribuidas (distributed tracing)
- Mapas de dependencias entre servicios
- Detección de anomalías
- Alertas basadas en SLO/SLA
- Telemetría desde edge / edge-to-cloud
- Auditoría de eventos de infraestructura
 
- Serverless y FaaS- Funciones efímeras bajo demanda
- Facturación por ejecución / duración
- Cold start vs warm start
- Límite de tiempo de ejecución
- Integración con colas, streams y eventos
- Orquestación de funciones (state machines)
- Statefulness externo (almacenamiento externo)
- Restricciones de performance vs VMs/containers dedicados
 
- Edge computing- Procesamiento cercano a la fuente de datos
- Latencia ultrabaja en tiempo real
- Offloading parcial al cloud
- Cache y decisiones locales sin ir al core cloud
- Sincronización diferida / eventual
- Nodos perimetrales con recursos limitados
- Inferencia de ML en borde
- Gestión remota de flotas edge
- Edge-to-edge comunicación local
 
- Seguridad, cumplimiento y gobernanza- Aislamiento de tenants
- Controles de acceso multinivel (IAM)
- Cifrado en tránsito y en reposo
- Gestión de llaves (KMS / HSM)
- Cumplimiento regulatorio y auditoría
- Trazabilidad y cadena de custodia de datos
- Políticas de red cero-confianza (Zero Trust)
- Postura de seguridad continua (CSPM)
- Gestión de secretos y rotación de credenciales
- Controles de acceso por identidad de workload (no humano)
 
- Gestión de costos y optimización- Rightsizing de instancias
- Apagado de recursos inactivos
- Uso de instancias reservadas / spot / preemptibles
- Costo por entorno (dev / stage / prod)
- Cost allocation por equipo / proyecto
- Escalamiento bajo demanda vs sobreaprovisionamiento
- Compresión / tiering de datos fríos
- Optimización de egress y tránsito inter-región
- Costos de almacenamiento vs cómputo vs red
- FinOps
 
- Fiabilidad y continuidad operativa- Alta disponibilidad multi-zona / multi-región
- Replicación geográfica activa-activa
- Backup y restore probados
- Políticas de disaster recovery (RTO / RPO)
- Diseño tolerante a fallos regionales
- Health checks y failover automático
- Degradación controlada de funcionalidades
- Ingeniería del caos / fault injection
- Pruebas de conmutación y recuperación
- Gestión de incidentes y postmortems
 
 
- Modelos de servicio (IaaS, PaaS, SaaS, FaaS)
- Sistemas embebidos y RTOS- Fundamentos de sistemas embebidos- MCU vs MPU
- Periféricos integrados (GPIO, UART, SPI, I2C)
- Controladores de interrupciones
- Relojes y temporizadores hardware
- Limitaciones de memoria y consumo energético
- Firmware bare-metal
- Inicialización de hardware (boot, startup code)
- BSP (Board Support Package)
- Integración con sensores y actuadores
 
- Sistemas de tiempo real- Tiempo real duro vs tiempo real blando
- Determinismo y latencia máxima
- Scheduling de tiempo real (Rate Monotonic, EDF)
- Deadlines y jitter
- Gestión de interrupciones con prioridad
- Ejecución predecible vs throughput
- Monitorización de ejecución en tiempo real
- Análisis de peor caso (WCET)
 
- RTOS comunes y arquitectura- Núcleo de planificador en tiempo real
- Tareas / hilos en RTOS
- ISR (Interrupt Service Routine) y threading
- Colas y mailboxes en RTOS
- Semáforos y mutex con prioridad heredada
- Temporización y timers del sistema
- RTOS monolítico vs microkernel embebido
- FreeRTOS / Zephyr / VxWorks / QNX
- RT-Linux y parches de baja latencia
 
- Confiabilidad y seguridad funcional- Watchdog timers
- Redundancia y fail-safe
- Detección y recuperación ante fallos (self-check)
- Sistemas con certificación de seguridad (ISO 26262, DO-178C)
- Gestión de memoria protegida
- Aislamiento de tareas críticas
- Protección frente a fallos transitorios (EMI, radiación)
- Actualizaciones OTA seguras y verificadas
- Arranque seguro (secure boot)
- Criptografía en hardware embebido
 
- Integración con sistemas mayores- Comunicación con buses industriales (CAN, Modbus, SPI extendido)
- Gateways hacia sistemas de control distribuido
- Telemetría y registro de eventos
- Control en borde (edge) y reporte a la nube
- Sincronización con controladores superiores (PLC, SCADA)
- Protocolos de actualización remota
- Diagnóstico remoto y mantenimiento predictivo
- Seguridad en canal de control (auth, cifrado)
 
 
- Fundamentos de sistemas embebidos
- Balanceo de carga y redes de distribución de contenido (CDN)- Balanceadores de carga (L4 / L7)- Balanceo en capa 4 (TCP/UDP)
- Balanceo en capa 7 (HTTP/HTTPS)
- Balanceadores hardware vs software
- Reverse proxies
- Termination / offload TLS
- Ingress gateway
- Stateful vs stateless load balancing
- Balanceo interno (east-west) vs externo (north-south)
 
- Estrategias de distribución de tráfico- Round Robin
- Weighted Round Robin
- Least Connections
- Least Response Time
- Consistent hashing
- Sticky sessions / session affinity
- Routing por headers / path / método HTTP
- Traffic mirroring / shadow traffic
- Canary routing
- A/B testing basado en balanceo
 
- Health checks y failover- Health checks activos vs pasivos
- Verificación de puerto / protocolo
- Checks HTTP con semántica de aplicación
- Umbrales de éxito / fallo
- Eliminación automática de nodos no saludables
- Failover local vs failover entre data centers
- Fencing / quarantine de instancias inestables
- Detección de latencia degradada
- Circuit breakers en capa de red
 
- Anycast y enrutamiento geográfico- Anycast IP
- Anuncios BGP en múltiples regiones
- Redirección al punto más cercano (baja latencia)
- GeoDNS / georouting
- Latency-based routing
- Weighted routing por región
- Redundancia multi-región activa-activa
- Contención de fallos regionales
- Steering de tráfico durante incidentes
 
- CDNs (Content Delivery Networks)- Edge PoPs (Points of Presence)
- Servidores de caché perimetrales
- Cache estática (imágenes, JS, CSS)
- Caché dinámica / contenido generado
- Origin server vs edge server
- Shielding de origen
- Tokenización / URLs firmadas
- Descarga de tráfico (offload del origen)
- Limitación de egress del origen
 
- Optimización de entrega de contenido- Compresión (gzip, brotli)
- Minificación de assets
- HTTP/2 push / server hints
- HTTP/3 / QUIC
- Cache-Control / ETag / Last-Modified
- Redimensionamiento de imágenes en edge
- Optimización de video adaptativo
- Pre-caching / prefetching
- Caché por variaciones de header (Vary)
- TTLs y políticas de expiración
 
- Mitigación de ataques y protección DDoS- Rate limiting
- Filtrado L3/L4 (volumétrico)
- Protecciones L7 (HTTP floods)
- Scrubbing centers
- Desafíos / verificación del cliente
- WAF (Web Application Firewall)
- Bot management
- Bloqueo geográfico / por ASN
- Anomalía de patrón de tráfico
- Blackholing controlado / sinkholing
 
- Observabilidad y control de tráfico- Métricas de latencia, error rate y throughput
- Telemetría por ruta / servicio
- Access logs y trazas distribuidas
- Monitoreo en tiempo real por zona / PoP
- Heatmaps de tráfico
- Rate limiting adaptativo
- Circuit breaking basado en SLO
- Control dinámico de rutas
- Dashboard operacional unificado
 
- Service mesh y proxys inteligentes- Proxys sidecar por servicio
- Encriptación mTLS entre servicios
- Balanceo L7 por política declarativa
- Retries, timeouts y backoff gestionados por la malla
- Tracing distribuido automático
- Limitación de tasa por servicio / cliente
- Control de tráfico canario / blue-green
- Políticas de autorización entre servicios
- Observabilidad homogénea en microservicios
- Inyección de fallos / chaos testing integrado
 
 
- Balanceadores de carga (L4 / L7)
- Modelos de escalabilidad- Escalamiento vertical vs horizontal- Aumento de recursos en una sola instancia (CPU, RAM, IOPS)
- Límites físicos y de costo del escalamiento vertical
- Escalamiento horizontal mediante réplicas / más nodos
- Balanceadores de carga para distribuir tráfico entre réplicas
- Sesiones y manejo de estado en entornos horizontales
- Impacto en disponibilidad y tolerancia a fallos
- Compatibilidad con arquitecturas monolíticas vs distribuidas
- Saturación de base de datos como cuello de botella común
- Impacto en latencia local vs latencia entre nodos
- Estrategias híbridas (vertical hasta el límite, luego horizontal)
 
- Elasticidad y autoescalado- Escalado reactivo basado en métricas (CPU, RPS, latencia)
- Escalado proactivo / predictivo basado en patrones históricos
- Autoescalado horizontal de instancias de aplicación
- Autoescalado de pods / contenedores en orquestadores
- Autoescalado de almacenamiento y throughput I/O
- Warm-up vs cold-start al escalar dinámicamente
- Reglas de cooldown para evitar thrashing de escalado
- Escalado hacia cero en cargas intermitentes
- Límites de presupuesto / cuotas de escalado
- Coordinación entre escalado de compute, base de datos y colas
 
- Desacoplamiento mediante colas y eventos- Aislamiento entre productor y consumidor (buffer natural)
- Nivelación de picos de carga (spike smoothing)
- Procesamiento asíncrono vs respuesta síncrona
- Retries e idempotencia de mensajes procesados
- Backpressure controlado por encolamiento
- Dead-letter queues para mensajes problemáticos
- Priorización por tipo de evento / cola separada
- Event sourcing como registro de verdad
- Broadcast y fan-out a múltiples consumidores
- Riesgos: latencia eventual, orden parcial y duplicados
 
- Sharding y particionado de datos- Partición horizontal por rango / hash / geografía
- Hashing consistente y reasignación mínima
- Catálogo / router de shards vs direccionamiento implícito
- Evitar hotspots y llaves calientes
- Rebalanceo de shards en vivo y redistribución gradual
- Aislamiento de ruido entre tenants / clientes en shards distintos
- Escalado independiente de lectura y escritura
- Migración de datos entre nodos con mínimo downtime
- Monitoreo de tamaño y crecimiento desigual de shards
- Impacto en agregaciones globales y queries cross-shard
 
- Replicación geográfica y multi-región- Réplicas activas/activas vs activas/pasivas
- Replicación síncrona vs asíncrona entre regiones
- Latencia entre regiones y consistencia observable
- Enrutamiento por cercanía geográfica (geo-routing / anycast)
- Continuidad operativa ante caída regional
- Cumplimiento regulatorio y soberanía de datos
- Conflictos de escritura multi-master y reconciliación
- Failover automático y políticas de recuperación de desastres
- Distribución de contenido en el borde (edge / CDN)
- Costos de egress y optimización de tráfico inter-región
 
- Caching en múltiples niveles- Caché en cliente / navegador / app local
- Caché en edge / CDN para contenido estático y semiestático
- Caché en capa de aplicación (in-memory local)
- Caché distribuida compartida (por ejemplo, cluster KV)
- Caché en base de datos (materialized views, resultados precalculados)
- Estrategias TTL / expiración / invalidación selectiva
- Cache warming y prefetch proactivo
- Cache stampede y mitigaciones (locking / request coalescing)
- Políticas LRU / LFU / ARC según patrón de acceso
- Coherencia entre capas de caché y fuente de verdad
 
- Aislamiento de recursos y multitenancy- Aislamiento lógico por tenant (namespaces / cuentas)
- Aislamiento físico / computacional (nodos dedicados vs compartidos)
- Limitación de tasa y cuotas por tenant
- Ruido entre vecinos y fair usage
- Cifrado en reposo y en tránsito por tenant
- Separación de datos en el almacenamiento (BD por tenant vs fila marcada)
- Priorización de tráfico y calidad de servicio diferenciada
- Auditoría y trazabilidad por identidad de tenant
- Aislamiento de fallos por tenant / blast radius reducido
- Control de despliegues graduales por segmento de clientes
 
- Diseño sin punto único de falla- Redundancia de instancias de servicio (N+1, N+2)
- Balanceadores de carga en alta disponibilidad
- Replicación de datos crítica con quorum de escritura/lectura
- Eliminación de single master crítico (líder reemplazable automáticamente)
- Eliminación de dependencias no redundantes (DB única, cola única)
- Failover automático entre zonas / racks / regiones
- Despliegues blue-green / canary para evitar caídas globales
- Health checks y circuit breakers para aislar fallas
- Segmentación en dominios de fallo (blast radius controlado)
- Ejercicios de caos para validar tolerancia real
 
- Backpressure y control de flujo- Rechazo temprano / shed load bajo saturación
- Limitación de concurrencia por cola / worker / endpoint
- Ventanas deslizantes y créditos (windowing / credit-based flow control)
- Señalización de disponibilidad a productores
- Pausa / ralentización de productores de eventos
- Priorización de tráfico crítico frente a tráfico mejor-esfuerzo
- Protección contra explosión de retries en cascada
- Ajuste dinámico de tasas según latencia y cola pendiente
- Mecanismos de timeouts y cancelación propagada
- Evitar deadlocks a gran escala por presión circular
 
- Observabilidad y autosanación- Métricas de latencia, throughput, error rate y saturación
- Logs estructurados y trazabilidad distribuida por request ID
- Alertas basadas en SLO (objetivos de servicio) y SLI (indicadores)
- Mapas de dependencia entre servicios y análisis de blast radius
- Health checks continuos y remediation automática
- Reinicio / reschedule automático de workloads defectuosas
- Detección de anomalías y degradación temprana
- Rollback automático ante despliegues regresivos
- Autoaislamiento de nodos enfermos (quarantine / cordoning)
- Postmortems y aprendizaje continuo incorporado al sistema
 
- Optimización costo / rendimiento- Rightsizing de instancias y ajuste de recursos asignados
- Escalado bajo demanda vs sobreaprovisionamiento fijo
- Uso de instancias spot / preemptibles / ahorro por compromiso
- Tiering de almacenamiento (caliente vs tibio vs frío)
- Compresión, deduplicación y retención inteligente de datos
- Reducción de egress y tráfico inter-región
- Offloading de cómputo caro a aceleradores especializados
- Optimización de caché para bajar costo de lectura repetida
- Degradación controlada de features de alto costo en saturación
- Visibilidad financiera por servicio / equipo (FinOps)
 
- Evolución arquitectónica a escala- Migración de monolito a servicios / microservicios / módulos
- Separación progresiva de dominios funcionales (bounded contexts)
- Introducción de colas/eventos donde antes había acoplamiento directo
- Extracción de storage dedicado por servicio (database per service)
- Despliegues canario / blue-green para cambios de contrato
- Versionado de APIs y compatibilidad hacia atrás
- Refactorización para multirregión y alta disponibilidad
- Automatización de infraestructura e infraestructura como código
- Gestión de deuda técnica y eliminación de cuellos de botella únicos
- Gobernanza de rendimiento, seguridad y costo a medida que crece la organización
 
 
- Escalamiento vertical vs horizontal
 
- Autómatas y modelos de cómputo
7 - Prácticas del desarrollador
- Prácticas del desarrollador- Linux, entornos y automatización- Fundamentos de sistemas tipo Unix- Filosofía Unix y diseño modular
- Sistema de archivos jerárquico y rutas absolutas vs relativas
- Permisos de usuario, grupo y otros
- Propietarios, grupos y modos de archivo (r/w/x)
- Procesos y espacios de usuario vs kernel
- Señales y estados de proceso
- Pipes y redirecciones estándar (stdin, stdout, stderr)
- Scripts ejecutables y el shebang (#!/usr/bin/env ...)
- Diferencias básicas entre Linux, macOS y WSL
- Sistemas de archivos montados y puntos de montaje
 
- Comandos esenciales de línea de comando- Navegación del sistema de archivos (ls,cd,pwd,tree)
- Inspección de contenido (cat,less,head,tail,wc)
- Manipulación de archivos y directorios (cp,mv,rm,mkdir,touch)
- Búsqueda de archivos (find,locate)
- Búsqueda dentro de archivos (grep, flags comunes y regex básicas)
- Transformación de texto (cut,sort,uniq,tr,sed,awk)
- Compresión y empaquetado (tar,gzip,zip,unzip)
- Descarga y transferencia de datos (curl,wget,scp,rsync)
- Gestión de permisos y propiedad (chmod,chown,chgrp)
- Consultar ayuda y manuales (man,--help,info)
- Expansión de comodines y globbing (*,?,{})
- Historial y repetición de comandos
 
- Navegación del sistema de archivos (
- Gestión de paquetes y entornos del sistema- Gestores de paquetes del sistema (apt, dnf, pacman, brew)
- Instalación, actualización y desinstalación de paquetes
- Repositorios oficiales, extras y personalizados
- Dependencias del sistema vs dependencias de proyecto
- Bibliotecas compartidas y versiones de runtimes
- Aislamiento con contenedores ligeros y sandboxes
- Uso de herramientas polyglot (asdf,pyenv,nvm,rbenv)
- Políticas de seguridad al instalar software de terceros
- Auditoría de integridad de paquetes y firmas
- Reproducibilidad y bloqueo de versiones a nivel sistema
 
- Servicios del sistema, tareas programadas y demonios- Procesos en background y foreground
- Administración de servicios con systemd(systemctl start/stop/status)
- Units de systemd(service, timer, socket)
- Registro y reinicios automáticos de servicios
- Tareas programadas con cronycrontab
- Diferencia entre cron jobs y systemd timers
- Demonios personalizados y supervisión
- Ejecución al arranque del sistema
- Políticas de restart y watchdog de servicios críticos
- Gestión y rotación de logs de servicios en background
 
- Variables de entorno y configuración- Variables de entorno globales y locales
- Exportación y alcance (export, subshells)
- Variables estándar (PATH,HOME,SHELL, etc.)
- Rutas de búsqueda de ejecutables (PATH) y prioridad
- Archivos de inicio de shell (.bashrc,.zshrc,.profile, etc.)
- Archivos .envy configuración basada en entorno
- Separación entre secretos y configuración pública
- Inyección de variables de entorno en procesos y servicios
- Carga de variables de entorno en despliegues CI/CD
- Protección de secretos en entornos compartidos / shells multiusuario
 
- Supervisión de procesos y recursos- Listado de procesos (ps,top,htop)
- Uso de CPU, memoria y disco
- Señales a procesos (kill,kill -9,kill -HUP)
- Trazas de procesos (strace,lsof)
- Monitoreo de IO y consumo de red
- Detección de procesos colgados o runaway
- Afinidad de CPU y límites de recursos
- Limitación de recursos por proceso (ulimit)
- Aislamiento y control de consumo con cgroups / namespaces
- Detección de memory leaks y crecimiento anómalo de RSS
 
- Listado de procesos (
- Redes y puertos- Conceptos básicos de red (IP, DNS, routing)
- Inspección de interfaces de red y direcciones IP
- Resolución de nombres y lookup DNS
- Conexiones abiertas y puertos en escucha
- Testeo de conectividad (ping,traceroute,nc)
- Transferencias seguras (ssh, túneles SSH, port forwarding)
- Firewalls locales y reglas de acceso
- Servicios locales vs servicios expuestos públicamente
- Escaneo y verificación de puertos expuestos (auditoría de superficie)
- Diagnóstico de bloqueo por firewall / NAT / routing asimétrico
 
- Seguridad y control de acceso- Usuarios y grupos
- Elevación de privilegios (sudo, política de sudoers)
- Claves SSH y autenticación sin contraseña
- Permisos mínimos necesarios (principio de mínimo privilegio)
- Gestión de llaves privadas y públicas
- Almacenamiento seguro de secretos
- Prevención de ejecución arbitraria (no ejecutar scripts ciegamente)
- Aislamiento de procesos y sandboxing
- Hardening básico del sistema y superficies de ataque
- Auditoría de acceso y rotación periódica de credenciales
 
- Automatización y scripting en la línea de comando- Alias y funciones de shell
- Scripting en Bash y shells compatibles
- Variables, argumentos posicionales y retorno de códigos de salida
- Condicionales y loops en shell
- Procesamiento batch de archivos
- Pipelines encadenados y composición de herramientas pequeñas
- Scripts idempotentes y repetibles
- Manejo de errores y set -euo pipefail
- Interoperabilidad entre shell y otros lenguajes (Python, awk, etc.)
- Ejecución remota de scripts
 
- Personalización del entorno de trabajo- Prompt personalizado y contexto en tiempo real
- Uso de tmux/multiplexores de terminal
- Historial persistente y búsqueda incremental
- Autocompletado avanzado y sugerencias contextuales
- Snippets reutilizables de shell
- Navegación rápida de proyectos y bookmarks de rutas
- Diferencias entre shells (bash, zsh, fish)
- Búsqueda global de símbolos/código desde terminal
- Sincronización y versionado de dotfiles entre máquinas
- Mostrar rama git/estado CI/estado de despliegue en el prompt
 
- Diagnóstico de rendimiento- Cuellos de botella de CPU
- Cuellos de botella de memoria y swapping
- Latencia de disco y uso de IOPS
- Bloqueos por IO vs bloqueo por red
- Perf counters y perf tracing del kernel
- Benchmarks reproducibles
- Análisis de latencia en servicios en segundo plano
- Perfilado de kernel y userland (perf/ftrace/eBPF)
- Pruebas de throughput/red (iperf, etc.)
- Línea base histórica de rendimiento para comparación
 
- Auditoría del sistema y logs- Logs del sistema (journalctl,/var/log)
- Rotación y retención de logs
- Niveles de severidad y filtrado
- Correlación entre eventos de sistema y fallas de servicio
- Detección de patrones de error recurrentes
- Registro de accesos y actividad sospechosa
- Trazabilidad y evidencia para post-mortems
- Alertas tempranas y monitoreo continuo
- Centralización y reenvío de logs a sistemas SIEM
- Retención para cumplimiento normativo y forense
 
- Logs del sistema (
 
- Fundamentos de sistemas tipo Unix
- Fundamentos de lenguajes de programación- Ver rutas de aprendizaje de lenguajes de programación- Python
- JavaScript / TypeScript
- Rust
- Bash / shell scripting
- Go
- Java / JVM
- C / C++
- Kotlin
- SQL y lenguajes de consulta
- Lenguajes orientados a sistemas distribuidos / backend de alto rendimiento
 
- Compiladores, intérpretes y construcción de lenguajes- Análisis léxico, análisis sintáctico, análisis semántico
- Representación intermedia (IR) y optimización
- Generación de código y backend
- Enlace y carga (linking / loading)
- Intérpretes de árbol y máquinas virtuales
- Compilación JIT vs AOT
- Bootstrapping de compiladores
- Generadores léxicos y parsers (lexer/parser generators)
- Optimizaciones específicas de arquitectura (registro, cache, vectorización)
- Administración de memoria y GC en tiempo de ejecución
 
- Diseño de lenguajes- Semántica operacional, denotacional y axiomática
- Visibilidad y alcance léxico / dinámico
- Mutabilidad vs inmutabilidad
- Evaluación estricta vs evaluación perezosa
- Transparencia referencial
- Efectos laterales y efectos controlados
- Seguridad de tipos y memoria
- DSLs (lenguajes específicos de dominio)
- Módulos, encapsulación y control explícito de interfaz pública
- Seguridad de memoria, aislamiento y capacidad de sandboxing
 
- Sintaxis y estructuras básicas- Expresiones y operadores
- Declaraciones y bloques
- Precedencia y asociatividad
- Literales y construcción de valores
- Comentarios y directivas
- Importación de símbolos y alcance de nombres
- Sombra de variables (shadowing)
- Declaración de variables con distintos niveles de mutabilidad (const,let,var)
- Sintaxis para estructuras literales (objetos, dicts, records)
- Reglas de formato/indentación significativa (offside rule)
 
- Tipos de datos y abstracción de datos- Primitivos escalares (numéricos, booleanos, caracteres)
- Estructuras compuestas (registros, structs, tuples)
- Colecciones (listas, arreglos, diccionarios, mapas)
- Tipos algebraicos (suma y producto)
- Enumeraciones etiquetadas
- Tipos abstractos de datos (ADT)
- Encapsulación de representación interna
- Tipos opción / tal vez (Option, Maybe)
- Genéricos paramétricos en estructuras de datos reutilizables
- Tipos resultado / error seguros para señalizar fallos
 
- Control de flujo (condicionales, bucles, manejo de ramificaciones)- if / else / switch / match
- while / for / foreach
- Pattern matching estructural
- Cortocircuito lógico
- Break / continue / return
- Goto y saltos estructurados
- Manejo explícito de ramificaciones y guard clauses
- Abstracciones de control tipo map/filter/reduce
- Excepciones como salto no local
- Pattern guards, backtracking y ramificación declarativa
 
- Funciones, cierres y paso de datos- Funciones de primera clase y funciones anónimas
- Cierres (closures) con captura léxica
- Paso por valor, paso por referencia, paso por nombre
- Currificación y aplicación parcial
- Recursión directa y recursión de cola
- Funciones variádicas
- Callbacks y funciones de orden superior
- Inlining y optimización de funciones pequeñas
- Semántica de movimiento / copia (move semantics / borrow)
- Paso de datos inmutable vs mutable controlado
 
- Paradigmas funcionales- Inmutabilidad
- Funciones puras
- Evaluación perezosa
- Pattern matching
- Tipos algebraicos y sum types
- Mónadas, funtores, applicatives
- Efectos controlados y IO monádico
- Transformaciones sin estado compartido
- Estructuras de datos persistentes
- Programación reactiva funcional y streams declarativos
 
- Programación orientada a objetos (clases, interfaces, herencia, composición)- Clases y objetos
- Encapsulación y visibilidad
- Herencia simple y múltiple
- Polimorfismo de subtipos
- Interfaces y contratos
- Composición sobre herencia
- Mixins y rasgos (traits)
- Métodos virtuales y despacho dinámico
- Metaclases y reflexión orientada a objetos
- Objetos inmutables y value objects (semántica por valor)
 
- Organización en módulos y paquetes- Módulos y namespaces
- Imports / exports explícitos
- Control de visibilidad pública / privada / interna
- Empaquetado y distribución
- Versionado semántico
- Resolución de dependencias
- Árboles de dependencias y deduplicación
- Separación lógica por capa o dominio
- Publicación en registros de paquetes (npm, PyPI, crates.io)
- Compatibilidad binaria / estabilidad de ABI en librerías compartidas
 
- Tipado estático y anotaciones de tipo- Tipado estático vs tipado dinámico
- Inferencia de tipos
- Polimorfismo paramétrico
- Polimorfismo ad-hoc (sobrecarga)
- Tipos nominales vs tipos estructurales
- Genéricos
- Tipos dependientes
- Propagación de null safety / tipos opción
- Mutabilidad tipada e inmutabilidad tipada
- Nullability, flow-sensitive typing y refinamiento de tipos en tiempo de análisis
 
- Manejo de errores y excepciones- Excepciones verificadas vs no verificadas
- Propagación de excepciones
- Tipos resultado (Result, Either)
- Valores centinela y códigos de error
- Panic / abortar ejecución
- Reintentos y recuperación
- Limpieza garantizada post-error
- Retries con backoff y circuit breakers en lógica de negocio
- Logging estructurado de fallos y trazas
- Políticas de resiliencia y aislamiento de fallos
 
- Gestión estructurada de recursos (por ejemplo, scopes y contextos controlados)- RAII
- Destructores / finalizers
- with / using / defer
- Propiedad y préstamo (ownership / borrowing)
- Regiones de vida (lifetimes)
- Recolección de basura
- Pools de recursos
- Reutilización de conexiones y pools de sockets/DB
- Garantías de liberación aun con excepciones
- Recolección determinista vs no determinista
 
- Iteradores, generadores y secuencias consumibles- Iteradores internos y externos
- Generadores con yield
- Corutinas cooperativas
- Secuencias lazy
- Streams y pipelines de datos
- Backpressure y consumo incremental
- Iteración paralela y concurrente
- Iteradores infinitos / streams sin fin
- Materialización diferida y batching
- Generadores con control de flujo y cancelación
 
- Metaprogramación y reflexión- Macros en tiempo de compilación
- Transformación de AST
- Reflection en tiempo de ejecución
- Anotaciones y atributos
- Generación de código (codegen)
- Plantillas / templates genéricas
- Meta-objetos y metaclases
- eval y ejecución dinámica
- Programación orientada a aspectos (AOP)
- Generación automática de SDKs / clientes a partir de contratos
 
- Serialización y deserialización de estructuras- JSON
- XML
- Representaciones binarias (Protocol Buffers, MessagePack)
- Marshaling / unmarshaling
- Versionado de mensajes
- Esquemas y validación
- Compatibilidad retroactiva y hacia adelante
- Normalización de datos y canonical forms
- Compresión y cifrado del payload serializado
- Evolución de esquema sin downtime ni pérdida de datos
 
- Estilo, convenciones y mantenibilidad del código- Convenciones de nombres
- Formato automático y linters
- Documentación integrada y autodocumentación
- Pruebas unitarias y de integración
- Contratos y aserciones
- Revisión de código
- Refactorización continua
- Control de complejidad ciclomática
- Gestión de deuda técnica
- Automatización de refactor y actualización de sintaxis / APIs obsoletas
 
 
- Ver rutas de aprendizaje de lenguajes de programación
- Herramientas y productividad técnica- Entornos aislados y gestión de dependencias- Entornos virtuales por proyecto
- Bloqueo de versiones y archivos de lock
- Reproducibilidad entre máquinas
- Instalación determinista vs instalación flotante
- Aislamiento de intérpretes y runtimes
- Contenedores ligeros para pruebas locales
- Dependencias de sistema vs dependencias de aplicación
- Reproducibilidad en CI/CD y ambientes efímeros
- Pinning de versiones multiplataforma
- Auditoría y escaneo de vulnerabilidades en dependencias
 
- Control de versiones de configuraciones y datos- Versionar configuración del entorno (dotfiles)
- Backups rastreables y reversibles
- Historial de cambios de infraestructura
- Tratamiento de archivos binarios y datos pesados
- Plantillas de configuración parametrizadas
- Manejo de secretos fuera del repositorio
- Versionado de secretos cifrados gestionados (vaults)
- Políticas de retención y expiración de backups
- Control de drift entre infra declarada y estado real
- Auditoría de cambios de acceso / privilegios
 
- Plantillas de proyectos y generación de esqueletos de servicio- Estructuras mínimas recomendadas por tipo de proyecto
- Bootstrapping automático de nuevos repos
- Convenciones de nombres y layout
- Metadata inicial (licencia, README, CI básica)
- Configuración inicial de linting y formateo
- Patrones estándar de logging y manejo de errores
- Versionado inicial y numeración base
- Instrumentación y observabilidad mínima (métricas, logs)
- Chequeo de seguridad inicial (escaneo de dependencias)
- Plantillas de pruebas y cobertura mínima aceptable
 
- Ejecutores de tareas y automatización repetible- Makefiles y targets convencionales
- Scripts de automatización de flujo de desarrollo
- Pipelines locales para build/test/lint
- Orquestación de pasos dependientes
- Automatización de despliegues internos
- Reglas auto-documentadas (make help)
- Jobs reproducibles en distintos entornos
- Pipelines locales equivalentes a lo que corre en CI
- Empaquetado de tareas en contenedores locales
- Caching de resultados intermedios para acelerar iteración
 
- Documentación viva y navegable- Documentación que se genera desde el código
- Documentación que se valida con tests
- Requisitos de instalación y setup reproducible
- Ejemplos ejecutables y notebooks de demostración
- Tablas de verdad de comportamiento esperado
- Diagramas de arquitectura y flujos de datos
- Versionado de la documentación junto al código
- Versionado de docs alineado a cada release
- Catálogo interno de servicios / APIs
- Runbooks operacionales y manuales de intervención (SRE playbooks)
 
- Creación de herramientas de línea de comando para flujos internos- Interfaces consistentes y autodescriptivas
- Estándares para flags, subcomandos y --help
- Manejo de logs y salida estructurada
- Códigos de salida y manejo de errores
- Scripts utilitarios para equipos completos
- Distribución interna de binarios y scripts
- Empaquetado en un solo ejecutable
- Autenticación y manejo seguro de credenciales
- Distribución multiplataforma y binarios firmados
- Telemetría opcional y métricas de uso interno
 
- Integración y configuración avanzada del entorno de desarrollo- Configuración de editores y extensiones críticas
- Integración con linters y formateadores
- Integración con depuradores
- Integración con analizadores de performance
- Ajustes de snippets y refactors automáticos
- Integración con gestores de tareas / issue trackers
- Estándares de workspace compartido en equipos
- Sincronización de configuraciones entre dispositivos / equipo
- Accesibilidad del entorno dev (temas, contraste, legibilidad)
- Scripts de onboarding para nuevos desarrolladores
 
- Perfilado y depuración interactiva- Depuración paso a paso
- Inspección de estado interno en runtime
- Breakpoints condicionales
- Análisis de memoria en ejecución
- Perfilado de CPU y hot paths
- Perfilado de IO / red
- Recolección de volcados (core dumps) y post-mortems
- Heap dumps y diagnóstico de fugas de memoria
- Trazas de sistema en producción de manera segura / limitada
- Comparación histórica entre perfiles para detectar regresiones
 
- Chequeo estático de tipos y análisis estático- Tipado gradual y contratos de interfaz
- Análisis de rutas de ejecución inalcanzables
- Detección temprana de errores comunes
- Revisión automática de convenciones y estilo
- Seguridad: análisis de uso inseguro de datos externos
- Reportes automáticos en CI
- Integración del análisis estático con el editor
- Modelado de amenazas de entrada no confiable
- Alertas de APIs obsoletas / deprecated
- Reportes de cumplimiento y requisitos regulatorios
 
- Formateo automático y validaciones previas al commit- Formateadores automáticos de código
- Linters de estilo y consistencia
- Validación de convenciones de nombres
- Validación de imports, dependencias y licencias
- Revisión rápida de errores obvios antes de subir cambios
- Normalización de finales de línea y codificación de texto
- Hooks locales (pre-commit) compartidos en el equipo
- Escaneo de secretos en el commit
- Validación automática de formato de mensaje de commit
- Smoke tests locales antes de push
 
- Plantillas de integración continua y entrega continua- Pipelines de build y test
- Linting y análisis estático en CI
- Escaneos de seguridad automatizados
- Publicación automática de artefactos
- Deploy automatizado en entornos intermedios
- Checks de calidad antes de merge
- Versionado automático y etiquetado de release
- Deploy canario automatizado
- Rollback automático basado en alertas SLO
- Publicación automática de changelog / docs junto al release
 
- Entornos de desarrollo reproducibles y remotos- Desarrollo en contenedores
- Entornos efímeros por rama
- Dev environments remotos y cloud workspaces
- Sincronización de estado local/remoto
- Aislamiento de recursos pesados (GPU, bases de datos, colas)
- Simulación local de servicios externos
- Políticas de consistencia entre dev / staging / prod
- Depuración remota con breakpoints sobre entornos cloud
- Auditoría y control de acceso a entornos compartidos
- Limpieza y rotación automática de entornos efímeros viejos
 
 
- Entornos aislados y gestión de dependencias
- Control de versiones y colaboración- Fundamentos de control de versiones distribuido- Commits como snapshots inmutables
- Árbol de commits y DAG de historial
- Remotos, clones y forks
- Staging area e índice
- Rastrear cambios vs rastrear archivos nuevos
- Ignorar archivos temporales y secretos
- Reescritura de historial local vs remoto
- Integridad mediante hashes criptográficos y firmas
- Ramas locales vs ramas remotas con tracking
- Recuperación de estados previos (reflog / restore)
 
- Estrategias de ramificación- Trunk-based development
- Feature branches
- Release branches y hotfix branches
- Branches de soporte a largo plazo
- Flujos de integración frecuente vs integración tardía
- Control de estabilidad en ramas críticas
- Relación entre ramas y entornos desplegados
- Uso de feature flags vs ramas de larga vida
- Release trains / cadencia fija de entregas
- Limpieza de ramas zombies / ramas huérfanas
 
- Rebase, merge, cherry-pick y manejo de trabajo en paralelo- Fast-forward merge vs merge commit
- Rebase interactivo para limpiar historial
- Reescritura de mensajes y squash de commits
- Cherry-pick de cambios aislados
- Backport de fixes a ramas antiguas
- Sincronizar ramas divergentes
- Evitar pérdida de trabajo en paralelo
- Evitar merges recursivos muy complejos mediante división temprana
- Preservar autoría y metadata de los cambios
- Riesgos de rebase en ramas compartidas vs merge tradicional
 
- Resolución de conflictos- Tipos de conflictos comunes
- Conflictos en código vs conflictos en archivos de configuración o lockfiles
- Herramientas de merge asistido
- Buenas prácticas para resolver conflictos legibles
- Confirmación y prueba después de resolver conflictos
- Minimizar conflictos mediante división de cambios
- Documentar decisiones tomadas durante la resolución
- Automatización parcial con merge drivers personalizados
- Políticas de decisión cuando hay conflicto funcional / semántico
- Validación de build y tests antes de dar por cerrado el conflicto
 
- Convenciones de commits y gestión semántica de versiones- Mensajes de commit claros y estructurados
- Separar cambios funcionales de cambios cosméticos
- Commits atómicos y reversibles
- Referencias a issues / tickets
- Commits de refactor vs commits de feature vs commits de fix
- Convenciones de prefijos y categorías de cambios
- Relación entre commits y notas de release
- Commits firmados / verificables
- Separar cambios funcionales y refactors en PRs distintos
- Asociación entre commits y trazabilidad legal / cumplimiento
 
- Versionado semántico y etiquetado de lanzamientos- Mayor / menor / parche
- Cambios incompatibles y releases mayores
- Cambios compatibles y releases menores
- Fixes urgentes y releases de parche
- Pre-releases y etiquetas de estabilidad
- Tags firmados y verificables
- Publicación de changelogs
- Estrategias de deprecación gradual de APIs
- Compatibilidad binaria / ABI en librerías
- Herramientas automáticas de bump de versión y tagging
 
- Gestión de submódulos, monorepos y multi-repos- Submódulos y dependencias versionadas
- Sincronización de versiones entre repositorios
- Monorepos con múltiples servicios
- Coordinación de cambios entre múltiples paquetes
- Herramientas para mantener consistencia interna
- Ventajas y costos de monorepo vs multi-repo
- Estrategias de permisos y propiedad de código
- Sincronización de dependencias en monorepos grandes
- Versionado coordinado de contratos / APIs internas
- Políticas de visibilidad / permisos por carpeta o módulo
 
- Hooks y automatización del flujo de trabajo- Hooks locales (pre-commit, pre-push)
- Hooks del servidor (validaciones en el remoto)
- Enforcers de formato y estilo
- Validación de firmas y políticas de seguridad
- Rechazo automático de pushes inválidos
- Generación automática de documentación y changelogs
- Disparadores de CI/CD basados en eventos de repositorio
- Escaneo de vulnerabilidades en dependencias al hacer push
- Enriquecimiento automático del PR con contexto adicional
- Auditoría continua de cumplimiento de políticas internas
 
- Integración con revisión de código e integración continua- Pull requests y merge requests
- Revisión por pares y ownership de módulos
- Checks automáticos en cada PR
- Gatekeepers y responsabilidades de aprobación
- Políticas para cambios urgentes
- Sincronización entre ramas y pipelines de CI
- Validación de seguridad y cumplimiento
- Rotación de revisores y balanceo de carga de review
- Métricas de lead time y tiempo de revisión
- Pruebas de performance / carga en PRs críticos
 
- Políticas de revisión y ramas protegidas- Ramas protegidas y restricciones de push
- Requisitos mínimos de revisión
- Reglas de aprobación obligatoria
- Firmas requeridas y verificación de autoría
- Control de calidad previo a merge
- Registros de quién aprobó qué cambio
- Aprobaciones condicionadas a tests y cobertura
- Políticas distintas según criticidad del repositorio
- Requerir builds reproducibles / verificables
- Auditoría de cambios en configuración sensible / de seguridad
 
- Auditoría del historial y trazabilidad de cambios- Análisis de quién cambió qué y cuándo
- Blame y atribución de líneas de código
- Revertir versiones específicas de forma segura
- Reconstrucción de la línea temporal de un bug
- Cumplimiento normativo y auditorías externas
- Huellas criptográficas y firmas GPG
- Trazabilidad entre código, decisiones y producción
- Reconstrucción de incidentes de seguridad a partir del historial
- Evidencia para certificaciones y cumplimiento legal
- Conservación y archivado de ramas históricas / snapshots estables
 
 
- Fundamentos de control de versiones distribuido
 
- Linux, entornos y automatización
8 - Lenguajes de Programación
8.1 - Python
- Introduction- History of Python- Origins and development by Guido van Rossum (1989–1991)
- Evolution from Python 1.x → 2.x → 3.x
- Design philosophy (PEP 20 — The Zen of Python)
- Open source governance and the Python Software Foundation (PSF)
- Python Enhancement Proposals (PEPs) and community process
- Major milestones (Unicode, async, typing, pattern matching)
 
- Python Versions and Compatibility- Python 2 vs Python 3 differences and migration
- Maintenance and end-of-life policies
- Long-term support (LTS) versions
- Semantic versioning and release cadence
- Version detection (sys.version,platform.python_version())
- Backward and forward compatibility (PEP 563, PEP 585)
 
- Installing Python- Official installers (python.org, Microsoft Store, Homebrew, apt, dnf)
- Platform-specific installation (Windows, macOS, Linux)
- Source builds and configuration options
- Multiple Python versions and environment isolation
- Verifying installation and PATH configuration
- Package managers (apt,brew,choco,scoop)
- Alternative distributions (Anaconda,Miniconda,ActivePython)
 
- Running Python Scripts and REPL- REPL basics (python,python -i,exit())
- Script execution (python script.py,python -m module)
- Interactive debugging and inspection (help(),dir())
- Command-line flags and options (-O,-B,-m,-X)
- Shell integration (ipython,bpython,ptpython)
- Jupyter notebooks and interactive kernels
- Input/output redirection and pipes
 
- REPL basics (
- IDEs and Code Editors- Full IDEs (PyCharm,VS Code,Spyder,Thonny)
- Lightweight editors (Sublime Text,Atom,Vim,Emacs)
- REPL integration and interactive terminals
- Code completion and IntelliSense
- Linters and formatters integration
- Debugging tools and breakpoints
- Notebooks and mixed-language environments (Jupyter,Colab)
 
- Full IDEs (
- Virtual Environments- Environment creation (venv,virtualenv)
- Activation and deactivation
- Project isolation and dependency management
- Environment configuration files (pyvenv.cfg)
- Integration with editors and build tools
- Cross-platform management (conda,tox,nox)
- Reproducibility and sharing (requirements.txt,lockfiles)
 
- Environment creation (
- Package Management (pip)- Installing, upgrading, uninstalling packages (pip install)
- Requirements files (requirements.txt, constraints)
- Package discovery and search (pip search,pip index)
- Local and editable installs (pip install -e)
- Dependency resolution (pip check,pipdeptree)
- Source distributions vs wheels
- Virtual environment integration
- Caching and offline installs (pip download,pip cache)
- Custom indexes and mirrors (--index-url,--extra-index-url)
- Package auditing and signing (pip-audit,hash-checking-mode)
 
- Installing, upgrading, uninstalling packages (
 
- History of Python
- Fundamentals- Basic Data Types- Variables and assignments- Declaration and initialization
- Dynamic typing and rebinding
- Variable lifetime and scope
 
- Booleans (bool, logical evaluation rules)
- Numeric types- int(arbitrary precision, base conversions)
- float,- decimal,- fractions
- complex(real/imaginary parts, polar form)
 
- Strings, multiline strings, raw strings- String creation and immutability
- Indexing, slicing, concatenation, repetition
- f-strings, interpolation, and formatting
- Unicode handling and encoding basics
 
- Objects and mutability- Identity vs equality (isvs==)
- Mutable vs immutable built-ins
- Copy semantics (copy,deepcopy)
 
- Identity vs equality (
- Noneand sentinel values- Null semantics and truthiness
- Sentinel patterns for optional behavior
 
- Hashables and immutability- Requirements for dict/set keys
- Custom hash implementation (__hash__,__eq__)
 
- Type conversion and coercion- Implicit vs explicit casting
- Numeric promotions
- Common built-ins (int(),float(),str(), etc.)
 
 
- Variables and assignments
- Operators- Arithmetic (+,-,*,/,//,%, ``)
- Comparison (==,!=,<,>,<=,>=)
- Logical (and,or,not)
- Bitwise (&,|,^,~,<<,>>)
- Identity (is,is not)
- Membership (in,not in)
- Assignment and augmented assignment (+=,-=, etc.)
- Walrus operator (:=, PEP 572)
- operatormodule (functional forms of ops)
- delstatement (object deletion and reference removal)
- Operator precedence and associativity
- Short-circuit evaluation behavior
 
- Arithmetic (
- Control Flow- Conditionals (if,elif,else)
- Loops (for,while,for-else,while-else)
- Control statements (pass,continue,break)
- match/ structural pattern matching (PEP 634–636)- Literal, sequence, mapping, and class patterns
- OR-patterns and guards (ifclauses)
 
- Loop control flags and sentinel conditions
 
- Conditionals (
- Functions- Namespaces and variable lookup rules
- Scopes: local, global, nonlocal
- Function definition and return semantics
- Default argument values and evaluation timing
- Keyword and positional arguments
- Special parameters (*args,kwargs,/,*)
- Argument unpacking (iterables and mappings)
- Lambda and anonymous functions
- Function attributes (__name__,__doc__,__defaults__,__annotations__)
- Closures and free variables
- Higher-order functions and decorators (intro)
- Callable objects and partial application
 
- Exceptions- try,- except,- else,- finallyblocks
- raiseand re-raising
- Custom exceptions (inheritance from Exception)
- Exception chaining (raise … from …)
- Exception groups (PEP 654)
- Exception notes (add_note)
- Context and traceback objects (sys.exc_info,traceback)
- Common built-in exceptions (ValueError,TypeError, etc.)
- Suppressing exceptions (contextlib.suppress)
 
- Builtins- Keywords (keywordmodule)
- Built-in functions (len,range,map,filter, etc.)
- Constants- True,- False,- None
- NotImplemented
- Ellipsis(- ...)
- __debug__
 
- Built-in types (int,float,str,list,dict, etc.)
- Built-in exceptions (hierarchy and usage)
- Standard type hierarchy and object model
 
- Keywords (
- Modules- Import system (absolute, relative, from,*, aliasing)
- Search paths and environment (sys.path,PYTHONPATH)
- Module inspection (dir,help,vars,globals,locals)
- Basic standard modules- math,- cmath
- random
- os,- pathlib
- sys
- datetime,- time
- functools,- itertools
- json,- re,- collections
 
 
- Import system (absolute, relative, 
 
- Basic Data Types
- Structures and data manipulation- Data Structures- Lists- Creation and initialization
- Indexing and slicing
- Mutability and in-place operations
- Methods (append,extend,insert,pop,remove,clear)
- Sorting (sort,sorted, key functions, stability)
- Membership and iteration
- Copying and references
 
- Stacks (list,collections.deque)- LIFO principle
- Push/pop operations
 
- Queues (queue.Queue,collections.deque)- FIFO principle
- Thread-safe queues (queue,multiprocessing.Queue)
 
- Deques (collections.deque)- Bidirectional operations
- Rotation and indexing
- Thread safety
 
- Tuples- Immutability and performance
- Named tuples (collections.namedtuple,typing.NamedTuple)
- Tuple packing and unpacking
 
- Sets- Unique element storage
- Set operations (union, intersection, difference, symmetric difference)
- Frozen sets
- Membership and comprehensions
 
- Dicts and mappings- Key-value pairs
- Dictionary methods (get,pop,update,items,keys,values)
- Dictionary views and iterators
- Default dicts (collections.defaultdict)
- OrderedDict, ChainMap, Counter
- Dictionary comprehensions
 
- Unpacking and extended unpacking- Parallel assignment
- *and `` unpacking in function calls and literals
 
- Comparison between data structures- Performance considerations (lookup, insertion, order)
- Mutability, hashability, and ordering
 
- Copying and views
- Shallow vs deep copy
- copymodule
- Views (dict.items(),setviews)
 
- Lists
- Iterators and Generators- Sequences and iteration protocol
- Iterator vs iterable
- Built-in functions: iter,next,len,reversed
- Custom iterators (__iter__,__next__)
- Generators and yield,yield from
- Generator expressions and lazy sequences
- Infinite iterators (itertools.count,cycle,repeat)
- Slices (slice,itertools.islice)
- Lazy evaluation and memory efficiency
- Generator cleanup and StopIteration
 
- Comprehensions- List comprehensions
- Set comprehensions
- Dict comprehensions
- Nested comprehensions
- Conditional comprehensions (ifandif-else)
- Generator expressions vs comprehensions
- Performance and readability trade-offs
 
- String Manipulation- String operations- Concatenation (+)
- Multiplication (*)
- Membership (in,not in)
- Slicing and indexing
 
- Concatenation (
- Formatting and interpolation- f-strings
- .format()
- Old-style %formatting
- string.Template
 
- String methods (split,join,replace,strip,startswith,endswith)
- Bytes and bytearrays (bytes,bytearray, encoding/decoding)
- Format specification mini-language
- Utilities (textwrap,string,re,difflib)
- Unicode and encodings- unicodedata, normalization (NFC, NFD, NFKC, NFKD)
- UTF-8, UTF-16, Latin-1, etc.
 
- uuidmodule
- Advanced operations (str.translate,maketrans, case folding)
 
- String operations
- Regular Expressions- resyntax (groups, lookahead, lookbehind, backreferences)
- Flags (IGNORECASE,MULTILINE,DOTALL,VERBOSE)
- remodule methods (- search,- match,- findall,- split,- sub,- compile)
- Regex objects and performance
- Third-party regexmodule (Unicode categories, recursion, timeouts)
- Comparison with parsing libraries- fnmatchand- glob
- parse
- shlexand- tokenize
- stringmethods vs regex trade-offs
 
 
- Files- File system access- pathlib(modern path interface)
- osand- os.path
- File existence, metadata, and permissions (stat)
 
- File I/O operations- open,- close,- read,- write,- append,- seek
- Context managers (with)
- Binary vs text modes
 
- Basic file formats- .ini/ config (- configparser)
- .env(dotenv libraries)
- .toml(- tomllib,- tomli,- tomlkit)
- .csv(- csv,- pandas)
- .json(- json,- orjson,- ujson)
- .sqlite3(SQL databases)
 
- Serialization- struct(binary data)
- codecs
- pickle,- dill,- cloudpickle
- marshal
- base64,- binascii
 
- Temporary files (tempfile)
- Compression and archiving- zip/deflate (zipfile)
- gzip
- bzip2
- lzma/lzma2
- lz4
- xz
- zstd
- tar (tarfile)
 
- zip/deflate (
- File permissions and metadata (os.stat,chmod,access)
- Binary file handling (struct,memoryview,array)
 
- File system access
- Specific Files- Markup- HTML (html,html.parser,BeautifulSoup)
- XML (xml.etree.ElementTree,lxml)
 
- HTML (
- Document and ebook- PDF (PyPDF2,fitz)
- DOCX (python-docx)
- EPUB (ebooklib)
 
- PDF (
- Calendar and scheduling- ICS (ics,icalendar)
- CSV-based planners
 
- ICS (
- Mailing and messaging- email,- smtplib,- imaplib
- eml,- msgparsing
 
- Image processing- PIL/Pillow
- OpenCV
- imageio,- matplotlibfor I/O
 
- Audio processing- wave,- aifc,- sunau
- pydub,- audioread,- soundfile
 
- Video handling- cv2
- moviepy
- ffmpeg-python
 
- Security and cryptography- ssl,- hashlib,- secrets,- hmac
- Certificate and key handling
 
- Geographic and spatial data- GeoJSON
- shapefile,- fiona,- shapely,- geopandas
 
 
- Markup
- Time and Date- datetimeand- timemodules
- calendarmodule
- Time zones (zoneinfo,pytz)
- Time arithmetic (timedelta, rounding, truncation)
- Parsing and formatting dates (strptime,strftime,dateutil)
- High-resolution timers (time.perf_counter,process_time,monotonic)
- Scheduling and delays (sleep,sched,asyncio.sleep)
- Measuring performance (timeit,perf_counter_ns)
- Timestamp conversion and epoch time
 
 
- Data Structures
- Structured and Modular Programming- Object-Oriented Programming (OOP)- Classes and objects- Defining and instantiating classes
- The __init__and__new__methods
- The object model and __class__attribute
 
- Attributes and methods- Class vs instance attributes
- Attribute lookup order and MRO
- Attribute hiding and naming conventions (_,__)
- Dynamic access (getattr,setattr,delattr,hasattr)
 
- Encapsulation and abstraction- Private vs public members (naming conventions)
- Getters, setters, and deleters (@property)
- Read-only attributes
 
- Inheritance- Single and multiple inheritance
- super()and cooperative MRO
- Method overriding and extension
- Abstract base classes (abcmodule)
- Mixins and shared behavior
- Composition vs inheritance
 
- Class mechanics- __slots__and memory optimization
- Metaclasses and dynamic class creation
- type()and runtime class manipulation
- typesmodule utilities
 
- Special / magic / dunder methods- __repr__,- __str__,- __len__,- __getitem__, etc.
- Operator overloading (__add__,__eq__, etc.)
- Context management (__enter__,__exit__)
- Callable objects (__call__)
- Iteration protocols (__iter__,__next__)
 
- Advanced typing and design- Generics and typing.Generic
- Protocols (PEP 544)
- Covariance and contravariance
- Duck typing and structural subtyping
- Casting (typing.cast)
 
- Generics and 
- Utilities and modern OOP helpers- dataclasses(auto-generated methods, immutability)
- attrs(third-party library)
- pydantic(data validation models)
- enum(enumerations and flag enums)
- collections.abc(interfaces for containers)
 
 
- Classes and objects
- Decorators- Function decorators- Basic decorator syntax
- Multiple decorators
- @staticmethod,- @classmethod,- @property
 
- Class decorators- Decorating entire classes
- Injecting attributes or methods dynamically
 
- Parameterized decorators- Nested closures for arguments
- Factory pattern for decorators
 
- functools.wraps- Preserving metadata (__name__,__doc__)
- Common pitfalls and best practices
 
- Preserving metadata (
- Practical applications- Logging and timing
- Memoization (functools.lru_cache)
- Access control and validation
- Class registration and plugin systems
 
 
- Function decorators
- Modules (advanced)- Packages and __init__.py- Namespace packages (PEP 420)
- Relative and absolute imports
- Module-level constants and configuration
 
- Standard modules (extended list)- Input/output (io,os,pathlib,shutil)
- Argument parsing (argparse,getopt,sys.argv)
- Mathematical utilities (math,cmath,statistics)
- Data structures (collections,collections.abc,array,enum)
- Memory and performance (copy,sys,resource)
- Console utilities (curses,readline)
 
- Input/output (
- CLI modules- sys,- argparse,- getopt
- Subcommands and command dispatchers
- CLI design patterns (subparsers, help messages)
 
- Import system internals- importliband module reloading
- sys.meta_path, loaders and finders
- Module caching and sys.modules
- Dynamic imports (__import__,importlib.import_module)
- Executing packages as scripts (python -m)
 
 
- Packages and 
- Logging- loggingmodule fundamentals- Logger hierarchy and propagation
- Logging levels (DEBUG,INFO,WARNING,ERROR,CRITICAL)
- Handlers, formatters, filters
- Configuration (basicConfig, dictConfig, fileConfig)
- Custom loggers and modular logging
 
- Structured and external logging- JSON logging (jsonlogger)
- Log rotation (logging.handlers.RotatingFileHandler)
- Integration with monitoring tools (ELK, Prometheus)
 
- JSON logging (
- Distributed tracing and OpenTelemetry- Traces, spans, and metrics
- Exporters and backends
- Integration with loggingandasyncio
 
 
- Documentation- Docstrings- Inline documentation conventions
- Access via help()and.__doc__
 
- Docstring formats- reStructuredText (reST)
- Google style
- NumPy style
- Epydoc and Sphinx roles
 
- doctest(testing from docstrings)- Embedding examples
- Running tests from documentation
 
- Documentation generators and renderers- sphinx(reST → HTML/PDF)
- readthedocshosting
- mkdocsand Material for MkDocs
- pdoc3(auto API documentation)
- Doxygen+- Breatheintegration
- JupyterBookfor literate programming
- Integration with CI/CD (auto-generated docs)
 
 
- Docstrings
- Testing- Testing frameworks- unittest(standard library)
- pytest(most popular)
- nose2and legacy options
 
- Code coverage- coverage.pybasics
- pytest-covintegration
- Coverage thresholds and reports
 
- Testing types- Unit Testing (unittest,pytest)
- Integration Testing (unittest,pytest)
- Functional Testing (unittest,pytest)
- Acceptance Testing (unittest,behave)
- Regression Testing (unittest,pytest)
- Performance Testing (timeit,pytest-benchmark)
- Load / Stress Testing (asyncio,locust)
- Security Testing (unittest,bandit)
- Property-Based Testing (unittest,hypothesis)
- Fuzz Testing (unittest,atheris)
- Snapshot Testing (unittest,syrupy)
- Contract Testing (unittest,pact)
- API Testing (http.client,pytest + requests)
- UI / E2E Testing (unittest,playwright)
- Database Testing (sqlite3,pytest + testcontainers)
- Async/Concurrency Testing (asyncio,pytest-asyncio)
- Data Quality / Validation Testing (json,great_expectations)
- Compatibility / Cross-env Testing (venv,tox)
- Smoke / Sanity Testing (unittest,pytest)
- Accessibility Testing (unittest,playwright)
 
- Unit Testing (
- Fixtures and parametrization- Test Lifecycle Hooks (unittestsetUp/tearDown,pytest)
- Fixture Scopes (unittestclass/module,pytestfunction/class/module/session)
- Autouse Fixtures (unittestbase classes,pytest)
- Parametrized Tests (unittestsubTest,pytest.mark.parametrize)
- Factory Fixtures (unittesthelpers,pytestfixture factories)
- Temporary Paths and Files (tempfile,pytest.tmp_path)
- Environment and Patching (unittest.mock,pytest.monkeypatch)
- Capturing Output (contextlib.redirect_stdout,pytest.capsys/capfd)
- Logging Capture (logging,pytest.caplog)
- Time Control (time,freezegun)
- Network Isolation (socket,pytest + responses)
- Async Fixtures (asyncio,pytest-asyncio)
- Database Fixtures (sqlite3,pytest + testcontainers)
- Data Builders (json,factory_boy)
- Randomness Control (random,pytest-randomly)
 
- Test Lifecycle Hooks (
- Advanced testing tools- Mocking and Spies (unittest.mock,pytest-mock)
- Patch Utilities (unittest.mock.patch,pytest.monkeypatch)
- Coverage and Reports (trace,coverage.py)
- Parallel and Distributed Tests (multiprocessing,pytest-xdist)
- Flaky Test Control (unittestreruns,pytest-rerunfailures)
- Timeouts and Slow Tests (signal,pytest-timeout)
- Benchmarking (timeit,pytest-benchmark)
- Mutation Testing (ast,mutmut)
- HTTP Mocking (http.server,responses)
- Recording HTTP (VCR) (urllib,vcrpy)
- Contract & Schema Testing (json,schemathesis)
- Snapshot Testing (pickle,syrupy)
- Test Data Generation (random,faker)
- Test Selection & Caching (importlib,pytest-testmon)
- HTML/Allure Reports (unittestXML,pytest-html)
- CI/CD Integration (subprocess,tox)
- Profiling for Tests (cProfile,pyinstrument)
- Static Analysis (lint/type) (ast,ruff)
- Containerized Tests (subprocess,testcontainers)
- Async/Trio/AnyIO Tools (asyncio,pytest-anyio)
 
- Mocking and Spies (
 
- Testing frameworks
- Debugging- Standard debuggers- pdb
- bdb,- ipdb,- pudb
- IDE-integrated debuggers (VSCode, PyCharm)
 
- Remote and distributed debugging- debugpy(VSCode protocol)
- rpdb,- pydevd
 
- Traceback and runtime analysis- Stack traces and frames
- Traceback objects and inspection
- faulthandlerfor low-level tracing
 
- Code tracing tools- tracemodule (execution flow)
- inspectmodule (live introspection)
- sys._getframe, locals/globals inspection
- Profiling vs debugging differences
 
- Exception debugging- Post-mortem debugging
- Context display (contextlib,traceback.print_exc)
- Custom exception hooks (sys.excepthook)
 
 
- Standard debuggers
 
- Object-Oriented Programming (OOP)
- Advanced Structures and Functional Programming- Functional Programming- Functional paradigms and immutability
- Higher-order functions (map,filter,reduce)
- Anonymous functions (lambda)
- functoolsutilities- partial,- cmp_to_key,- cache,- lru_cache,- reduce
 
- operatormodule (functional equivalents for arithmetic/logical ops)
- Closures and free variables
- Currying and partial application
- Immutability and purity
- Function composition and pipelines
- Functional iteration (itertools,more-itertools)
- Side effects and referential transparency
- Recursion and tail call optimization
- Persistent data structures (immutables,pyrsistent)
 
- Itertools / Advanced Generators- Combinatorial tools (product,permutations,combinations,combinations_with_replacement)
- Accumulators and counters (accumulate,count,cycle,repeat)
- Sequence utilities (chain,compress,dropwhile,takewhile,islice,starmap,tee,zip_longest,groupby)
- Infinite and lazy sequences (itertools,more-itertools)
- Generator delegation (yield from)
- Generator-based pipelines and streams (toolz,funcy)
 
- Combinatorial tools (
- Memory Views- Buffer protocol (low-level binary access)
- memoryviewobjects and slicing
- Byte arrays and binary manipulation (bytearray,array)
- Dict views (keys,items,values)
- Shared memory across processes (multiprocessing.shared_memory)
- Interfacing with C-level buffers (ctypes,numpy)
 
- Benchmarking and Profiling- Timing and microbenchmarks (timeit,perf_counter)
- CPU profiling (cProfile,profile,pstats)
- Memory profiling (tracemalloc,memory_profiler)
- Line-level profiling (line_profiler)
- Statistical and sampling profilers (py-spy,scalene,yappi)
- Async profiling (aiomonitor,asyncio-run-instrument)
- Visualization tools (snakeviz,tuna,speedscope)
- Benchmark frameworks (pytest-benchmark,asv)
 
- Timing and microbenchmarks (
- Code Quality Tools- Style and formatting (flake8,autopep8,black,isort)
- Type checking (mypy,pyright,pytype)
- Linting (pylint,ruff,prospector)
- Security analysis (bandit,safety)
- Metrics and complexity (radon,wily)
- Code modernization (pyupgrade,futurize,modernize)
- Git and pre-commit automation (pre-commit,tox,nox)
- Docstring and naming validation (pydocstyle,pep8-naming)
- Dead code and dependency analysis (vulture,pip-check)
- Refactoring tools (rope,bowler)
 
- Style and formatting (
- Security- Common Algorithms and Concepts- Symmetric encryption (AES, ChaCha20)
- Asymmetric encryption (RSA, ECC)
- Hashing (SHA, BLAKE2, PBKDF2)
- Key derivation and stretching (scrypt, Argon2)
- Digital signatures and verification
- Certificates and PEM handling
- Public Key Infrastructure (PKI)
- Randomness and entropy pools
 
- Standard Library- hashlib(hash algorithms, digests)
- secrets(secure randomness)
- ssl(TLS, context management)
- hmac(hash-based message authentication)
- base64(binary encoding)
 
- Third-Party Libraries- bcrypt
- passlib
- cryptography
- pyjwt
- argon2-cffi
- fernet
 
 
- Common Algorithms and Concepts
- Type Hints- Function and variable annotations
- typingmodule fundamentals
- Type aliases (TypeAlias)
- Generic types (TypeVar,Generic)
- Protocols (PEP 544)
- Unions and optionals (Union,Optional)
- Literal types (Literal)
- NewType and nominal typing (NewType)
- Typed mappings (TypedDict)
- Self type and recursive references (Self, PEP 673)
- Parameter and return specifications (ParamSpec,Concatenate, PEP 612)
- Advanced static typing (mypy_extensions,typing_extensions)
- Runtime type checking (beartype,typeguard)
- Dataclass typing and validation (dataclasses,pydantic)
- Gradual typing and static analysis (mypy,pyright,ruff --extend-select TYP)
 
 
- Functional Programming
- Concurrency, Async, Low Level- Async and Concurrency- Thread-based concurrency (threading,concurrent.futures.ThreadPoolExecutor)
- Process-based parallelism (multiprocessing,concurrent.futures.ProcessPoolExecutor)
- Global Interpreter Lock (GIL) and its implications
- Synchronization primitives- Locks (Lock,RLock)
- Semaphores, Events, Barriers, Conditions
- Queues (queue,asyncio.Queue,multiprocessing.Queue)
 
- Locks (
- Parallelism vs concurrency concepts
- Asynchronous programming (asyncio)- async/- awaitkeywords
- Coroutines and cooperative multitasking
- Async iterators and async generators
- Async comprehensions
- Async context managers (async with)
- Event loop internals (asyncio.get_event_loop, policies)
- Task scheduling (create_task,gather,wait,shield)
- Synchronization primitives (Lock,Event,Semaphore,Condition)
- Exception handling and cancellation (CancelledError)
- Third-party event loops (uvloop,trio,anyio,curio)
- Green threads (greenlet,gevent)
- Background tasks and concurrency with async frameworks
- Integration with threads and processes (to_thread,run_in_executor)
- Async profiling and debugging (aiomonitor,asyncio.run,tracemalloc)
 
 
- Thread-based concurrency (
- Networking- Networking fundamentals- TCP/IP basics
- IP addressing and subnetting (ipaddress)
 
- Low-level networking (socket)- TCP and UDP sockets
- Non-blocking I/O and selectors
- Socket options and timeouts
 
- High-level networking- HTTP protocol basics
- URL handling (urllib,urllib3)
- HTTP clients (requests,httpx,aiohttp)
- WebSockets (websockets,aiohttp,fastapi.websockets)
- Email and SMTP (smtplib,imaplib,poplib,email)
- FTP and SFTP (ftplib,paramiko)
 
- Web application interfaces- WSGI (wsgiref,flask)
- ASGI (fastapi,starlette,aiohttp)
- HTTP servers (http.server,aiohttp.web,uvicorn,hypercorn)
 
- WSGI (
- Networking concurrency- Async sockets (asyncio.start_server,asyncio.open_connection)
- Connection pooling and throttling
- DNS and async resolvers (aiodns)
- SSL/TLS contexts (ssl)
- Performance testing and benchmarking (ab,wrk,locust)
 
- Async sockets (
 
- Networking fundamentals
- Metaprogramming- Metaclasses (type,__new__,__init__)
- Descriptors (__get__,__set__,__delete__)
- Difference between class decorators and metaclasses
- Dynamic class and attribute creation (setattr,getattr)
- Attribute access customization (__getattr__,__getattribute__)
- Decorator-based metaprogramming patterns
- Code generation and reflection (ast,inspect,types)
- Runtime modification of objects (monkey patching, proxy classes)
- Introspection and dynamic imports (importlib,sys.modules)
 
- Metaclasses (
- Context Managers- withstatement semantics
- Built-in context managers (open,decimal.localcontext,threading.Lock)
- contextlibmodule- contextmanagerdecorator
- ExitStack,- redirect_stdout,- suppress
 
- Async context managers (async with,@asynccontextmanager)
- Custom context managers (__enter__,__exit__)
- Resource cleanup and exception safety
- Nested and chained contexts (ExitStack)
 
- Monitoring- Runtime monitoring (sys.monitoring, PEP 669)
- Code tracing (sys.settrace,sys.setprofile)
- Logging and telemetry integration (logging,OpenTelemetry)
- Application performance monitoring (APM) (sentry-sdk,datadog,newrelic)
- Resource usage tracking (resource,psutil)
- System-level inspection (os,platform,tracemalloc)
- Custom metrics and exporters (prometheus_client)
- Distributed tracing (opentelemetry,jaeger-client)
 
- Runtime monitoring (
- Garbage Collection- Reference counting and object lifetime
- gcmodule (manual control, thresholds, debug flags)
- Weak references (weakref,WeakKeyDictionary,WeakValueDictionary)
- Circular reference detection and cleanup
- Finalization and destructors (__del__,atexit)
- Object tracking and introspection (gc.get_objects,gc.get_referrers)
- Memory leaks and object retention analysis (objgraph,pympler)
- Interaction with C extensions and native memory
- Performance tuning and garbage collection strategies (gc.freeze, tuning generations)
 
 
- Async and Concurrency
- Implementation & Distribution- General Environment Tools- Virtual environments (venv,virtualenv)
- Interactive environments (jupyter,IPython)
- Package installation and dependency management (pip,requirements.txt)
- Modern build systems (pyproject.toml,poetry,flit,uv,pdm)
- Conda environments (conda,mamba)
- Python version management (pyenv,asdf,tox)
- Dependency resolution and locking (pip-tools,poetry.lock,uv.lock)
- Environment reproducibility (pip freeze,conda env export)
- Project isolation and sandboxes (direnv,nix-shell)
- Environment variables and configuration management (dotenv,pydantic-settings)
 
- Virtual environments (
- Implementations- Building Python from source (configure, make, installation paths)
- CPython internals and command-line interface- Bytecode compilation (dis,compile)
- Interpreter flags (-O,-m,-B,-I)
- Debug builds and symbol tables
 
- Bytecode compilation (
- Alternative implementations- PyPy(JIT compiler and performance profiling)
- Cython(C extensions,- pyximport,- cythonize)
- Codon(Python-to-native compiler for performance)
- MicroPython(embedded systems)
- RustPython,- GraalPy,- Jython,- IronPython
 
- Binary distribution- pyinstaller(single-file executables)
- cx_Freeze(cross-platform packaging)
- nuitka(C++ compilation and optimization)
- shiv,- pex(self-contained zip apps)
 
- Web runtimes and browser targets- PyScript(Python in HTML, WASM-based)
- Pyodide(WASM + scientific stack)
- Brython(transpiles Python to JavaScript)
- Transcrypt(typed Python → JS transpiler)
 
- Embedding Python in other languages- C API (Python.h)
- ctypesand- cffi
- Integration in C/C++, Rust, and Go projects
- Cross-language execution (subprocess,ffi,wasmer)
 
- C API (
- Extending Python with native code- C extensions and modules
- pybind11,- Cython,- cffi
- Shared libraries and ABI compatibility
 
 
- Packaging- Packaging process- setuptoolsand- setup.py
- setup.cfg(declarative configuration)
- pyproject.toml(PEP 517/518 compliant builds)
- Build artifacts (sdist,wheel)
- Distribution upload (twine,flit publish,poetry publish)
- Package signing and verification (gpg,twine --sign)
 
- Package indexes- PyPI(official package index)
- TestPyPI(staging environment)
- pypiserver(self-hosted registries)
- Private and enterprise registries (devpi,artifactory,nexus)
 
- Versioning and metadata- Semantic versioning (PEP 440)
- Metadata and classifiers (setup.cfg,pyproject.toml)
- Dynamic versioning tools (setuptools_scm,bumpver,versioneer)
 
- Dependency management and resolution (pip,resolverlib)
- Package auditing and signing (pip-audit,gpg,sigstore)
- Cross-platform builds and reproducibility (build,cibuildwheel,tox)
 
- Packaging process
- CLI Apps- CLI argument parsing- argparse(std lib)
- optparse(legacy)
- getopt(low-level)
 
- Command frameworks- click
- typer
- python-fire
 
- Console utilities- colorama(color support)
- rich(formatting, live tables, progress bars)
- prompt_toolkit,- inquirer(interactive prompts)
 
- CLI packaging- Entry points (console_scripts)
- Shell completion generation
- Cross-platform support (os,shutil.which)
 
- Entry points (
 
- CLI argument parsing
- Graphical Apps- GUI frameworks- tkinter(standard library)
- PyQt5,- PySide6(Qt bindings)
- Kivy,- KivyMD(mobile and touch support)
- wxPython(native widgets)
- Dear PyGui(immediate-mode GUI)
- PyGObject,- GTK3/4
 
- Game and multimedia frameworks- pygame,- arcade,- ursina
 
- GUI builders and design tools (Qt Designer,Glade)
- Cross-platform packaging (pyinstaller,briefcase)
 
- GUI frameworks
- Internationalization (i18n) and Localization (l10n)- Text translation and message catalogs- gettext(std lib)
- babel(third-party)
- polib(PO file management)
 
- Locale management (locale,setlocale, environment vars)
- Number, date, and currency formatting- babel.numbers,- babel.dates
- locale.format_string
 
- Unicode normalization and encoding handling (unicodedata)
- Time zones and calendars (zoneinfo,dateutil)
- Multi-language configuration and packaging (gettext,pybabel extract/update)
 
- Text translation and message catalogs
 
- General Environment Tools
- Internals- Python Compiler & Interpreter- Abstract Syntax Tree (AST) (ast,compile)
- Bytecode inspection (dis,opcode)
- Tokenization and lexing (tokenize,token)
- Lexical analysis and parsing pipeline
- Symbol tables and scoping (symtable)
- Compilation stages (source → AST → bytecode)
- Evaluation loop (CEval)
- Frame objects (sys._getframe,inspect)
- Code objects (__code__,types.CodeType)
- Bytecode caching (.pyc,__pycache__)
- Optimization flags (-O,-OO)
- Dynamic code execution (eval,exec)
- Compile-time constants and folding
- Abstract interpretation and future statements (__future__)
 
- Abstract Syntax Tree (AST) (
- Execution Model- Call stack and stack frames
- Function call mechanics and parameter passing
- Coroutine scheduling and task switching (asyncio,trio)
- Import execution and module caching (importlib,sys.modules)
- Global state and thread safety (threading,contextvars)
- Context variables (PEP 567)
- Event loop interaction and scheduling
- Exception propagation across async boundaries
- Interpreted vs compiled function calls (builtin_function_or_method)
- Trampolines and frame reuse optimizations
- Generator and async state machines
 
- Data Model- ctypesand C-compatible structures
- Object memory layout and slots (__slots__)
- PyObject structure and reference model
- Type objects and inheritance hierarchy
- Method resolution order (C3 linearization)
- Data vs non-data descriptors (__get__,__set__,__delete__)
- Dynamic attribute resolution (__getattr__,__getattribute__)
- Numeric and sequence protocols (__add__,__getitem__, etc.)
- Callable protocol (__call__)
- Context manager protocol (__enter__,__exit__)
- Iterator protocol (__iter__,__next__)
- Coroutine protocol (__await__,__anext__)
- Mapping, hashing, and equality semantics (__hash__,__eq__)
 
- Python C Model- CPython C API (Python.h)
- PyObjectstructure and reference counting
- Extending Python with C modules (PyModuleDef,PyMethodDef)
- Embedding Python in C/C++ applications (Py_Initialize,PyRun_SimpleString)
- Argument parsing (PyArg_ParseTuple,Py_BuildValue)
- Error and exception handling (PyErr_SetString,PyErr_Occurred)
- Memory management (Py_INCREF,Py_DECREF)
- GIL internals and state management (PyGILState_Ensure,PyEval_SaveThread)
- Frame and thread state (PyThreadState,PyInterpreterState)
- C API headers (object.h,listobject.h,dictobject.h)
- Subinterpreters and isolated runtimes (_xxsubinterpreters, PEP 684)
- Cython bridge and interoperability (cython,pyximport)
- ABI stability and limited API (Py_LIMITED_API, PEP 384)
- Capsule and pointer exchange (PyCapsule)
 
- CPython C API (
- Extensions- Protocols and Foreign Function Interfaces (FFI)- ctypes
- cffi
- pybind11
- SWIG
 
- Inter-language data marshaling and memory safety
- Extending and embedding with native languages- C
- C++
- Rust (PyO3,rust-cpython,maturin)
- Go (gopy,cgo,pygo)
 
- WASM integration (wasmer,wasmtime-py)
- Cross-language RPC frameworks (grpc,capnp,flatbuffers)
- Plugin systems and dynamic loading (importlib.machinery,ctypes.CDLL)
- Binary interface and FFI debugging (gdb,valgrind,lldb-python)
 
- Protocols and Foreign Function Interfaces (FFI)
 
- Python Compiler & Interpreter
8.2 - JavaScript y TypeScript
- Introducción- Historia y Evolución de JavaScript y TypeScript- Origen de JavaScript en el navegador (Brendan Eich, 1995)
- Estándar ECMAScript y rol de ECMA International
- Comité TC39 y proceso de propuestas
- Evolución de ECMAScript (ES3, ES5, ES2015+)
- Aparición de TypeScript como superconjunto tipado de JavaScript
- Filosofía de TypeScript: tipado estático opcional y verificación en tiempo de compilación
- Compatibilidad progresiva con JavaScript existente
- Influencia de C#, Java y lenguajes estáticos en el diseño de TypeScript
- Adopción en backend, frontend y full-stack
- Impacto de Node.js en el uso de JavaScript fuera del navegador
- Expansión del ecosistema: Deno, Bun y runtimes alternativos
- Evolución del tooling: bundlers, transpiladores, linters
- Uso de TypeScript en grandes bases de código y monorepos
- Transición de JavaScript clásico basado en funciones a clases, módulos y async/await
- “Any valid JavaScript is valid TypeScript” como principio de diseño
 
- Versiones y Compatibilidad- Versionado semántico de TypeScript
- Versionado de Node.js y compatibilidad con ECMAScript
- targety- liben- tsconfig.json
- Downleveling y transpilación (ESNext → ES5)
- Compatibilidad con navegadores y entornos legacy
- Polyfills y core-js
- Características propuestas (stage 0–4) y su adopción en TypeScript
- Estabilidad de sintaxis frente a features experimentales
- Tipos DOM según versión de @types/web
- Estrategias de upgrade mayor de TypeScript en proyectos grandes
- Compatibilidad entre módulos ES (import/export) y CommonJS (require/module.exports)
- Detección de versión en runtime (process.versions,navigator.userAgent)
- Dependencia en especificación del Event Loop del host (browser vs Node)
- Compatibilidad entre distintos bundlers y empaquetadores
- Compatibilidad entre ts-node,tsx,babel,esbuild
 
- Instalación del Entorno- Instalación de Node.js (instalador oficial)
- Instalación con nvm/fnm/asdf
- Instalación de Deno
- Instalación de Bun
- npmcomo package manager por defecto
- yarnclásico y- yarn modern
- pnpmy almacenamiento global basado en content-addressable store
- Instalación global de typescript(npm install -g typescript)
- Instalación local de typescriptcomo dependencia de desarrollo
- Verificación de node,npm,tscen PATH
- Configuración inicial de proyecto (npm init,pnpm init,yarn init)
- Inicialización de TypeScript (tsc --init)
- Estructura de carpetas recomendada (src,dist,test)
- Soporte multiplataforma (Windows, macOS, Linux)
- Contenedores y devcontainers (Dockerfile,devcontainer.json)
 
- Ejecución de Código y REPL- Ejecución directa de JavaScript con node archivo.js
- REPL interactivo de Node.js
- Ejecución directa de TypeScript con ts-node
- Ejecución directa de TypeScript con tsx
- Ejecución TypeScript nativa en Deno
- Ejecución TypeScript nativa en Bun
- Compilación explícita con tscy luego ejecución con Node.js
- Flags comunes de Node (--inspect,--require,--experimental-*)
- Flags comunes de ts-node/tsx
- Uso de importaciones ES en Node ("type": "module")
- Uso de la consola del navegador como entorno interactivo
- Ejecución en entornos sandbox (CodeSandbox, StackBlitz)
- I/O estándar (stdin,stdout,stderr) en Node
- Pipes y redirección de salida en CLI de Node
- Hot reload durante desarrollo con nodemon,ts-node-dev
 
- Ejecución directa de JavaScript con 
- IDEs y Editores- Visual Studio Code y el Language Service de TypeScript
- WebStorm / IntelliJ IDEA con soporte TypeScript integrado
- Neovim con LSP (typescript-language-server)
- Vim con coc.nvimy extensiones TS
- Emacs con lsp-modeytide
- Autocompletado, IntelliSense y sugerencias de tipo
- Navegación de código (Go to Definition,Find References)
- Refactorizaciones automáticas (renombrar símbolos, extraer funciones)
- Soporte de linters (ESLint) integrado en el editor
- Formato automático con Prettier
- Integración de debuggers (Chrome DevTools, Node Inspector)
- Integración con Git y control de versiones
- Snippets y plantillas de código repetitivo
- Diagnóstico en tiempo real del compilador de TypeScript
- Entornos de notebooks JS/TS (Quokka, Jupyter con kernels JS)
 
- Entornos de Proyecto y Aislamiento- node_modulescomo entorno aislado por proyecto
- package.jsoncomo descriptor de entorno
- package-lock.json,- yarn.lock,- pnpm-lock.yaml
- Resolución determinista de dependencias
- Workspaces (yarn workspaces,pnpm workspaces,npm workspaces)
- Monorepos y herramientas (turbo,nx,lage)
- Separación entre dependencias de runtime (dependencies) y de build (devDependencies)
- Scripts de proyecto (npm run,pnpm run)
- Estrategias de versionado interno en monorepos
- Aislamiento por versión de Node usando nvmdentro del proyecto
- Contenedores reproducibles para desarrollo (Docker Compose)
- Variables de entorno (.env,dotenv,process.env)
- Reproducibilidad de builds en CI
- Caché incremental de transpilación y bundling
- Estándares de estructura de carpetas (src,lib,dist,scripts)
 
- Gestión de Paquetes y Dependencias- npm install,- npm update,- npm uninstall
- yarn add,- yarn remove,- yarn upgrade
- pnpm add,- pnpm remove,- pnpm update
- Versiones fijas vs rangos (^,~,*)
- Dependencias opcionales y peer dependencies
- Resolución de conflictos de versiones
- Auditoría de dependencias (npm audit,pnpm audit)
- Firma y verificación de integridad (shasum)
- Repositorios privados (Artifactory, Verdaccio)
- Instalaciones link/workspacelocales
- Publicación de paquetes internos
- Tipos externos (@types/*) para librerías JS puras
- Mantenimiento de typesVersionsen librerías TypeScript
- Dependencias transpiladas vs dependencias puras ESM
- Gestión de binarios nativos precompilados
 
- Herramientas del Ecosistema Web- Bundlers (webpack,esbuild,rollup,vite)
- Compilación incremental y HMR (Hot Module Replacement)
- Transformación con Babel
- Minificación y tree-shaking
- Code splitting y lazy loading
- Sourcemaps y depuración en el navegador
- Polyfills automáticos según destino
- Linter y formateador integrados en pipeline de build
- Pruebas unitarias integradas en bundlers (vitest)
- Empaquetado para navegadores antiguos
- Empaquetado para runtimes edge
- Bundles isomórficos (SSR + CSR)
- Configuración multi-target (web, node, worker)
- Generación de tipos .d.ts
- Publicación de librerías como ESM y CJS
 
- Bundlers (
 
- Historia y Evolución de JavaScript y TypeScript
- Fundamentos- Tipos Básicos y el Sistema de Tipos de TypeScript- Declaración de variables con let,const,var
- Inferencia de tipos
- Anotaciones de tipo explícitas
- Tipos primitivos (string,number,boolean)
- Tipos null,undefined,void
- Tipos bigintysymbol
- Tipos literales ("ok",42,true)
- Tipos unión (|)
- Tipos intersección (&)
- Tipos any,unknown,never
- Alias de tipo (type)
- Interfaces (interface)
- Tuplas ([T, U])
- Enums (enum,const enum)
- Objetos con propiedades opcionales y readonly
 
- Declaración de variables con 
- Operadores- Operadores aritméticos (+,-,*,/,%,**)
- Operadores de asignación compuesta (+=,-=,*=, etc.)
- Operadores de comparación (===,!==,<,>,<=,>=)
- Operadores lógicos (&&,||,!)
- Operador de fusión nula (??)
- Operador de encadenamiento opcional (?.)
- Operadores bitwise (&,|,^,~,<<,>>,>>>)
- Operador ternario (cond ? A : B)
- Operadores de propagación (...spread)
- Destructuración de arrays y objetos
- Precedencia y asociatividad de operadores
- Cortocircuito en ||,&&y??
- Coerción implícita con ==vs comparación estricta===
- deletepara eliminar propiedades de objetos
- iny- instanceofpara verificación de pertenencia y tipo
 
- Operadores aritméticos (
- Control de Flujo- if,- else if,- else
- switchy- case
- for,- for...of,- for...in
- whiley- do...while
- breaky- continue
- Etiquetas de bucle (label:)
- Bloques con {}y alcance léxico
- Guard clauses y retornos tempranos
- throwpara interrupción de flujo
- Narrowing de tipos dentro de condiciones
- Type guards personalizados con predicados (param is Tipo)
- Flujo de control basado en in,typeof,instanceof
- Exhaustividad en switchconnever
- Assertions de no-nulo (!)
- Patrones de control de flujo funcional (array.filter,array.map)
 
- Funciones- Declaraciones de función (function foo() {})
- Funciones flecha (const f = () => {})
- Parámetros tipados
- Parámetros opcionales (param?: T)
- Parámetros con valor por defecto
- Parámetros rest (...args: T[])
- Tipado de retorno explícito
- Funciones que retornan void
- Funciones que nunca retornan (never)
- Sobrecarga de funciones (signaturas múltiples)
- Funciones genéricas (<T>)
- Clausuras y entorno léxico
- thisy binding explícito
- call,- apply,- bind
- Funciones async (async function)
 
- Declaraciones de función (
- Errores y Excepciones- try,- catch,- finally
- Lanzar errores (throw new Error())
- Tipado del valor capturado en catch
- Errores síncronos vs rechazos de Promesas
- Errores personalizados (class MiError extends Error)
- Rechazo de Promesas sin catch
- Manejo de errores en funciones async/await
- Promise.catchy- try/catchasync
- Errores de tipo (TypeError,RangeError, etc.)
- Assertions de tipo mal usadas y errores en runtime
- Enmascaramiento de errores con any
- Estrategias de logging de errores
- Errores fatales en Node (process.exit)
- Manejo centralizado de errores en aplicaciones web
- Errores recuperables vs no recuperables
 
- Entorno Global y Builtins- Objeto global (globalThis)
- Objetos estándar (Object,Array,Map,Set)
- Mathy operaciones numéricas
- Datey tiempo en milisegundos
- JSON(parse/stringify)
- consolepara salida estándar
- Promisecomo primitiva de async
- Symbolcomo clave única
- BigIntpara enteros grandes
- RegExppara expresiones regulares
- Errory subclases integradas
- URLy- URLSearchParams
- Intle internacionalización
- TextEncoder/- TextDecoder
- AbortControllery cancelación
 
- Objeto global (
- Módulos e Imports- Módulos ES (import,export)
- Importaciones por nombre y por defecto
- Reexportaciones (export * from)
- Import dinámico (import())
- Namespaces internos en TypeScript (namespace, legado)
- CommonJS (require,module.exports)
- Uso de "type": "module"en Node
- Resolución de rutas relativas y absolutas
- Alias de paths en tsconfig.json(paths,baseUrl)
- Barrel files (index.ts)
- Separación de tipos y valores en imports (import type)
- export typepara exponer sólo tipos
- Árbol de dependencias y ciclos
- Side effects de módulos
- División lógica por capas (domain, infra, ui)
 
- Módulos ES (
- Plataforma y Entorno de Ejecución- DOM y APIs del navegador
- Node.js y APIs del sistema de archivos
- Web Workers y aislamiento de hilos en navegador
- Service Workers y ciclo offline
- APIs WebCrypto
- fetchy red HTTP
- Web Storage (localStorage,sessionStorage)
- IndexedDB
- Streams en navegador
- Streams en Node (fs.createReadStream)
- Timers (setTimeout,setInterval)
- Event Loop (cola de tareas y microtareas)
- APIs de proceso en Node (process,os)
- Variables de entorno y configuración
- Interoperabilidad entre frontend y backend con el mismo lenguaje
 
 
- Tipos Básicos y el Sistema de Tipos de TypeScript
- Estructuras y Manipulación de Datos- Estructuras de Datos Fundamentales- Arrays dinámicos (Array<T>)
- Tuplas tipadas en TypeScript
- Objetos literales como mapas clave-valor
- Mapy- WeakMap
- Sety- WeakSet
- Pilas (stack) basadas en arrays
- Colas (queue) basadas en arrays
- Colas dobles (deque) con estructuras circulares
- Árboles y tries implementados en objetos/Map
- Grafos representados con listas de adyacencia
- Tablas hash y colisiones (visión conceptual)
- Inmutabilidad estructural con readonly
- Clonado superficial vs profundo (structuredClone)
- Comparación por referencia vs comparación por valor
- Uso de Object.freeze
 
- Arrays dinámicos (
- Iteradores y Generadores- Protocolo iterable ([Symbol.iterator])
- Protocolo async iterable ([Symbol.asyncIterator])
- for...ofpara recorrer iterables
- Generadores (function*)
- Generadores async (async function*)
- yieldy comunicación bidireccional
- Iteradores personalizados en clases
- Consumo manual de iteradores (next())
- Generadores como reemplazo de estados internos complejos
- Streams de datos perezosos
- Composición de generadores
- Uso de generadores para testing y mocking
- Adaptación de callbacks a iterables async
- Backpressure conceptual en flujos iterables
- Comparación entre for...ofy métodos de array
 
- Protocolo iterable (
- Arrays y Métodos Funcionales- push,- pop,- shift,- unshift
- slicey- splice
- mappara transformación
- filterpara selección
- reducepara acumulación
- somey- every
- findy- findIndex
- flaty- flatMap
- Ordenamiento con sort
- Comparadores personalizados en sort
- Copia inmutable con el spread [...arr]
- Particionamiento y groupBy(patrones comunes)
- Deduplicación usando Set
- Zipping y combinaciones de arrays
- Arrays tipados (Uint8Array,Float32Array, etc.)
 
- Manipulación de Strings y Texto- Literales de string simples y template strings
- Concatenación y +
- Substrings y slice
- Búsqueda (indexOf,includes,startsWith,endsWith)
- Reemplazo (replace,replaceAll)
- División (split)
- Unión (join) desde arrays
- Normalización Unicode (normalize)
- Interpolación con template literals
- Construcción incremental de strings (buffers de strings)
- Codificación y decodificación (TextEncoder,TextDecoder)
- Serialización y deserialización JSON (JSON.stringify,JSON.parse)
- Escapado seguro para HTML (patrones)
- Plantillas etiquetadas (tagged templates)
- Internacionalización de texto con Intl.MessageFormat(visión general)
 
- Expresiones Regulares- Literales /patrón/flags
- Constructor new RegExp()
- Flags comunes (g,i,m,s,u,y)
- Grupos de captura
- Grupos con nombre ((?<name>...))
- Lookahead y lookbehind
- Cuantificadores (+,*,{m,n})
- Límites de palabra y línea (\b,^,$)
- Métodos test,exec
- Métodos de string que aceptan regex (match,matchAll,replace,split)
- Rendimiento y backtracking excesivo
- Sanitización de entradas dinámicas en regex
- Comparación regex vs parseadores dedicados
- Construcción dinámica de patrones seguros
- Patrones comunes para validación de datos
 
- Literales 
- Archivos, Streams y Datos Binarios- Sistema de archivos en Node (fs.readFile,fs.writeFile)
- Streams legibles y escribibles en Node (fs.createReadStream)
- Pipes (readable.pipe(writable))
- Buffers (Buffer)
- Lectura de binarios (Buffer,Uint8Array)
- Escritura incremental de logs y datos
- Manejo de archivos grandes sin cargar todo a memoria
- Bloby- Fileen el navegador
- Descarga de archivos en navegador (creación de enlaces dinámicos)
- Subida de archivos con FormData
- fetchcon- ReadableStream
- Streams web (ReadableStream,WritableStream,TransformStream)
- Compresión y descompresión en Node (módulo zlib)
- Archivos temporales y directorios temporales
- Permisos y rutas en distintos sistemas operativos
 
- Sistema de archivos en Node (
- Datos Especializados y Formatos- CSV (parseo manual y librerías)
- JSON estructurado
- YAML y TOML en configuración
- XML y DOMParser
- HTML como árbol DOM
- Markdown como formato de contenido
- Binary blobs (imágenes, audio)
- ArrayBuffer y DataView
- Estructuras binarias con offsets fijos
- WebSockets como canal binario o texto
- IndexedDB como base de datos del navegador
- LocalStorage / SessionStorage como key-value store
- Cache Storage en Service Workers
- Serialización estructurada (structuredClone)
- Mensajería entre hilos (postMessage)
 
- Tiempo y Fechas- Objeto Date
- Timestamp en milisegundos desde Epoch
- Date.now()y mediciones rápidas
- Formateo manual de fechas
- Librerías de fechas (luxon, date-fns)
- Zonas horarias e Intl.DateTimeFormat
- Parseo de cadenas de fecha
- Medición de rendimiento con performance.now()
- setTimeouty temporizadores
- setIntervaly loops periódicos
- Cancelación de temporizadores (clearTimeout,clearInterval)
- Animaciones ligadas a requestAnimationFrame
- Sincronización de relojes entre cliente y servidor
- Cuestiones de DST y horario de verano
- Desfase entre reloj del sistema y reloj del servidor
 
- Objeto 
 
- Estructuras de Datos Fundamentales
- Programación Estructurada y Modular- Programación Orientada a Objetos (POO) en TypeScript/JavaScript- Clases (class)
- Constructores (constructor)
- Propiedades de instancia
- Propiedades estáticas
- Métodos de instancia y estáticos
- Herencia con extends
- supery sobreescritura de métodos
- Modificadores de acceso (public,private,protected)
- Campos readonly
- Campos opcionales en clases
- Clases abstractas (abstract class)
- Métodos abstractos
- Interfaces como contratos de clases
- Implementación múltiple de interfaces
- Mixins y composición en lugar de herencia múltiple
 
- Clases (
- Decoradores y Metadatos- Decoradores de clase
- Decoradores de método
- Decoradores de propiedad
- Decoradores de parámetro
- Metadata Reflection (reflect-metadata)
- Patrones de inyección de dependencias con decoradores
- Decoradores para validación
- Decoradores para logging y trazas
- Decoradores para binding automático de this
- Decoradores en frameworks (Angular, NestJS)
- Estado de estandarización de decoradores TC39
- Implicancias en tree-shaking y minificación
- Uso de decoradores en tests y mocks
- Decoradores y compatibilidad con emitDecoratorMetadata
- Consideraciones de rendimiento y orden de evaluación
 
- Módulos, Capas y Arquitectura- Patrones de organización por dominio
- Patrones de organización por tipo (controllers, services, utils)
- Capas de infraestructura, dominio y aplicación
- Capas de UI, lógica y acceso a datos
- Módulos ES y carga estática
- Carga dinámica con import()
- CommonJS en entornos legacy
- Barrel modules (index.ts)
- Separación entre tipos y valores (import type)
- Evitar dependencias circulares
- Namespaces internos (histórico en TS)
- API pública vs detalles internos
- Versionado semántico de módulos internos
- Gestión de rutas absolutas con pathsentsconfig.json
- Monorepos con múltiples paquetes versionados
 
- Logging y Observabilidad- console.log,- console.warn,- console.error
- Loggers estructurados (pino, winston)
- Niveles de log (debug, info, warn, error)
- Serialización segura de objetos en logs
- Formato JSON para logs machine-readable
- Logging en el navegador vs logging en Node
- Redacción de datos sensibles en logs
- Logs de rendimiento y tiempos de respuesta
- Integración con sistemas externos (APM)
- Trazas distribuidas (traceId, spanId)
- Métricas y contadores personalizados
- Alertas basadas en logs
- Integración con console.groupyconsole.table
- Uso de debugnamespaced en Node
- Logging condicional según NODE_ENV
 
- Documentación y Comentarios de Tipo- Comentarios JSDoc
- Etiquetas @param,@returns,@deprecated
- Comentarios de tipo en JavaScript con // @ts-check
- Inferencia de tipos a partir de JSDoc
- TSDoc y convenciones para librerías públicas
- Generación automática de documentación de API
- Documentación en línea para funciones públicas
- Documentación para consumidores externos vs internos
- Comentarios de intención vs comentarios obvios
- Contratos de interfaz y documentación de invariantes
- Versionado de la documentación junto al código
- README técnicos por paquete
- Diagramas de arquitectura en monorepos
- Uso de /** @internal */y visibilidad interna
- Control de documentación para clientes externos en SDKs
 
- Testing- jestcomo framework de pruebas
- vitesty entornos ESM
- mocha+- chai
- uvu,- tapey frameworks minimalistas
- Pruebas unitarias
- Pruebas de integración
- Pruebas de extremo a extremo (E2E)
- Pruebas en navegador con Playwright
- Pruebas de API con Supertest / fetch mockeado
- Snapshots de UI
- Cobertura de código (coverage,istanbul,c8)
- Mocks y espías (jest.fn)
- Fixtures reutilizables
- Tests async/await y control de timers falsos
- Ejecución de tests en CI/CD
 
- Depuración- Debugger en Chrome DevTools
- Debugger en VS Code (launch.json)
- node --inspecty el inspector de Node
- Breakpoints condicionales
- debugger;en el código
- Sourcemaps para mapear TypeScript → JavaScript
- Inspección de pila de llamadas (stack trace)
- Inspección de variables locales en tiempo real
- Watch expressions en el debugger
- Performance Profiler en navegador
- Heap snapshot para memoria
- Análisis de fugas de memoria en Node
- Depuración de Promesas rechazadas
- Seguimiento de eventos async en DevTools
- Depuración remota en contenedores y servidores
 
- Patrones de Diseño y Buenas Prácticas- Programación funcional vs POO en JavaScript moderno
- Patrón módulo
- Patrón fábrica
- Patrón singleton
- Patrón estrategia
- Patrón adaptador
- Patrón fachada
- Patrón decorador (a nivel de objetos)
- Patrón observador (EventEmitter)
- Inyección de dependencias
- Patrón repositorio en capas de datos
- Patrón builder y objetos inmutables
- Patrón middleware (pipelines de funciones)
- Separación de concerns entre dominio y framework
- Diseño orientado a interfaces en TypeScript
 
 
- Programación Orientada a Objetos (POO) en TypeScript/JavaScript
- Estructuras Avanzadas y Programación Funcional- Programación Funcional- Funciones puras
- Inmutabilidad de datos
- Evitar efectos secundarios
- map,- filter,- reducecomo patrones
- Composición de funciones
- Currificación y partial application
- Funciones de orden superior
- Aplicaciones point-free
- Inmutabilidad estructural con readonly
- Patrones de actualización inmutable con spread
- Librerías de FP (Ramda)
- Monads y Either/Result(patrones funcionales)
- Option/- Maybecomo alternativa a- null
- Validación funcional de datos
- Manejo funcional de errores en Promesas
 
- Iterables Avanzados y Generadores- Iteración lazy para eficiencia
- Pipelines de datos con generadores
- Transformaciones paso a paso sin arrays intermedios
- Generadores async para streams remotos
- Consumo incremental de APIs paginadas
- Backpressure conceptual en streams async
- Coordinación de multitarea con generadores
- Implementación de Symbol.iterator
- Implementación de Symbol.asyncIterator
- Reintentos y recolección gradual de datos
- Iteradores infinitos controlados
- Conversión entre generadores y arrays
- Iteración sobre estructuras personalizadas
- for await...ofen flujo async
- Patrones de pausar y reanudar ejecución
 
- Buffers Binarios y Vistas de Memoria- ArrayBuffer
- DataView
- Typed arrays (Uint8Array,Float64Array)
- Interpretación de datos binarios crudos
- Endianness y lectura multibyte
- Construcción de protocolos binarios personalizados
- Conversión entre Buffer(Node) y typed arrays
- Serialización eficiente para red
- WebSockets binarios
- WebRTC DataChannels binarios
- Transferencia de memoria entre hilos (postMessagecontransfer)
- Uso en criptografía y hashing
- Parsing de archivos multimedia
- Procesamiento de audio en tiempo real
- Integración con WebAssembly (memoria compartida)
 
- Rendimiento y Profiling- Micro-optimizaciones vs optimización algorítmica
- Complejidad temporal y espacial en JS/TS
- Perfilador de rendimiento del navegador
- Perfilador de CPU en Node
- Perfilador de heap y memory leaks
- performance.now()y medición precisa
- console.timey- console.timeEnd
- Optimización de loops
- Evitar trabajo innecesario en renders UI
- Evitar bloqueos del Event Loop
- Web Workers para tareas pesadas
- División de código (code splitting)
- Carga diferida (lazy loading)
- Caché de resultados (memoización)
- Optimización de serialización/deserialización JSON
 
- Calidad de Código y Estándares- ESLint
- Reglas de estilo y convenciones del equipo
- Prettier como formateador de código
- Reglas específicas de TypeScript (@typescript-eslint)
- Reglas de seguridad (no eval, noFunctiondinámica insegura)
- Reglas de complejidad ciclomática
- Reglas de longitud de archivo y función
- Detección de dead code
- Análisis estático del flujo de null/undefined
- Revisiones de código (pull requests)
- Hooks de pre-commit (lint-staged,husky)
- Convenciones de nombres (camelCase,PascalCase,UPPER_CASE)
- Convenciones de carpetas (utils,services,components)
- Convenciones para manejo de errores
- Documentación de decisiones arquitectónicas
 
- Seguridad y Criptografía- Modelos de amenaza en aplicaciones web
- XSS (Cross-Site Scripting)
- CSRF (Cross-Site Request Forgery)
- Inyección de código en templates
- Validación y sanitización de input
- DOMPurifyy sanitización HTML
- CORS y restricciones de origen
- Content Security Policy (CSP)
- Gestión de tokens y cookies seguras
- Almacenamiento seguro en localStoragevs cookies
- crypto.subtley WebCrypto API
- Hashing y firma digital en el navegador
- Seguridad en Node (fugas de secretos en logs)
- Dependencias vulnerables y npm audit
- Gestión de secretos en variables de entorno
 
- Tipado Avanzado en TypeScript- Tipos genéricos (<T>)
- Restricciones de genéricos (<T extends U>)
- Tipos condicionales (T extends U ? X : Y)
- Tipos inferidos en condicionales (infer)
- Tipos mapeados ({[K in Keys]: ...})
- keyofy manipulación de llaves
- Index signatures ([key: string]: T)
- readonlyen tipos
- Remapeo de modificadores (-readonly,?)
- Utility types estándar (Partial,Required,Pick,Omit)
- Record<K,V>y diccionarios tipados
- ReturnType,- Parameters,- ConstructorParameters
- ThisTypey tipado contextual de- this
- Inferencia contextual en funciones flecha
- Branding y nominal typing (patrón type ID = string & {__brand: "ID"})
 
- Tipos genéricos (
- Validación de Datos y Esquemas- Validación en runtime vs chequeo estático
- Zod y esquemas tipados
- io-tsy decodificación segura
- Validación de requests HTTP
- Validación de respuestas de APIs externas
- Aserciones de tipo (asserts value is Tipo)
- Narrowing manual con validadores
- Serialización segura para persistencia
- Sanitización de datos antes de guardarlos
- Transformaciones de entrada (DTOs)
- Contratos entre capas frontend y backend
- Tipos compartidos entre cliente y servidor
- Versionado de esquemas de datos
- Compatibilidad hacia atrás en APIs
- Migraciones de estructura de datos en el tiempo
 
 
- Programación Funcional
- Concurrencia, Async y Bajo Nivel- Async y Concurrencia en JavaScript- Modelo single-threaded y Event Loop
- Promisecomo unidad básica de async
- async/- await
- Estados de una Promesa (pending, fulfilled, rejected)
- Cadena de Promesas con .then
- Manejo de errores con .catch
- Ejecución paralela con Promise.all
- Ejecución competitiva con Promise.race
- Ejecución tolerante a fallas con Promise.allSettled
- Control de concurrencia con colas y semáforos userland
- Espera activa vs espera pasiva
- Bloqueos del Event Loop y CPU-bound
- Uso de Web Workers para CPU-bound en navegador
- Uso de worker_threadsen Node
- Cancelación cooperativa con AbortController
 
- Networking y Comunicación- fetchy solicitudes HTTP
- XMLHttpRequest(legado)
- WebSockets
- Server-Sent Events (SSE)
- gRPC-Web (patrones)
- Protocolos binarios sobre TCP en Node (net)
- HTTPS en Node (https)
- HTTP/2 y multiplexación
- Tiempo de espera y reintentos
- Política de mismo origen en navegador
- CORS y credenciales
- Serialización y deserialización JSON
- Streaming de respuesta con ReadableStream
- Subida de archivos en trozos (chunked upload)
- APIs en tiempo real y suscripción de eventos
 
- Multithreading, Workers y Paralelismo- Web Workers en navegador
- Dedicated Workers vs Shared Workers
- Transferencia de buffers entre hilos
- SharedArrayBuffer
- Atomicsy sincronización de memoria compartida
- worker_threadsen Node
- Clustering de procesos en Node (cluster)
- Balanceo de carga en múltiples workers
- Comunicación entre workers con postMessage
- Aislamiento de estado y side effects
- Pools de workers
- Limitaciones de acceso al DOM en Web Workers
- Aceleración de tareas pesadas (compresión, hashing)
- Streams entre threads
- Diseño de pipelines paralelos
 
- Metaprogramación y Reflexión- Proxypara interceptar acceso a objetos
- Reflectpara operaciones de bajo nivel
- Definición de propiedades con Object.defineProperty
- Descriptores de propiedad (get,set,enumerable,configurable)
- Object.getPrototypeOfy- Object.setPrototypeOf
- Object.freezey- Object.seal
- Patrón de interceptores y validación dinámica
- Generación dinámica de clases y funciones
- Evaluación dinámica de código (riesgos de eval)
- Serialización y reconstrucción dinámica de objetos
- Decoradores (propuesta TC39) como metaprogramación declarativa
- Metadatos de tipos en runtime (emulación con reflect-metadata)
- Inspección de stack trace y Error.captureStackTrace
- Patrones AOP (aspect-oriented programming) con Proxies
- Instrumentación dinámica para profiling
 
- Gestión de Recursos y Ciclo de Vida- try/finallypara liberar recursos
- Cancelación con AbortController
- Control manual de conexiones abiertas
- Streams y close/destroy
- Suscripciones a eventos y removeEventListener
- Limpieza de setIntervalysetTimeout
- Manejadores de cierre de proceso en Node (process.on("exit"))
- Gestión de sockets abiertos
- Liberación de handles en tests
- Patrones de “destructor” manual en JS
- Patrones usingySymbol.dispose(propuesta)
- Control explícito de sesiones y tokens
- Recursos del DOM (observadores, listeners)
- Evitar fugas de listeners en SPAs
- Limpieza de workers inactivos
 
- Monitoreo, Métricas y Telemetría- console.timey- console.count
- Performance API en navegador
- Node perf_hookspara medición
- Recolección de métricas de latencia
- Recolección de métricas de throughput
- Métricas de uso de memoria
- Métricas de GC y pausas
- Logs estructurados con IDs de correlación
- Trazas distribuidas con headers de tracing
- Exportación de métricas a sistemas externos
- Alertas automáticas en producción
- Health checks y endpoints /health
- Rate limiting y mecanismos antiabuso
- Auditoría de acciones del usuario
- Observabilidad en entornos serverless / edge
 
- Recolección de Basura y Memoria- Modelo de memoria administrada en JS
- Recolección de basura generacional
- Referencias fuertes vs débiles
- WeakMapy- WeakSet
- WeakRefy- FinalizationRegistry
- Fugas de memoria por referencias colgantes
- Fugas de memoria en closures
- Fugas de memoria en listeners no removidos
- Fragmentación de heap
- Trazas de heap en DevTools
- Monitoreo de uso de memoria en Node
- Límites de memoria en entornos serverless
- Impacto de objetos gigantes y arrays densos
- Uso de estructuras inmutables para evitar duplicados grandes
- Pausas de GC y rendimiento en tiempo real
 
- Interoperabilidad con Bajo Nivel y WebAssembly- WebAssembly en el navegador
- Cargar módulos WebAssembly desde JavaScript
- Tipos numéricos de bajo nivel en WebAssembly
- Compartir memoria entre WebAssembly y JS
- Llamar funciones WebAssembly desde JS
- Llamar funciones JS desde WebAssembly
- Uso de WebAssembly para cómputo intensivo
- Integración con librerías compiladas (C/C++/Rust)
- WebAssembly en Node
- Conversión de buffers binarios para FFI
- Overhead de cruce de frontera JS ↔ WASM
- Control de tiempo real y latencia baja
- Seguridad y sandboxing de WebAssembly
- Reutilización de lógica en cliente y servidor vía WASM
- Limitaciones de WebAssembly frente a JS puro
 
 
- Async y Concurrencia en JavaScript
- Implementación y Distribución- Herramientas de Entorno y Configuración- tsconfig.jsony opciones del compilador
- targety nivel de ECMAScript emitido
- moduley formato de salida (ESNext, CommonJS)
- moduleResolutiony resolución de paths
- stricty modo estricto
- noImplicitAny
- strictNullChecks
- esModuleInteropy compatibilidad con CommonJS
- skipLibChecky rendimiento de compilación
- declarationy generación de- .d.ts
- sourceMappara depuración
- outDiry- rootDir
- Configuración por proyecto y references
- Proyectos incrementales (composite)
- pathsy alias internos de importación
 
- Motores e Implementaciones de JavaScript- V8 (Chrome, Node)
- SpiderMonkey (Firefox)
- JavaScriptCore (Safari)
- Chakra (histórico)
- Node.js como runtime en servidor
- Deno como runtime seguro y TS-first
- Bun como runtime y bundler integrado
- Cloudflare Workers / runtimes edge
- Service Workers y ejecución offline en navegador
- Motores en entornos embebidos (Electron)
- JS en entornos móviles híbridos
- Diferencias de API entre runtimes
- globalThiscomo abstracción común
- Límite de memoria y CPU en entornos edge/serverless
- Compatibilidad con módulos ES nativos
 
- Empaquetado, Build y Publicación- webpacky empaquetado tradicional
- rolluppara librerías
- esbuildy builds ultrarrápidos
- vitey desarrollo con HMR
- Transpilación con tsc
- Transpilación con Babel
- Tree-shaking y eliminación de código muerto
- Code splitting dinámico
- Generación de bundles múltiples (cjs, esm, iife)
- Minificación y ofuscación
- Generación de tipos .d.tspara consumidores TS
- Publicación en npm (npm publish)
- Versionado semántico (major.minor.patch)
- Changelogs y releases automatizados
- Publicación de paquetes privados internos
 
- Aplicaciones de Línea de Comando (CLI)- Scripts ejecutables con Node (#!/usr/bin/env node)
- Commander.js para parseo de argumentos
- yargs para CLI declarativas
- process.argvy parseo manual
- Colores y formato en consola (chalk)
- Spinners y progreso visual en CLI
- Entrada interactiva (inquirer)
- Salida estructurada en JSON
- Logs y niveles verbosos (-v,--debug)
- Errores amigables en CLI
- Empaquetado de CLI en un solo archivo
- Distribución como paquete npm global
- Versionado y flags --version
- Comandos compuestos y subcomandos
- Autocompletado de shell (bash/zsh/fish)
 
- Scripts ejecutables con Node (
- Aplicaciones Web y UI- DOM y manipulación directa
- React y componentes funcionales
- JSX y TSX
- Hooks y estado local
- Estado global (Redux, Zustand)
- Context API
- Next.js y renderizado del lado del servidor (SSR)
- Vue con composición y tipado
- Svelte y bindings reactivos
- Web Components y customElements.define
- Shadow DOM y encapsulación de estilos
- CSS Modules / CSS-in-JS
- Accesibilidad (a11y)
- Persistencia de estado en localStorage
- Comunicación con APIs desde la UI
 
- Aplicaciones Móviles, Escritorio y Juegos- React Native
- Expo y flujo móvil con TypeScript
- Capacitor / Ionic para apps híbridas
- Electron para escritorio
- Tauri y runtimes ligeros
- PWAs (Progressive Web Apps)
- Service Workers y caché offline
- Notificaciones push
- Acceso a hardware (sensores, cámara, micrófono)
- APIs de archivos locales en escritorio
- Motores gráficos 2D/3D (Pixi.js, Three.js)
- Animaciones con requestAnimationFrame
- Optimización de render en canvas/WebGL
- Sincronización de estado en tiempo real multijugador
- Distribución en tiendas (App Store / Play Store) vía wrappers
 
- Internacionalización (i18n) y Localización (l10n)- API Intl
- Formato de números y monedas
- Formato de fechas y horarios
- Pluralización de mensajes
- Detección de locale del usuario
- Carga dinámica de mensajes traducidos
- Separación de traducciones por módulo
- Herramientas como i18next
- ICU MessageFormat
- Manejo de RTL (right-to-left)
- Zoned time y horario local
- Sensibilidad cultural en contenido
- Selección dinámica de fuentes y tipografías
- Traducción en build vs runtime
- Estrategias de fallback de idioma
 
- API 
- DevOps, Entrega y Despliegue- Scripts de build en package.json
- Pipelines CI/CD
- Pruebas automáticas en cada commit
- Lint y type-check en CI
- Empaquetado para producción
- Despliegue en servidores Node tradicionales
- Despliegue serverless (AWS Lambda, Vercel Functions)
- Despliegue edge (Cloudflare Workers)
- Contenedores Docker para Node
- Health checks y monitoreo post-deploy
- Rollbacks y despliegues azules/verdes
- Feature flags y rollout gradual
- Versionado de APIs públicas
- Documentación de endpoints y contratos
- Observabilidad continua en producción
 
- Scripts de build en 
 
- Herramientas de Entorno y Configuración
- Internos- Compilador de TypeScript y Proceso de Transpilación- Análisis léxico y parser
- Creación del AST (árbol de sintaxis abstracta)
- Chequeo de tipos estático
- Inferencia de tipos
- Ampliación y reducción de uniones
- Emisión (emit) de JavaScript
- Generación de d.tspara tipos públicos
- Sourcemaps para depuración
- Proyectos incrementales y tsbuildinfo
- Referencias a proyectos (project references)
- Diferencias entre tscy Babel para TS
- Limitaciones del chequeo de tipos en tiempo de compilación
- Eliminación de tipos y anotaciones en el JS emitido
- Transformaciones personalizadas del compilador
- Integración del Language Service en el editor
 
- Modelo de Ejecución de JavaScript- Call stack
- Contextos de ejecución
- Ámbito léxico y closures
- Hoisting de variables y funciones
- Resolución de this
- Strict mode ("use strict")
- Event Loop y cola de tareas
- Microtareas (Promise.then)
- Macrotareas (setTimeout, I/O)
- Repaint / reflow del navegador
- Prioridades de tareas en el navegador
- Bloqueo del main thread
- Interacción entre JS y render de la UI
- Rechazos no manejados de Promesas
- Módulos ES y carga dinámica en runtime
 
- Modelo de Datos y Prototipos- Objetos y prototipos
- [[Prototype]]y- __proto__
- Cadena de prototipos
- Herencia basada en prototipos
- Clases como azúcar sintáctico sobre prototipos
- Descriptores de propiedad
- Enumerabilidad e iteración de llaves
- Object.keys,- Object.values,- Object.entries
- Object.assigny mezcla de objetos
- Sellado y congelamiento de objetos
- Inmutabilidad superficial vs profunda
- Comparación de objetos por referencia
- Serialización con JSON.stringify
- Limitaciones de JSON.stringify(funciones,undefined,Symbol)
- Clonación estructurada (structuredClone)
 
- Optimizaciones del Motor JavaScript- JIT (Just-In-Time compilation)
- Inline caching
- Hidden classes
- Escape analysis
- Optimización de funciones calientes
- Deoptimización cuando cambian los tipos
- Representación interna de números (double,SMI)
- Recolección generacional de basura
- Inlining de funciones
- Eliminación de bounds checks en arrays
- Optimización de bucles apretados
- Penalización por megamorphic call sites
- Estructuras densas vs dispersas en arrays
- Impacto de deleteen arrays
- Costo de capturar closures con muchas variables
 
- Interoperabilidad Nativa y FFI- Addons nativos en Node (N-API)
- Interfaz C/C++ para módulos de alto rendimiento
- Compilación de addons para múltiples plataformas
- Gestión de memoria manual en addons
- Paso de buffers binarios entre JS y C++
- Seguridad y aislamiento al ejecutar código nativo
- Puentes con Rust (Neon, napi-rs)
- Puentes con Go (gobridge)
- Llamadas a librerías del sistema desde Node
- Consideraciones de portabilidad en binarios precompilados
- Versionado de ABI y compatibilidad
- Costos de cruce entre JS y nativo
- Exponer bindings tipados a TypeScript
- Depuración de código nativo integrado
- Distribución de módulos con binarios preconstruidos
 
- Addons nativos en Node (
- WebAssembly y Runtimes Aislados- Compilación de código C/C++/Rust a WebAssembly
- Carga de módulos WASM en navegador
- Carga de módulos WASM en Node
- Memoria lineal compartida con WASM
- Paso de strings y arrays entre JS y WASM
- Ejecución de lógica crítica en WASM
- Aceleración de cómputo matemático
- WASM y sandboxing de seguridad
- Límites de llamadas frecuentes JS↔WASM
- Uso de WASI (interfaz de sistema para WASM)
- Ejecución en entornos serverless edge
- Reutilización de librerías nativas vía WASM
- Perfilado de rendimiento en WASM
- Integración con Web Workers para aislamiento
- Futuro de WASM en aplicaciones web complejas
 
- Estándares, Propuestas y Futuro del Lenguaje- Proceso de propuesta TC39 (stages 0–4)
- Nuevas sintaxis del lenguaje
- Nuevas APIs estándar del runtime
- Decoradores estandarizados
- Records y Tuples inmutables (propuestas)
- Patrones de coincidencia estructural (pattern matching)
- Tipos sellados y exhaustividad
- Registros inmutables para datos seguros
- Tipos para excepciones y unknownseguro
- Campos privados #en clases
- Módulos nativos en el navegador sin bundler
- Evolución de importdinámico y lazy
- Nuevos primitivos de sincronización
- APIs criptográficas más ricas en WebCrypto
- Estandarización de APIs de streaming y backpressure
 
- Límites y Buenas Prácticas de Arquitectura- Separación entre lógica de dominio y capas de infraestructura
- Evitar acoplamiento a frameworks
- Diseñar para testabilidad
- Manejo centralizado de configuración
- Manejo centralizado de errores
- Límite claro entre cliente y servidor
- Reutilización de tipos entre frontend y backend
- Versionado de contratos de API
- Estrategias de backward compatibility
- Limpieza de código muerto y flags experimentales
- Migraciones de datos controladas
- Monitoreo desde el inicio del proyecto
- Hardening de seguridad como requisito base
- Automatización de calidad en CI/CD
- Cultura de documentación viva y mantenible
 
 
- Compilador de TypeScript y Proceso de Transpilación
8.3 - Rust
- Introduccion- Historia de Rust- Orígenes en Mozilla Research (Graydon Hoare, 2006–2010)
- Evolución de prototipos tempranos a Rust 0.x
- Lanzamiento de Rust 1.0 (2015)
- Consolidación de la estabilidad del lenguaje y del compilador (rustc)
- Filosofía de seguridad de memoria sin garbage collector
- Filosofía de concurrencia sin miedo (“fearless concurrency”)
- Influencia de Cyclone, ML, C++ y el ecosistema de sistemas
- Participación comunitaria y apertura del desarrollo
- Migración desde la sintaxis antigua (~,@,&) hacia el modelo actual de ownership
- Adopción industrial en sistemas embebidos, backend de alto rendimiento y navegadores
- Rol de Servo y el motor de renderizado experimental
- Influencia de Rust en otros lenguajes de sistemas
 
- Ediciones de Rust y Compatibilidad- Edición 2015
- Edición 2018
- Edición 2021
- Planificación de ediciones futuras (por ejemplo 2024)
- Ediciones vs versiones del compilador (rustc)
- Estabilidad del lenguaje y promesa de no romper código estable
- Estabilidad de la librería estándar (std) y API pública
- Uso de lints para migración entre ediciones
- Modo cargo fix --editiony migración asistida
- Compatibilidad cruzada entre crates de distintas ediciones
- Feature flags experimentales en nightly
- #![feature(...)]y límites de estabilidad
- Cambios de sintaxis entre ediciones
- Cambios en el sistema de módulos entre ediciones
- Cambios en async/awaitytryoperator entre ediciones
- Cambios en paths relativos y absoluta vs crate::
 
- Instalación de Rust- rustupcomo herramienta oficial de instalación
- Canales stable,beta,nightly
- Instalación en Windows (MSVC vs GNU toolchain)
- Instalación en macOS (homebrew, pkg oficial)
- Instalación en Linux (gestores de paquetes vs rustup)
- Añadir componentes (rustfmt,clippy)
- rustup component add
- Targets de compilación cruzada (rustup target add)
- Configuración del linker para cross-compiling
- Toolchains específicos por proyecto (rust-toolchain.toml)
- Versiones fijadas para CI
- Perfiles corporativos y espejos internos de toolchain
- Instalar cargoen entornos mínimos
- Modo offline y caché local de crates
 
- Ejecución de Código Rust y Flujo de Trabajo- rustc archivo.rs
- cargo new
- cargo init
- cargo build
- cargo run
- cargo check
- cargo testbásico
- cargo benchbásico
- cargo doc --open
- Flags comunes de compilación (--release,--verbose)
- Perfiles devyrelease
- Nivel de optimización (-C opt-level)
- RUSTFLAGSy configuración avanzada del compilador
- cargo clippyy análisis estático
- REPLs experimentales (evcxr)
- Scripts rápidos y prototipos con cargo-script
- Uso del Playground de Rust
- Redirección de stdin/stdout/stderr en binarios Rust
 
- IDEs y Editores de Código- rust-analyzery protocolo LSP
- VS Code con rust-analyzer
- IntelliJ Rust / CLion
- Vim / Neovim con LSP
- Emacs (lsp-mode,eglot)
- Autoformato con rustfmt
- Sugerencias y acciones rápidas de clippy
- Navegación por definiciones y go to definition
- Renombrado simbólico seguro (rename refactor)
- Depuración con lldb
- Depuración con gdb
- Mapas de memoria y stepping a nivel de instrucción
- Integración con CodeLLDB en VS Code
- Integración con herramientas de profiling
- Soporte de test integrado en el IDE
- Integración con cargo watchpara recarga continua
 
- Gestión de Dependencias y Entornos- cargocomo build system y gestor de dependencias
- Cargo.toml
- Cargo.lock
- Versionado semántico en dependencias ("1.2","^1.2","~1.2")
- Dependencias opcionales (optional = true)
- Features activables por crate
- Workspaces de Cargo
- Herencia de workspace en Cargo.toml
- Dependencias locales (path =)
- Dependencias desde Git
- Overrides de versiones ([patch])
- Mirrors y registries privados
- Vendorización de crates (cargo vendor)
- Caché local de compilación incremental
- Reproducibilidad entre entornos
- Compilación determinista para entrega binaria
- Bloqueo de versiones en CI
- Auditoría de dependencias (cargo audit)
 
- Distribución de Crates- Crates binarios
- Crates de librería
- Crates proc-macro
- Crates no_std
- Crates FFI (cdylib,staticlib)
- Publicación en crates.io
- cargo publish
- cargo yank
- Versionado semántico responsable
- Metadatos obligatorios en Cargo.toml
- Licencia y license/license-file
- readmey documentación pública
- Keywords y categorías
- exclude/- include
- Seguridad de la cadena de suministro
- Firmas y verificación de integridad
- Auditoría de licencias (cargo deny)
- Revisión por pares y mantenimiento comunitario
 
- Herramientas Complementarias- rustfmt(formato)
- clippy(linter)
- cargo doc(documentación)
- cargo test(testing)
- cargo bench(benchmarking)
- cargo profile/ perfiles de rendimiento
- cargo tree(árbol de dependencias)
- cargo metadata
- cargo install
- cargo uninstall
- cargo run --release
- cargo build --target
- cargo fix
- cargo fmt
- cargo clippy --fix
- Integración con CI/CD
- Integración con contenedores
- Integración con sistemas de empaquetado nativo
- Reproducibilidad en builds herméticos
- Automatización con Makefileyjust
 
 
- Historia de Rust
- Fundamentos- Tipos de Datos Básicos- Variables y let- Declaración con inferencia de tipo
- Anotación explícita de tipo
- Mutabilidad con mut
- Sombras (shadowing) y redeclaración
- Variables temporales y scope de bloque
- constpara constantes en tiempo de compilación
- staticy- static mut
 
- Booleanos (bool)
- Tipos numéricos escalares- Enteros con signo (i8,i16,i32,i64,i128,isize)
- Enteros sin signo (u8,u16,u32,u64,u128,usize)
- Flotantes (f32,f64)
- Literales numéricos con separadores _
- Conversión entre anchos de entero
- Casting con as
- Operaciones “checked”, “wrapping”, “saturating”
- Módulo std::num
- Rangos y límites (MIN,MAX)
 
- Enteros con signo (
- Caracteres y texto- charcomo escalar Unicode
- Literales de carácter
- &str(slice de string inmutable)
- String(buffer dinámico UTF-8)
- Conversión entre &stryString
- String::fromy- .to_string()
- Indexación y slicing seguro en UTF-8
- Formato con macros (format!,println!)
- Cow<'a, str>
- OsStry- OsString
- Pathy- PathBuf
 
- Tuplas- Tuplas con nombre posicional
- Tuple structs
- Desestructuración de tuplas
- Retorno múltiple con tuplas
- Tupla vacía ()
- ()como tipo unit
 
- Arrays y slices- Arrays fijos [T; N]
- Slices &[T]
- Slices mutables &mut [T]
- Indexación segura y get()
- Recortes (split_at,chunks,windows)
- Slices de bytes (&[u8])
- Conversión de arrays a slices
 
- Arrays fijos 
- Propiedad y move- Propiedad exclusiva de valores
- Movimiento vs copia (Copy)
- Cloneexplícito
- Tipos Copy
- Tipos que no son Copy
- Transferencia de propiedad a funciones
- Retorno de propiedad desde funciones
 
- Préstamos y referencias- Referencias inmutables &T
- Referencias mutables &mut T
- Reglas de aliasing único para mutables
- Duración del préstamo (lifetime implícito)
- Prestando vs moviendo
- Mutabilidad interior
- Reglas de borrow checker
 
- Referencias inmutables 
- Lifetimes- Parámetros de lifetime explícitos ('a)
- Elision de lifetimes
- Relaciones de subvida ('a: 'b)
- Lifetimes en referencias de retorno
- Lifetimes en structs
- Lifetimes en métodos impl
- 'static
- Lifetimes en closures
 
- Parámetros de lifetime explícitos (
- Enumeraciones (enum)
- Variantes sin datos
- Variantes tipo tupla
- Variantes tipo struct
- Patrones exhaustivos con match
- Option<T>
- Result<T, E>
- Ordering
- Never type(- !)
- Structs
- Structs con campos nombrados
- Tuple structs
- Unit structs
- puby visibilidad de campos
- Inicialización con sintaxis { campo: valor }
- Actualización de struct (..otro)
- Propiedad de campos y movimientos parciales
- Empaquetar datos y semántica de valor
- Traits básicos
- Copy
- Clone
- Debug
- Display
- Default
- PartialEq/- Eq
- PartialOrd/- Ord
- Hash
- Send
- Sync
- Unpin
- Sized
- Conversión y coerción
- From/- Into
- TryFrom/- TryInto
- AsRef/- AsMut
- Borrow
- Deref/- DerefMut
- Auto-deref en llamadas a métodos
- Conversión numérica con as
- Conversión de slices entre tipos compatibles
- Pattern matching de destructuración
- let+ patrones
- if let
- while let
- Patrones en parámetros de función
- Patrones en match
- Patrones anidados en structs y enums
- Patrones con guardas (if)
- Patrones con @
- Patrones con _
- Patrones de rango (..=)
 
- Variables y 
- Operadores- Operadores aritméticos (+,-,*,/,%)
- Operadores de asignación compuesta (+=,-=,*=,/=,%=)
- Operadores bit a bit (&,|,^,!,<<,>>)
- Comparación (==,!=,<,>,<=,>=)
- Operadores lógicos (&&,||,!)
- Precedencia de operadores
- Evaluación corta (short-circuit) en &&y||
- Operador de rango (..,..=)
- Desreferenciación (*)
- Indexación ([])
- ?para propagación de errores
- aspara casting explícito
- Operador refen patrones
- box(histórico) y- Box::new
- ..en patrones de struct
- ..en patrones de tuplas y enums
- &y- &muten patrones de referencia
- |en patrones alternativos en- match
- @en patrones con binding
- ..en ranges de iteración
 
- Operadores aritméticos (
- Control de Flujo- if
- else if
- else
- ifcomo expresión
- match
- matchexhaustivo
- matchcon guardas (- if cond)
- matchcon patrones anidados
- if let
- while
- while let
- loop
- for
- Rango en for
- break
- continue
- return
- Etiquetas de bucle ('label:)
- break 'label
- continue 'label
- let elsepara validación temprana
- tryblocks experimentales
- panic!como corte de control
- unreachable!y- todo!
- assert!y control en test
 
- Funciones- Definición de funciones con fn
- Parámetros con tipo explícito
- Retorno con ->
- Retorno implícito sin return
- Funciones libres vs métodos asociados
- Métodos en impl
- Métodos estáticos (fn new())
- Referencias &self
- Referencias &mut self
- Funciones genéricas
- Trait bounds en firmas (where)
- Lifetimes explícitos en firmas
- Funciones const fn
- Funciones unsafe fn
- Funciones extern "C"
- Funciones inline (#[inline])
- Atributos en funciones (#[must_use],#[cold],#[inline(always)])
- Punteros a función (fnvsFntraits)
- macro_rules!vs- fn
- Visibilidad puben funciones
 
- Definición de funciones con 
- Closures- Sintaxis |args| expr
- moveclosures
- Inferencia de tipos en closures
- Captura por referencia
- Captura por mutable referencia
- Captura por movimiento
- Traits Fn,FnMut,FnOnce
- Conversión de closures a punteros de función
- Almacenamiento de closures en Box<dyn Fn>
- Lifetimes en closures
- Uso de closures en iteradores
- Uso de closures en APIs async
- Cierres como callbacks en FFI seguro
- impl Fnen parámetros
- impl FnOncepara consumo de recursos
 
- Sintaxis 
- Manejo de Errores- Result<T, E>
- Option<T>
- Operador ?
- unwrap
- expect
- ok_or/- ok_or_else
- map_err
- and_then
- Definir tipos de error propios
- Trait std::error::Error
- Errores encadenados
- thiserror(crates de error derivado)
- Manejo de errores en main
- Devolución de Resultdesdemain
- panic!
- Recuperación después de panicconcatch_unwind
- assert!,- assert_eq!,- debug_assert!
- todo!
- unimplemented!
- unreachable!
 
- Prelude y Librería Estándar- std::prelude
- Carga automática del prelude
- Tipos fundamentales en el prelude
- Traits fundamentales en el prelude
- stdvs- core
- allocen entornos- no_std
- use std::...y rutas absolutas
- pub usepara reexportar APIs
- std::io
- std::fs
- std::env
- std::path
- std::time
- std::thread
- std::sync
- std::net
- std::process
- std::mem
- std::ptr
- std::slice
- std::str
- std::string
- std::vec
 
- Módulos y Visibilidad- mod
- Archivos y submódulos
- Jerarquía de módulos (crate,super,self)
- pub
- pub(crate)
- pub(super)
- pub(in path)
- use
- use as
- Reexport con pub use
- Separación binario / librería (src/main.rs,src/lib.rs)
- Árbol de módulos y layout de carpetas
- Módulos privados internos
- Módulos cfgcondicionales
- #[path = "file.rs"]
- extern crate(histórico)
- crate::paths absolutos
- super::paths relativos
- Módulos inline { ... }
- Tests integrados en módulos (#[cfg(test)])
 
- Atributos y Macros Básicas- Atributos en ítems (#[derive],#[inline],#[allow])
- Atributos en módulos (#![allow],#![deny])
- Atributos de lint (#[warn(clippy::...)])
- Macros declarativas macro_rules!
- Macros de formato (println!,eprintln!,format!)
- Macros de colección (vec!,vecDeque!en crates externos)
- Macros de aserción (assert!,debug_assert!)
- Macros de error (panic!)
- Macros condicionales (cfg!)
- Macros de test (#[test])
- Macros de derivación automática (#[derive(Clone, Debug, ...)])
 
- Atributos en ítems (
- Atributos de Compilación Condicional
- #[cfg(target_os = "linux")]
- #[cfg(target_arch = "x86_64")]
- #[cfg(feature = "foo")]
- #[cfg(test)]
- #[cfg(debug_assertions)]
- #[cfg_attr(...)]
- cfg_if!(macro de conveniencia)
- Builds multiplataforma con cfg
- Código específico de arquitectura
- Desactivación de partes inseguras en WASM
- Estándares de Estilo
- Formato con rustfmt
- Organización de use
- Nomenclatura de tipos (PascalCase)
- Nomenclatura de variables y funciones (snake_case)
- Constantes (SCREAMING_SNAKE_CASE)
- División en módulos pequeños
- Comentarios ///para docs públicas
- Comentarios //!a nivel de crate
- Comentarios de implementación //
- #[allow]vs- #[deny]para lints
- Políticas internas de clippy
- Reglas de API públicas estables
- Visibilidad mínima (pubvspub(crate))
- Convenciones de Proyecto
- src/main.rs
- src/lib.rs
- src/bin/*.rs
- Cargo.toml
- Cargo.lock
- README.md
- LICENSE
- rust-toolchain.toml
- benches/
- examples/
- tests/
- build.rs
- target/
- Módulos internos mod.rsvsfoo.rs
- Estructura por dominio
- Estructura por capas (core, infra, api)
- Reexportar APIs en lib.rs
- #[deny(missing_docs)]
- Versionado del crate
- Features opcionales y default-features = false
 
- Tipos de Datos Básicos
- Estructuras y manipulación de datos- Colecciones Estándar- Vec<T>
- Creación y vec![]
- Push / pop
- Indexación y .get()
- Iteración mutable e inmutable
- Reservar capacidad (with_capacity,reserve)
- insert,- remove
- retain
- sort,- sort_by,- sort_unstable
- dedup
- drain
- Conversión Vec<T>↔ slice
- VecDeque<T>
- VecDequepush_front / push_back
- LinkedList<T>
- BinaryHeap<T>
- HashMap<K, V>
- BTreeMap<K, V>
- HashSet<T>
- BTreeSet<T>
- IndexMap,- IndexSet(orden estable, crates externos)
- SmallVec,- ArrayVec(almacenamiento en stack)
- Cow<T>
- Range
- Option<T>como colección parcial
- Result<T,E>como flujo condicional
- APIs de iteradores en colecciones
- Stringy- Vec<u8>
- Box<[T]>
- Rc<[T]>y- Arc<[T]>
 
- Pilas y Colas- Vec<T>como pila LIFO
- VecDeque<T>como cola FIFO
- BinaryHeap<T>como cola de prioridad
- Múltiples productores / múltiples consumidores usando canales
- Estructuras lock-free con crossbeam(crates externos)
- Colas concurrentes en tokio::sync
- std::sync::mpsc
- Orden de mensajes garantizado
- try_recv/- recv_timeout
- Backpressure en colas async
 
- Slicing y Vistas- Slices &[T]
- Slices mutables &mut [T]
- Vistas parciales (split_at,split)
- Ventanas (windows)
- Chunks (chunks,chunks_exact)
- array_chunksy vistas fijas
- as_slice/- as_mut_slice
- strcomo slice de- u8UTF-8
- Slices crudas (*const T,*mut T)
- std::slice::from_raw_parts
- Reglas de seguridad en slices no verificados
 
- Slices 
- Manipulación de Strings- String
- &str
- Concatenación con push_str
- Concatenación con +
- Formato con format!
- Interpolación con println!
- Iteración por bytes
- Iteración por char
- Iteración por grapheme(crates externos)
- Substrings seguras por rango de bytes válidos
- Búsqueda (find,contains)
- Reemplazo (replace)
- Divisiones (split,split_whitespace)
- trim,- trim_matches
- Conversión entre OsString,PathBuf,String
- to_string_lossy
- Normalización Unicode (crates externos)
- Cow<'_, str>para evitar copias
- Propiedad vs referencia en APIs de texto
- String::leak
 
- Expresiones Regulares y Parsing- Crate regex
- Expresiones regulares compiladas
- Búsquedas globales
- Capturas con grupos
- Reemplazo con patrones
- División por regex
- Expresiones regulares sin backtracking exponencial
- lazy_static/- once_cellpara regex globales
- regex-automata(crates especializadas)
- Parsing manual con chars()
- Parsing con nom
- Parsers basados en combinadores
- Parsing binario con nom/binrw
- serdepara deserialización estructurada
 
- Crate 
- Archivos y I/O- std::fs::File
- File::open
- File::create
- Lectura síncrona (read_to_end,read_to_string)
- Escritura síncrona (write_all)
- BufReader
- BufWriter
- Lectura línea a línea (read_line)
- Iteración sobre líneas
- Permisos de archivo (set_permissions)
- metadata
- Directorios (read_dir)
- Creación y borrado de carpetas
- Renombrar y mover archivos
- Rutas (Path,PathBuf)
- std::env::current_dir
- tempfile(crates externos)
- Archivos mapeados en memoria (crates externos)
- I/O sin bloqueo en tokio::fs
- I/O con async-std::fs
 
- Formatos de Datos- JSON con serde_json
- TOML con toml
- YAML con serde_yaml
- CBOR / MessagePack (crates externos)
- Protobuf / FlatBuffers (crates externos)
- CSV con csv
- Lectura binaria con byteorder
- Escritura binaria con byteorder
- Manipulación de bits en buffers (bitvec)
- Serialización binaria con bincode
- serdederive (- Serialize,- Deserialize)
- Versionado de esquemas
- Migración de estructuras serializadas
- Validación de datos deserializados
 
- JSON con 
- Fechas y Tiempo- std::time::Duration
- std::time::Instant
- std::time::SystemTime
- Diferencias de tiempo (duration_since)
- Timeouts en I/O
- Retrasos y sleepconstd::thread::sleep
- Retrasos async con tokio::time::sleep
- Medición de rendimiento
- Perfiles de latencia
- Crate chrono(fecha/hora civil)
- Zonas horarias con chrono_tz
- Formateo de timestamps
- Parsing de timestamps
- Sincronización periódica y scheduling (crates externos)
- Timers async recurrentes (crates async)
 
- Propiedad Compartida y Gestión de Recursos- Box<T>
- Rc<T>
- Arc<T>
- Cell<T>
- RefCell<T>
- Mutex<T>
- RwLock<T>
- OnceCell<T>
- LazyLock<T>
- AtomicBool,- AtomicUsize, etc.
- Conteo de referencias y ciclos
- Fugas deliberadas (Box::leak)
- Smart pointers específicos de librería
- RAII y liberación determinista con Drop
 
- Iteradores
- Iteratortrait
- .next()
- forsobre iteradores
- Adaptadores (map,filter,flat_map)
- enumerate
- zip
- chain
- rev
- take,- skip
- collect
- Colección en Vec
- Colección en HashMap
- Iteradores infinitos y std::iter::repeat
- std::iter::from_fn
- inspect
- fold
- try_fold
- Propiedad vs referencia en iteradores
- Iteradores que consumen (into_iter)
- Iteradores prestados (iter,iter_mut)
- Iteradores paralelos (rayon)
- Iteradores async (Streamen ecosistema async)
- Expresiones Funcionales y Pipelines
- .map(...)
- .filter(...)
- .filter_map(...)
- .find(...)
- .any(...)
- .all(...)
- .position(...)
- .fold(...)
- .reduce(...)
- .group_by(...)(crates externos)
- Transformaciones in-place vs alocar nuevos Vec
- Reutilización de buffers
- Zero-copy usando slices
- Evitar clonados innecesarios
- Cowen pipelines de texto
- Seguridad y Manejo Binario
- std::mem::transmute(uso inseguro)
- std::mem::replace
- std::mem::take
- MaybeUninit<T>
- Layout de memoria (#[repr(C)],#[repr(packed)])
- Alineación (align_of,align_to)
- Lectura/escritura de bytes con byteorder
- Endianness explícito
- Acceso crudo con punteros (*const T,*mut T)
- slice::from_raw_parts
- ptr::copy_nonoverlapping
- Control de aliasing en unsafe
- Serialización binaria para FFI
- Mapear estructuras Rust a C
 
- Colecciones Estándar
- Programación estructurada y modular- Programación Orientada a Datos y Traits- Structs como tipos de datos centrales
- implblocks
- Métodos asociados
- Métodos que consumen self
- Métodos que prestan &self
- Métodos que prestan &mut self
- Encapsulación con campos privados
- Getters explícitos
- Constructores estilo new()
- Builders encadenables
- Propiedades inmutables por defecto
- APIs seguras por tipo
- APIs que evitan estados inválidos
- Patrón tipo-sello (sealed traits en módulos privados)
- Patrón unsafeencapsulado en capa segura
 
- Traits e Implementaciones- Definición de trait
- Métodos requeridos
- Métodos con implementación por defecto
- Implementación de traits para tipos propios
- Implementación de traits externos para tipos propios (coherencia)
- Implementación de traits propios para tipos externos (orfan rule)
- Traits marcadores (Send,Sync,Unpin)
- Traits auto (auto trait)
- dyn Trait
- Trait objects (&dyn Trait,Box<dyn Trait>)
- Dispatch dinámico vs estático
- Traits genéricos
- Associated types en traits
- Supertraits
- wherebounds complejos
- Implementaciones en impl<T> Trait for Tipo<T>
- Coerción de &Ta&dyn Trait
- Objetos trait en interfaces plugin
- Objetos trait y Send + Sync
- Limitaciones de objetos trait (no Selfen firma)
 
- Definición de 
- Encapsulación y Abstracción- Visibilidad pub
- Visibilidad pub(crate)
- Visibilidad pub(super)
- Campos privados y módulos amigos
- Patrones con newtype
- Patrones de estado interno protegido
- API mínima segura
- Diseño de invariantes internas
- Tipos fantasma (phantom types)
- PhantomData<T>
- Tipos con lifetimes en la API pública
- Sellado de traits para evitar implementaciones externas
 
- Visibilidad 
- Composición vs Herencia- Composición de structs
- Contención de datos (struct A { b: B })
- Delegación manual de métodos
- Derefpara ergonomía de delegación
- Herencia ausente en el lenguaje base
- Subtipado vía traits
- Polimorfismo paramétrico (genéricos)
- Polimorfismo dinámico (trait objects)
- Patrones de tipo estado (state pattern)
- Patrones de builder tipado
- Patrones GADT a través de enums
- Patrones de “typestate programming”
 
- Macros de Atributo y Derive- #[derive(Debug)]
- #[derive(Clone)]
- #[derive(Copy)]
- #[derive(PartialEq, Eq)]
- #[derive(PartialOrd, Ord)]
- #[derive(Hash)]
- #[derive(Default)]
- #[derive(Serialize, Deserialize)]
- Atributos en campos (#[serde(rename = "...")])
- Procedural macros (proc-macro)
- #[test]
- #[bench](inestable / crates externos)
- #[cfg(...)]
- #[inline]
- #[must_use]
- #[repr(C)]
- #[repr(packed)]
- #[non_exhaustive]
- #[deny(...)],- #[allow(...)],- #[warn(...)]
- Atributos específicos de plataforma
 
- Módulos y Crates (avanzado)- Crates binarios
- Crates librería
- Crates internos en un workspace
- Árbol de módulos público (lib.rs)
- Reexportar símbolos (pub use)
- Organización por dominio
- Organización por capa lógica
- Patrones preludeinternos
- #[doc(hidden)]
- #[path]
- include!
- include_bytes!
- include_str!
- build.rspara generar código
- OUT_DIRy artefactos generados
- cfg(feature = "...")
- cfg(target_os = "...")
- cfg(test)
- Tests de integración en tests/
- Ejemplos en examples/
 
- Logging- Crate log
- Macros info!,warn!,error!,debug!,trace!
- Backends (env_logger,fern,tracing)
- Niveles de log
- Filtros de log por módulo
- Logging estructurado con tracing
- tracing::spany- tracing::instrument
- Exportar logs a JSON
- Logs en aplicaciones CLI
- Logs en servicios async
- Logs en entornos no_std(semihosting / ITM)
- Rotación de logs (crates externos)
- Formato con timestamps
- Integración con observabilidad
- Uso de logen librerías reutilizables
 
- Crate 
- Documentación- Comentarios ///
- Comentarios //!a nivel de crate o módulo
- Ejemplos en documentación
- cargo doc
- cargo doc --open
- Documentación pública mínima
- #[doc(hidden)]
- #[deny(missing_docs)]
- Mostrar ejemplos que compilan
- Ejecución de ejemplos como tests doctest
- Documentar invariantes de seguridad
- Documentar unsafe
- Documentar lifetimes y ownership
- Documentar errores (Result)
- Políticas de versionado semántico en docs
- Guías de “cómo usar” en módulos raíz
- Ejemplos por feature flag
- Docs generadas para crates internos
- Publicación de docs en hosting estático
- Documentación interna vs externa
 
- Comentarios 
- Testing- #[test]
- cargo test
- Tests de unidad
- Tests de integración (tests/)
- Tests de documentación (doctests)
- assert!
- assert_eq!
- assert_ne!
- matches!
- should_panic
- Tests con Result<(), E>
- Tests async con runtimes (#[tokio::test])
- Tests parametrizados (macros de terceros)
- Fixtures simuladas manualmente
- tempfilepara tests con disco
- Pruebas con proptest(property-based testing)
- Pruebas fuzzing (cargo fuzz)
- Pruebas de snapshot (insta)
- Pruebas de rendimiento (criterion)
- Cobertura de código (cargo tarpaulin)
- #[cfg(test)]secciones privadas de prueba
- Tests de concurrencia y race conditions
- Tests de integración multinodo / multi-hilo
- Mocking de dependencias (crates mockall, etc.)
- Simulación de redes con sockets falsos
- Tests deterministas de tiempo (fake_time)
- Tests con canal mpsc local
- Tests que validan Send + Sync
- Tests de unsafecorrectness
- Validación de invariantes de memoria
 
- Depuración
- dbg!macro
- println!debug
- Debugderivado (- #[derive(Debug)])
- Revisar panic backtraces (RUST_BACKTRACE=1)
- gdb
- lldb
- Depuración con VS Code (CodeLLDB)
- Breakpoints en código Rust
- Inspección de variables y lifetimes
- Desensamblado de código generado
- Inspección de ensamblador (rustc --emit asm)
- Inspección de MIR (rustc --emit mir, nightly)
- Inspección de LLVM IR (--emit llvm-ir)
- Validación de alineación de punteros
- Detección de UB potencial usando miri
- Análisis con sanitizers (ASan, UBSan)
- Chequeo de data races con ThreadSanitizer
- Validación de límites con AddressSanitizer
- Depuración de bloqueo mutuo (deadlock)
- Depuración de rendimiento con perf
- Flamegraphs
- Inspección de heap con herramientas externas
- Registros de tracing con tracing+tokio-console
- Pruebas de estrés para reproducir condiciones de carrera
- Auditoría manual de unsafe
 
- Programación Orientada a Datos y Traits
- Estructuras avanzadas y programación funcional- Programación Funcional y Estilo Declarativo- Rust como lenguaje orientado a expresiones
- Expresiones en lugar de sentencias
- Cierres (|...| ...)
- Inmutabilidad preferida
- map,- filter,- fold
- flat_map
- Composición con iteradores
- Optioncomo mónada de presencia/ausencia
- Resultcomo mónada de éxito/error
- Encadenamiento con and_then
- Encadenamiento con map_err
- Control de flujo sin panic
- Early returns con ?
- if letcomo destructuración parcial
- matchcomo eliminación exhaustiva de casos
- matchanidado para composición de lógica
- let elsepara validaciones
- Uso de From/Intopara componer transformaciones
- Tipos de dominio con invariantes fuertes
- Errores tipados en lugar de excepciones
 
- Iteradores / Adaptadores / Streams- Iteratortrait
- Adaptadores estándar (map,filter,take,skip,enumerate)
- Adaptadores de flattening (flat_map,flatten)
- Adaptadores de búsqueda (find,position,rposition)
- Adaptadores de acumulación (fold,scan)
- Adaptadores de partición (partition,group_bycon crates externos)
- Iteradores infinitos (repeat,successors)
- Iteradores sobre Result
- try_fold
- Paralelización con rayon::prelude::*
- Iteradores paralelos (par_iter,par_chunks)
- Recolección en Vec,HashMap,BTreeMap
- Iteradores mutables (iter_mut)
- Iteradores que consumen (into_iter)
- Iteradores sobre referencias (iter)
- Iteradores sobre slices (slice::Chunks,ChunksExact)
- Iteradores de archivos línea a línea
- Iteradores de sockets TCP
- Streamen async (- futures::stream)
- Combinadores async (stream::map,stream::buffer_unordered)
 
- Punteros Inteligentes y Mutabilidad Interior- Box<T>
- Rc<T>
- Arc<T>
- Cell<T>
- RefCell<T>
- Mutex<T>
- RwLock<T>
- AtomicBool,- AtomicUsize,- AtomicPtr
- Arc<Mutex<T>>
- Arc<RwLock<T>>
- OnceCell<T>
- LazyLock<T>
- Weak<T>
- Ciclos con Rcy fuga de memoria lógica
- Romper ciclos con Weak
- Interior mutability patterns
- Single-thread vs multi-thread (RcvsArc)
- Envolturas seguras para FFI
- Gestión de recursos externos (file handles, sockets)
- RAII con Drop
 
- Benchmarking y Perfilado- cargo bench
- Crate criterionpara benchmarks estadísticos
- Microbenchmarks de funciones puras
- Benchmarks con acceso a disco
- Benchmarks de red
- Perfiles de CPU con perf
- Perfiles de CPU con dtrace/eBPF
- Flamegraphs
- Análisis de asignaciones con valgrind/heaptrack
- Instrumentación manual con timestamps (Instant::now)
- Contadores internos de rendimiento
- Benchmarks de throughput vs latency
- Impacto de cloneen hot paths
- Reducción de allocen loops críticos
- Caches locales (HashMapinterno)
- Inlining agresivo (#[inline(always)])
- Branch prediction hints (patrones de if likelyusando crates externos)
- Mediciones en modo --release
- Evitar TLE bloqueando IO
- Ensamblador generado (rustc --emit asm)
 
- Herramientas de Calidad de Código- rustfmtpara formateo automático
- clippypara lints
- cargo clippy --fix
- Lints de estilo
- Lints de rendimiento
- Lints de correctitud
- Lints de seguridad (uso de unsafe)
- Lints de complejidad
- Reglas internas de equipos (#![deny(warnings)])
- Revisiones de unsafeen PRs
- Auditorías de unsafeen librerías públicas
- Control de deuda técnica
- cargo denypara licencias y vulnerabilidades
- cargo auditpara CVEs
- cargo udepspara dependencias no usadas
- cargo outdatedpara versiones antiguas
- cargo machete/- cargo trim(limpieza de dependencias)
- Políticas de versión mínima soportada (MSRV)
- Análisis estático adicional con sanitizers
- Integración en CI (rustfmt --check,clippy -- -D warnings)
 
- Seguridad de Memoria y Concurrencia- Ausencia de nullen tipos seguros (Option<T>)
- Ausencia de use after freebajosafe Rust
- Propiedad y lifetimes como contrato de seguridad
- Send
- Sync
- Send + Syncen tipos concurrentes
- Arc<Mutex<T>>para compartir estado
- RwLockpara lecturas concurrentes
- Canales MPSC (std::sync::mpsc)
- Canales múltiples productores múltiples consumidores (crossbeam)
- Sincronización sin bloqueo (lock-free)
- Atomics (Ordering)
- Deadlocks y estrategias de evitación
- Condiciones de carrera y unsafe
- Problemas de memoria ABA en atomics
- Reglas de aliasing exclusivas
- &mut Tcomo garantía de acceso exclusivo
- Verificación en tiempo de compilación vs runtime
- Compartir memoria en async sin Send(!Sendfutures)
- Minimizar unsafeen código concurrente
 
- Ausencia de 
- Sistema de Tipos Avanzado- Genéricos (fn foo<T>(x: T))
- impl Traiten retorno
- impl Traiten parámetros
- wherebounds complejos
- Traits con tipos asociados
- Traits con constantes asociadas
- Traits con lifetimes asociados
- Const generics (const N: usize)
- Arreglos genéricos [T; N]conconst N
- PhantomData<T>
- Tipos marca (marker types)
- !(never type)
- Tipos vacíos
- Tipos que no pueden construirse externamente
- enumno exhaustivos (- #[non_exhaustive])
- Patrones sealed trait
- Coherencia de traits (orphan rules)
- Auto traits (Send,Sync)
- Sizedy- ?Sized
- Trait objects y dyn Trait
- Subtipado con lifetimes distintas
- Higher-Rank Trait Bounds (HRTB, for<'a>)
- Fn,- FnMut,- FnOnce
- Unpin
- Pin<P>
- Drop
- ManuallyDrop<T>
- MaybeUninit<T>
- Unsafe traits
- Límite entre safe Rustyunsafe Rust
 
- Genéricos (
 
- Programación Funcional y Estilo Declarativo
- Concurrencia, Async, Bajo Nivel- Async y Concurrencia- Hilos (std::thread::spawn)
- JoinHandle
- moveclosures en threads
- Arc<T>para compartir datos entre hilos
- Mutex<T>para exclusión mutua
- RwLock<T>para lectura concurrente
- Barreras (Barrier)
- Canales std::sync::mpsc
- sync::mpsc::Sender/- Receiver
- Canales crossbeam
- Canales tokio::sync::mpsc
- Semáforos async (tokio::sync::Semaphore)
- Condvar
- AtomicBool,- AtomicUsize, etc.
- Fences de memoria (Ordering)
- Evitar data races con SendySync
- Sendautomático para la mayoría de tipos
- Tipos que no son Send
- Compartir file descriptors entre hilos
- Compartir conexiones de red
- Pools de hilos
- rayonpara paralelismo de datos
- rayon::join
- par_iter
- Balanceo de carga de trabajo
- Uso de #[derive(Clone)]para handles ligeros
- Cancelación cooperativa entre hilos
- Pruebas de concurrencia
- Deadlock debugging
- Escalabilidad en CPU multinúcleo
 
- Hilos (
- Async/await- async fn
- async { ... }bloques
- await
- Futuretrait (- std::future::Future)
- Pin
- Unpin
- Box<dyn Future<Output = T> + Send>
- impl Future<Output = T>
- Ejecutores (tokio,async-std,smol)
- tokio::spawn
- tokio::select!
- Canales async (tokio::sync::mpsc)
- Mutex async (tokio::sync::Mutex)
- RwLock async
- Temporizadores async (tokio::time::sleep)
- Timeouts (tokio::time::timeout)
- Streams async (futures::stream::Stream)
- Backpressure en streams async
- Conexiones persistentes async
- I/O no bloqueante (tokio::net)
- Sockets TCP async
- Sockets UDP async
- WebSockets async
- Sincronización en single-threaded runtime
- Sendy- Syncen futures
- !Sendfutures y- LocalSet
- task::yield_nowy cooperación
- Cancelación de tareas async
- Reintentos con delays exponenciales
- Recolección de JoinHandleasync
 
- Redes y Comunicación- std::net::TcpListener
- std::net::TcpStream
- std::net::UdpSocket
- Modo bloqueante
- Modo no bloqueante (set_nonblocking)
- Lectura/escritura con Read/Write
- Buffers ([u8])
- Gestión de errores de red (io::Result)
- Timeouts de socket
- Reintentos de conexión
- Serialización de mensajes (bincode,serde)
- Protocolos binarios personalizados
- HTTP cliente (reqwest)
- HTTP servidor (hyper,axum,warp,actix-web)
- WebSockets (crates externos)
- TLS (rustls)
- Certificados propios
- Protocolos binarios de baja latencia
- RPC (tonicgRPC)
- Streaming bidireccional
- Backpressure en servidores async
- Balanceo de carga
- Sharding de conexiones
- Pools de conexión
- Control de congestión a nivel de aplicación
- Telemetría de latencia y throughput
- Límite de tasa (rate limiting)
- Cortafuegos lógico a nivel de aplicación
- Instrumentación con tracing
- Testing de red con sockets falsos
 
- Metaprogramación- Macros declarativas macro_rules!
- Macros con repeticiones ($()*)
- Macros con capturas de tokens
- Macros que generan código repetitivo
- Macros para logs (info!,debug!,trace!)
- Macros de aserción (assert!,assert_eq!,matches!)
- Procedural macros #[proc_macro]
- Procedural macros #[proc_macro_derive]
- Procedural macros #[proc_macro_attribute]
- Derives personalizados
- Generación de código en build.rs
- Incluir archivos externos (include_str!,include_bytes!)
- cfg!y macros condicionales
- concat!,- env!,- option_env!
- Macros para FFI
- Macros para DSLs internos
- Macros para test parametrizado
- Macros para tracing de rendimiento
- quotey- synen procedural macros
- Límites de macros (higiene)
 
- Macros declarativas 
- Gestión de Recursos y RAII- RAII (Resource Acquisition Is Initialization)
- Droptrait
- Cierre automático de archivos al salir de scope
- Liberación de locks al salir de scope
- MutexGuardy- RwLockReadGuard
- ManuallyDrop<T>
- MaybeUninit<T>
- mem::forget
- Smart pointers con semántica RAII
- scopeguard(crates externos)
- Patrones de cleanup garantizado
- Evitar fugas de memoria no deseadas
- Control de recursos FFI
- Contadores de referencia (Rc,Arc)
- Descriptores de archivo y RAII
- Sockets y RAII
- Mutexes y RAII
- Buffers mmap y RAII
- Transacciones y RAII
- Tareas async abortables con RAII
 
- Monitoreo y Observabilidad- tracingcrate
- Spans y eventos
- #[instrument]
- Métricas de latencia
- Métricas de throughput
- Métricas de error rate
- Exportadores de métricas (Prometheus, etc.)
- Muestreo de eventos de alto volumen
- Logging estructurado en JSON
- Correlación de requests distribuidos
- Propagación de contexto en async
- Inicio y fin de span por request
- Identificadores de request
- Monitoreo de heap
- Monitoreo de file descriptors abiertos
- Monitoreo de latencia de syscalls
- Límites de memoria en contenedores
- Límites de CPU en contenedores
- Alertas y umbrales
- Integración con APM externos
 
- Gestión de Memoria y Bajo Nivel- Ausencia de GC en Rust
- Propiedad y liberación determinista
- Stack vs heap
- Box<T>para heap
- Vec<T>como buffer dinámico
- Stringcomo buffer dinámico UTF-8
- Box<[T]>y slices en heap
- Box<dyn Trait>
- Pin<Box<T>>
- Pin<&mut T>
- Referencias crudas (*const T,*mut T)
- unsafeblocks
- unsafe fn
- extern "C"
- Layout de memoria con #[repr(C)]
- Acceso sin chequear a slices (get_unchecked)
- Eliminación manual de bounds checks
- Aliasing y &mut T
- Volátiles (ptr::read_volatile,ptr::write_volatile)
- MaybeUninit<T>para inicialización diferida
- Zero-cost abstractions
- Inlining y #[inline(always)]
- Eliminación de branching con match
- Control fino de panic = abort
- #![no_std]
- Usar coreen entornos embebidos
- Arranque bare-metal (#[no_main])
- Interrupciones en microcontroladores (#[interrupt])
- Memoria compartida en ISR
- unsafeencapsulado en HALs embebidos
 
 
- Async y Concurrencia
- Implementación y Distribución- Herramientas Generales del Entorno- rustuppara toolchains
- cargocomo orquestador
- rustccomo compilador
- rustfmtpara formato
- clippypara lints
- cargo auditpara seguridad
- cargo denypara licencias
- cargo outdatedpara actualizar versiones
- cargo udepspara limpiar dependencias
- cargo treepara inspección de dependencias
- cargo metadatapara tooling externo
- cargo watchpara recarga en caliente
- just/- makepara automatización
- Scripts build.rs
- rust-toolchain.tomlpara fijar versión
- Cachés de compilación incremental
- Perfiles dev/release
- lto(link-time optimization)
- panic = abortpara binarios pequeños
- stripde símbolos en binarios finales
- RUSTFLAGSpersonalizados
- Cross-compiling con --target
- cross(herramienta de cross-compiling)
- Integración con Docker
- Integración con Bazel / Buck (cuando aplica)
- Integración con Nix
- Integración con CI (GitHub Actions, etc.)
- Reproducibilidad binaria
- Firmas criptográficas de binarios
- Publicación interna de artefactos
 
- Compilación y Backends- rustc
- MIR (Mid-level IR)
- LLVM IR
- Generación de código máquina
- Optimizaciones de LLVM
- -C opt-level
- -C target-cpu
- -C target-feature
- -C lto
- -C panic=abort
- -C relocation-model
- -C code-model
- -C inline-threshold
- -C link-args
- Compilación incremental
- Cache de incrustaciones (incr comp cache)
- Reutilización de artefactos en CI
- Compilación cruzada ARM / RISC-V
- WASM como objetivo (wasm32-unknown-unknown)
- wasm32-wasi
- Generación de librerías dinámicas (cdylib)
- Generación de librerías estáticas (staticlib)
- Binarios independientes (musl)
- Minimización de tamaño (opt-level = "z")
- Embedded no_stdsin sistema operativo
- build-stdpara targets custom
- Xargo/- cargopara compilación de- corepersonalizada
- bindgenpara generar bindings C
- cbindgenpara exponer APIs C
- Versionado del compilador requerido (MSRV)
 
- Publicación y Versionado de Crates- Cargo.tomlcon- [package]
- name,- version,- edition
- authors/- license
- readme
- repository
- documentation
- homepage
- keywords
- categories
- include/- exclude
- features
- default-features
- optional = true
- cargo publish
- cargo yank
- SemVer para crates (MAJOR.MINOR.PATCH)
- breaking changesy bump mayor
- Compatibilidad semántica en librerías públicas
- Compatibilidad binaria de cdylib
- Versiones mínimas soportadas (MSRV en README)
- Changelogs y CHANGELOG.md
- cargo-releasepara automatizar versiones
- Firmar tags y releases
- Auditoría de licencias con cargo deny
- Auditoría de CVEs con cargo audit
- Políticas internas de seguridad
- Soporte de plataforma declarado (targets)
- Estados experimentales (unstable,nightly-only)
- Exponer #[cfg(feature = "foo")]en docs
- Estabilidad de APIs unsafe
 
- Aplicaciones CLI- Crates clap,argh,structopt
- Parsing de argumentos
- Subcomandos
- Flags y opciones
- Validación de input
- --helpy- --version
- Autogeneración de ayuda
- Autocompletado de shell
- Colores y estilos (ansi_term,colored)
- Barras de progreso (indicatif)
- println!y salida estándar
- eprintln!y error estándar
- Códigos de salida (std::process::exit)
- Logging configurable por flag (-v,-q)
- Uso de anyhowoeyreen CLI
- Serialización de salida (serde_json)
- Interactivo en terminal (prompt)
- TUI (crossterm,ratatui)
- Tests de CLI vía assert_cmd
- Empaquetado estático
- Distribución en contenedores
- Binarios multiplataforma
- Firmas de binario y checksum
- Versionamiento semántico del binario
- Compatibilidad hacia atrás en flags CLI
- Integración con systemd/ servicios
- Configuración vía archivos (toml,yaml)
- Variables de entorno (std::env)
- Actualización automática (self-update)
- Publicación en gestores de paquetes
 
- Crates 
- Aplicaciones Gráficas y de Escritorio- egui
- iced
- gtk-rs
- winit
- Motores de juego (bevy)
- Renderizado con wgpu
- UIs nativas vs webview
- Empaquetado multiplataforma
- Integración con aceleración GPU
- Eventos y loop principal
- Recursos compartidos entre hilos UI
- Canales de comunicación UI ↔ lógica
- Serialización de estado UI
- Persistencia de preferencias
- Integración con sistemas de archivos
- Control de DPI y escalamiento
- Integración con backends audio
- Janelas múltiples
- Controladores de input (teclado, mouse, gamepad)
- Soporte de internacionalización en UI
- Empaquetado tipo instalador
- Firmado de binarios en macOS/Windows
- Sandboxing y permisos
- Notificaciones del sistema
- Integración con portapapeles
- Arrastrar y soltar
- Actualización auto-generada (autoupdater)
- Integración con WebAssembly para componentes
- Reutilización de lógica Rust en frontend web
- Herramientas de depuración visual
 
- Internacionalización (i18n) y Localización (l10n)- Soporte de Unicode en String
- Formato localizado de números y fechas (crates externos)
- Carga de catálogos de traducción
- Selección dinámica de idioma
- Separación de recursos por locale
- Plantillas de mensajes parametrizados
- Integración de i18n en CLI
- Integración de i18n en GUI
- Internacionalización en aplicaciones web (axum,actix)
- Mensajes de error traducibles
- Recursos de texto estáticos empaquetados (include_str!)
- Detección de locale del sistema
- Pluralización y reglas gramaticales
- Formato de monedas y unidades
- Localización offline en binarios estáticos
- Actualización de catálogos sin recompilar
- no_stdy mensajería mínima
- i18n en firmware embebido (pantallas pequeñas)
- Soporte RTL (right-to-left)
- Compatibilidad con estándares gettext
- Convenciones culturales en fechas/hora
- Adaptación de layouts UI a idiomas
- Internacionalización de documentación pública
- Mantenimiento de catálogos en repositorios
- Tests que validan traducciones
- Versionado de recursos lingüísticos
- Seguridad frente a inyección en plantillas traducibles
- Selección de idioma vía variables de entorno
- Fallbacks de idioma
- Integración con pipelines de CI para i18n
 
- Soporte de Unicode en 
 
- Herramientas Generales del Entorno
- Internals- Compilador de Rust (rustc)- Fases del compilador
- Parseo del código fuente
- Árvore de sintaxis (AST)
- AST desugaring
- HIR (High-level IR)
- MIR (Mid-level IR)
- Borrow checker
- Inferencia de lifetimes
- Resolución de tipos
- Monomorfización de genéricos
- Optimización en MIR
- Traducción a LLVM IR
- Optimizaciones de LLVM
- Generación de código máquina final
- Enlazado (linking)
- rustc --emit
- rustc --emit=mir(nightly)
- rustc --emit=llvm-ir
- rustc --emit=asm
- Control de lint con #![deny],#![warn]
- #[inline]y sugerencias de optimización
- #[cold]para rutas raras
- #[must_use]para resultados críticos
- #[repr(C)]para FFI estable
- #[no_mangle]para símbolos exportados
- #[link(name = "...")]
- Driver de compilación en cargo
- Caches de compilación incremental
- Hashes de contenido para recompilación selectiva
- Flags de depuración y symbols (-g)
 
- Modelo de Ejecución- Binarios nativos
- Librerías dinámicas (cdylib)
- Librerías estáticas (staticlib)
- Binarios estáticos (musl)
- WASM (wasm32-unknown-unknown)
- WASI (wasm32-wasi)
- no_stden entornos bare-metal
- #[no_main]para runtime propio
- Punto de entrada fn main()
- panic!como abort o unwind
- panic = aborten- Cargo.toml
- panic = unwind
- Stack unwinding y catch_unwind
- Manejadores panic::set_hook
- Inicialización estática
- Orden de staticinit
- Finalización a través de Drop
- RAII para cleanup determinista
- Dropen cascada
- Threads del sistema operativo (std::thread)
- Futures y ejecutores async en espacio de usuario
- Pools de hilos vs loops event-driven
- Bloqueo vs no-bloqueo en I/O
- Programación lock-free
- Exclusión mutua con Mutex
- RwLock para acceso paralelo de solo lectura
- Atomics y órdenes de memoria
- Volátil para MMIO
- Interacciones con señales del SO
- Integración con FFI de C en runtime
 
- Modelo de Datos- Representación en memoria de structs
- #[repr(Rust)]por defecto
- #[repr(C)]para compatibilidad ABI con C
- #[repr(packed)]
- #[repr(transparent)]
- Orden y alineación de campos
- Enum layout optimizado (Option<&T>sin overhead)
- Nichos de valores no usados (niche optimization)
- Box<T>como puntero único a heap
- Rc<T>con conteo de referencias single-thread
- Arc<T>con conteo de referencias thread-safe
- Cell<T>y- RefCell<T>para mutabilidad interior
- UnsafeCell<T>como primitiva base de interior mutability
- Zonas exclusivas de referencia mutable (&mut T)
- Reglas de aliasing en borrow checker
- Sendpara traspaso seguro entre hilos
- Syncpara acceso compartido seguro
- Unpiny movimiento seguro de futures
- Pin<&mut T>
- MaybeUninit<T>para inicialización manual
- ManuallyDrop<T>para controlar- Drop
- Propiedad lineal como contrato estático
- Ciclos de referencia con Rc
- Weak<T>para romper ciclos
- Fugas de memoria intencionales (leak)
- Layout de closures y capturas
- dyn Traity fat pointers (puntero + vtable)
- Llamadas virtuales vía vtable
- #[inline]y monomorfización en genéricos
- Eliminación de código muerto en monomorfización
 
- Modelo C y FFI- extern "C"en funciones
- #[no_mangle]para nombres estables
- #[repr(C)]en structs para FFI
- Punteros crudos (*const T,*mut T)
- unsafeen llamadas FFI
- Traducción de enuma C
- Strings CString
- CStr
- Buffers *mut u8
- Longitud y ownership cruzando la frontera FFI
- Callbacks desde C hacia Rust
- Callbacks de Rust hacia C
- ABI estable entre Rust y C
- ABI entre Rust y C++
- bindgenpara generar bindings desde headers C
- cbindgenpara exponer headers C desde Rust
- Reglas de seguridad al exponer punteros
- Gestión de memoria compartida con librerías C
- #[link(name = "...")]
- #[link(kind = "static")]
- #[link(kind = "dylib")]
- Cargar librerías dinámicas en runtime
- Paso de structs complejos a C
- Paso de callbacks con extern "C" fn
- Manejo de errores en FFI (errno, códigos de error)
- Invariantes documentadas en funciones unsafe
- Pruebas de integración con librerías C existentes
- Construcción cruzada para plataformas embebidas
- Integración con kernels / drivers
- no_stdy FFI en firmware
 
- Extensiones y Casos Especiales- no_stdy entornos sin sistema operativo
- Sistemas embebidos ARM Cortex-M
- RISC-V embebido
- Mapeo de registros de hardware con volatile
- Interrupciones (#[interrupt])
- Bootloaders en Rust
- Sistemas operativos escritos en Rust
- Kernels monolíticos vs microkernels en Rust
- Drivers de dispositivo en Rust
- Controladores de red en Rust
- Librerías criptográficas sin std
- Criptografía con no_std
- Randomness seguro (rand_core)
- #![forbid(unsafe_code)]en capas superiores
- unsafeencapsulado en HALs
- WebAssembly (wasm32-unknown-unknown)
- WASI (wasm32-wasi)
- Llamadas host ↔ WASM
- Limitaciones de asignador en WASM
- Serialización compacta para WASM
- Portado de lógica Rust a frontend web
- Reutilización de core logic en CLI y servidor
- Reutilización de lógica en microcontroladores
- Estrategias para panicen entornos sin stdout
- panic-halty- panic-abort
- Arranque seguro y watchdog
- Integridad de memoria en dispositivos críticos
- Certificación de software seguro
- Política de revisiones de unsafe
- Evolución futura del lenguaje, del borrow checker y de asyncnativo
 
 
- Compilador de Rust (
8.4 - Shell
- Introducción- Historia de los shells en Unix- Bourne Shell (sh), csh y ksh
- Bash: origen, GNU y licenciamiento
- POSIX Shell: estandarización y portabilidad
- Evolución de Bash 1.x → 2.x → 3.x → 4.x → 5.x
- Línea temporal de características (arrays, asociativos, coproc, globstar)
- Comunidad, mantenimiento y políticas de releases
 
- Shells y compatibilidad- sh vs bash vs dash vs ksh vs zsh
- Conformidad POSIX y “bashismos”
- Detección de shell activo y versión ($SHELL,bash --version)
- Portabilidad entre distribuciones y BSD/macOS
- BusyBox/Almquist (ash) y entornos mínimos
- Limitaciones en sistemas embebidos
 
- Instalación y actualización de Bash- Distribuciones Linux (apt, dnf, pacman, zypper)
- macOS (Homebrew, MacPorts)
- Windows (WSL, MSYS2, Git Bash, Cygwin)
- Compilación desde fuente y opciones comunes
- Selección de shell por defecto (chsh,/etc/shells)
- Verificación de instalación y PATH
 
- Ejecutar el shell y scripts- Sesión interactiva vs no interactiva
- Shebangs (#!/bin/sh,#!/usr/bin/env bash)
- Ejecución directa, bash script.sh, permisos ychmod +x
- source/- .vs ejecución en subshell
- Flags y modos (-c,-i,-l,-O,-o,-v,-x)
- Entrada/salida estándar, tuberías y redirecciones básicas
 
- Terminales y línea de comandos- TTY vs PTY
- Emuladores de terminal (GNOME Terminal, iTerm2, Windows Terminal, kitty, Alacritty)
- Multiplexores (tmux, screen)
- Readline, historial y edición de línea
- Autocompletado y bash-completion
- Copiado/pegado, mouse reporting y scrollback
 
- Editores y herramientas de desarrollo- Vim, Neovim, Emacs, Nano, VS Code
- LSP/“language server” para shell (bash-language-server)
- Formateadores y linters (shfmt, ShellCheck)
- Integración con depuradores y perfiles de ejecución
- Fragmentos, plantillas y snippets de scripts
- Proyectos de ejemplos y repos de referencia
 
 
- Historia de los shells en Unix
- Fundamentos- Conceptos básicos del shell- Comandos, argumentos y opciones
- Estado de salida y semántica de éxito/fracaso
- Rutas absolutas vs relativas
- PATH, búsqueda de comandos y hashing de rutas
- Builtins vs ejecutables externos
- Separadores, espacios y saltos de línea
 
- Variables y entorno- Definición, asignación y alcance
- Exportación al entorno (export)
- Variables de entorno comunes (PATH, HOME, USER, SHELL)
- Variables locales vs globales
- env,- printenvy archivos de entorno
- Convenciones de nombres y mayúsculas
 
- Tipos de datos prácticos- Cadenas y evaluación de palabras
- Números en aritmética de shell
- Arrays indexados (bash)
- Arrays asociativos (bash)
- Valores nulos y no definidos
- Lectura segura de datos con IFS
 
- Citas y expansión- Comillas simples vs dobles
- Escape con barra invertida
- Expansión de variables
- Sustitución de comandos
- Expansión aritmética
- Orden de expansiones y efectos colaterales
 
- Globbing y patrones- Patrón *,?,[]
- extgloby patrones extendidos
- globstary coincidencia recursiva
- nullglob,- failglob,- nocaseglob
- Diferencias con expresiones regulares
- Interacciones con IFS y splitting
 
- Patrón 
- Operadores- Aritméticos en (( ))
- Comparación en [ ]y[[ ]]
- Operadores de archivo (-e,-f,-d,-r,-w,-x)
- Operadores de cadena (=,!=,<,>,=~)
- Asignación compuesta y let
- Precedencia práctica en shell
 
- Aritméticos en 
- Control de flujo- if,- elif,- else
- casecon patrones
- forclásico y- for … in
- whiley- until
- break,- continue,- exit,- return
- Sentencias condicionales cortas con &&y||
 
- Funciones- Definición y llamada
- Parámetros posicionales y $#,$*,$@,$?,$$,$!
- localy sombras de variables
- Valores de retorno y echo/stdout
- Bibliotecas de funciones y source
- Namespacing por convención
 
- Estado de salida y manejo de errores- Códigos de retorno y set -e
- pipefaily errores en tuberías
- set -uy variables no definidas
- trapy captura de señales
- Limpieza y funciones cleanup
- Diseño de scripts “fail-fast”
 
- Códigos de retorno y 
- Opciones del shell
- setpara opciones POSIX
- shoptpara opciones específicas de bash
- Modo POSIX vs modo bash
- Opciones de globbing y expansión
- Ajustes de historia y readline
- Persistencia en dotfiles
 
- Conceptos básicos del shell
- Estructuras y manipulación de datos- Cadenas en shell- Longitud, subcadenas y sustituciones
- Borrado de prefijos/sufijos con patrones
- Sustitución global de patrones
- Conversión de mayúsculas/minúsculas
- Manejo de caracteres especiales y binarios
- Normalización de fin de línea y codificaciones
 
- Arrays indexados- Declaración, inicialización y expansión
- Acceso por índice y rebanado
- Iteración sobre índices y valores
- Operaciones de inserción y borrado
- Longitud y expansión segura con [@]
- Errores comunes con IFS y splitting
 
- Arrays asociativos- Declaración y asignación de claves
- Iteración por clave y valor
- Existencia de claves y pruebas
- Copias y referencias
- Serialización simple de mapas
- Limitaciones de portabilidad
 
- Lectura y parsing- readseguro con- -ry- IFS
- mapfile/- readarray
- Lectura de campos, CSV y delimitadores
- getoptspara opciones cortas
- getopt/GNU para opciones largas
- Validación de entrada y mensajes de ayuda
 
- Expresiones regulares y patrones- [[ string =~ regex ]]en bash
- grep básico, ERE y PCRE según herramienta
- sed para sustituciones en flujo
- awk para campos y registros
- Limitaciones de regex en [[ ]]
- Casos de uso mezcla regex/patrones
 
- Archivos y directorios- Comprobaciones de archivo y directorio
- Metadatos y permisos
- Timestamps y touch
- Listados y filtros
- Búsqueda con find
- Trabajo seguro con nombres con espacios y saltos de línea
 
- Redirecciones y descriptores- >,- >>,- <,- 2>,- &>,- <>
- execpara reasignar FDs
- teey duplicación de salida
- noclobbery- set -C
- Here-docs (<<,<<-) y here-strings (<<<)
- Pseudodispositivos y /dev/null
 
- Tuberías y procesos- Piping entre múltiples comandos
- Efectos de subshell en (...)
- Agrupación { ...; }
- xargsy- -0con- -print0
- parallelpara concurrencia
- Consideraciones de rendimiento
 
- Sustituciones y procesos especiales- Sustitución de comandos $( )
- Sustitución de procesos <( )y>( )
- Co-procesos coproc
- Nombres de tuberías mkfifo
- /dev/tcpy- /dev/udpen bash
- Captura de stderr por separado
 
- Sustitución de comandos 
 
- Cadenas en shell
- Programación estructurada y modular- Organización de scripts- Estructura de carpetas y convenciones
- Cabeceras, licencia y metadatos
- Funciones reutilizables y bibliotecas
- “Main” y flujo de ejecución
- Gestión de errores y logging
- Salidas y códigos de retorno
 
- Interfaz de línea de comandos- Diseño de --helpy--version
- Subcomandos por convención
- Validación de parámetros y contratos
- Mensajes de uso y ejemplos
- Colores y TTY detección
- Compatibilidad con sudo
 
- Diseño de 
- Configuración y entorno- Archivos .envydotenvCLI
- Variables de entorno y precedencia
- Archivos INI/TOML/YAML con grep/sed/awk/jq/yq
- Plantillas con here-doc y placeholders
- Rutas relativas y absolutas robustas
- Detección de sistema y distros
 
- Archivos 
- Sourcing y módulos- sourcede librerías internas
- Control de colisiones de nombres
- Variables readonlyy constantes
- Carga condicional y “guardas”
- Versión mínima de bash y chequeos
- Dependencias de herramientas externas
 
- Estilo y calidad- Guías de estilo (Google Shell Style Guide)
- ShellCheck: categorías y reglas comunes
- shfmt: indentación y formato
- Nombres de funciones y variables
- Comentarios y secciones
- Revisiones y code review
 
- Documentación- Cabeceras con descripción y uso
- --helpautogenerado por funciones
- Manuales manmínimos conronn/pandoc
- README de CLI
- Ejemplos reproducibles
- Notas de compatibilidad
 
- Pruebas- bats-core: estructura y aserciones
- shUnit2: suites y fixtures
- cram/tap: pruebas de línea de comandos
- Mocks de comandos con PATH y wrappers
- Tests de integración con contenedores
- Cobertura y medición de rutas de error
 
- Depuración- set -xy PS4
- bash -xy trazas
- set -vy eco de entradas
- trap ERRy diagnósticos
- printf/- echodirigidos a stderr
- Reproducibilidad de fallos
 
- Rendimiento y benchmarking- timey- /usr/bin/time
- hyperfinepara CLIs
- Minimización de subshells
- Sustituciones eficientes vs pipelines
- Uso de awk/sed/perlcuando corresponda
- Perfilado con strace/dtruss(lectura de alto nivel)
 
 
- Organización de scripts
- Texto, datos y utilidades de Unix- Búsqueda y filtrado- grep,- egrep,- ripgrep
- head,- tail,- sedfiltros básicos
- awkpara columnas y agregaciones
- cut,- paste,- tr
- sort,- uniq,- comm,- join
- nl,- wc,- fold,- fmt
 
- Estructuras y formatos- CSV robusto con delimitadores
- TSV y cut --output-delimiter
- JSON con jq
- YAML con yq
- INI con awk/greppatrones
- Binarios y xxd/hexdump
 
- Archivos y compresión- tary variantes de compresión
- gzip,- bzip2,- xz,- zstd
- zip/- unzip
- Extracción selectiva y streaming
- Integridad y checksums (md5sum,sha256sum)
- Archivos temporales con mktemp
 
- Sistema de archivos- stat,- lsy formatos
- chmod,- chown,- umask
- df,- duy cuotas
- Enlaces duros y simbólicos
- Montajes y puntos de montaje
- lsofy archivos abiertos
 
- Búsqueda y ejecución- findcon pruebas de tiempo y tamaño
- -execy- -print0
- xargsparalelo y seguro
- Limitación de profundidad
- Selección por permiso/usuario/grupo
- Eliminación segura y confirmación
 
- Flujo y transformación- teepara bifurcar
- Filtros composables
- Tratamiento de errores en pipelines
- awkcomo “mini lenguaje”
- sedmulti-línea y hold space
- Mantenimiento de orden estable
 
 
- Búsqueda y filtrado
- Concurrencia, procesos y sistema- Procesos y jobs- Ejecución en background &
- jobs,- fg,- bg
- waity recolección
- disowny longevidad
- nohupy sesiones
- Subshells vs shell actual
 
- Ejecución en background 
- Señales y trap- SIGINT, SIGTERM, SIGHUP
- Limpieza de recursos
- Trampas para EXITyERR
- Reintentos exponenciales
- Ventanas de carrera y bloqueos
- flocky exclusión mutua
 
- Paralelismo práctico- xargs -Py límites
- GNU parallel
- Coprocesos coproc
- Paralelismo por archivos y sharding
- Estrategias de backoff
- Observabilidad básica
 
- xargs 
- Tiempo y temporización- datey formatos portables
- sleep,- usleep(según SO)
- timeouty cancelación
- Medición con timeySECONDS
- Zonas horarias y TZ
- Rounding y diferencias de tiempo
 
- Programación y scheduling- cron y crontab
- anacron
- systemd timers
- at/batch
- systemd-run para tareas únicas
- Logs y rotación con logrotate
 
- Recursos del sistema- ulimity límites de FDs
- nicey- renice
- Afinidad y taskset(Linux)
- Memoria y free/vm_stat
- CPU y mpstat/top/htop
- I/O y iostat/dstat
 
 
- Procesos y jobs
- Redes y comunicación- Transferencias- curly- wget
- scp,- sftp,- rsync
- Autenticación con claves
- Verificación de certificados
- Reanudación y --continue-at
- Throttling de ancho de banda
 
- Conectividad- ping,- ping6
- traceroute/- mtr
- dig/- host
- nc/netcat y puertos
- /dev/tcppara testing
- Proxies y variables de entorno
 
- SSH y automatización- sshy opciones de control
- ~/.ssh/configy multiplexación
- Agentes ssh-agent/gpg-agent
- Ejecución remota paralela
- Transferencias atómicas con rsync
- Túneles y port forwarding
 
- APIs y formatos- curlcon JSON
- jqpara parseo y filtros
- Autenticación por tokens
- Retries y backoff
- Logging de peticiones y respuestas
- Sanitización de secretos en logs
 
 
- Transferencias
- Entorno, dotfiles y personalización- Inicio de sesión y perfiles- Shell de login vs no login
- .bashrc,- .bash_profile,- .profile
- Orden de carga y herencia
- Distinciones macOS/Linux
- Scripts globales en /etc
- Depuración de inicio con set -x
 
- Prompt y estética- PS1, PS2, PS4
- Colores ANSI y escapes
- Información de git y estado
- Prompts por contexto (root, prod)
- Separadores unicode y símbolos
- Detección de TTY para colores
 
- Historial y productividad- HISTFILE, HISTSIZE, HISTCONTROL
- historyy expansión- !
- Búsqueda incremental con Readline
- Atajos de edición (emacs/vi mode)
- fcy edición del último comando
- Deduplicación de comandos
 
- Autocompletado- bash-completionpaquetes
- Completados personalizados
- Context-aware completion
- Cache y rendimiento
- Compatibilidad entre distros
- Mantenimiento de scripts de completion
 
- Gestión del entorno- Variables por proyecto
- direnvy hooks
- Versionado de herramientas (asdf,mise)
- Nix y shells reproducibles
- Plantillas de perfiles
- Seguridad de archivos de inicio
 
 
- Inicio de sesión y perfiles
- Seguridad en shell- Principios básicos- Citar siempre las variables
- Evitar word splitting accidental
- Manejo de IFS seguro
- set -Eeuo pipefailen scripts críticos
- umasky permisos por defecto
- noclobbery sobrescrituras
 
- Inyección y sanitización- Construcción segura de comandos
- Evitar eval
- Validación de rutas y nombres
- Filtrado de entrada y listas blancas
- Limitación de globbing inesperado
- Escapes al invocar herramientas
 
- Archivos temporales- mktempy directorios dedicados
- Limpieza con trap
- Colisiones y condiciones de carrera
- Nombres predecibles a evitar
- tmpfs y consideraciones de rendimiento
- Permisos y herencia en TMPDIR
 
- Secretos y credenciales- Variables de entorno sensibles
- Archivos .netrcy permisos
- Pass/Keychain/GPG
- Redacción de logs
- Integración con gestores de secretos
- Expiración y rotación
 
- Casos conocidos- Shellshock y funciones en entorno
- PATHenvenenado
- Scripts sudoinseguros
- sshsin restricción de comandos
- tary paths relativos
- find -execy comodines
 
 
- Principios básicos
- Portabilidad y diferencias de plataformas- GNU vs BSD- sed -iy compatibilidad
- datey formatos
- xargsflags por defecto
- taropciones divergentes
- readlinky- realpath
- statcampos y sintaxis
 
- Linux vs macOS vs *BSD- Utilidades de red
- Directorios del sistema
- Enlaces simbólicos y Finder
- Lanzadores y launchd
- Homebrew y rutas en ARM
- Frameworks y restricciones SIP
 
- Entornos mínimos- BusyBox/ash
- Alpine y musl
- Imágenes scratch/distroless
- Docker entrypoints en sh
- Shells en initramfs
- Limitaciones de locales
 
- Windows y POSIX- WSL y interoperabilidad
- MSYS2/Cygwin
- CRLF vs LF
- Rutas y letras de unidad
- Procesos y señales
- Permissions y ACLs
 
 
- GNU vs BSD
- Integración con ecosistema y empaquetado- Gestores de paquetes del sistema- apt, dnf/yum, pacman, zypper
- brew, port
- nix/guix
- snap/flatpak para CLIs
- Repos privados y mirrors
- Cachés y proxies
 
- Distribución de scripts- Instalación en /usr/local/bin
- Paquetización DEB/RPM básica
- Publicación via tarballs
- Checksums y firmas
- Versionado semántico por convención
- Changelogs y notas de versión
 
- Instalación en 
- Contenedores- Dockerfiles con sh/bash
- Entrypoint vs CMD
- Señales y PID 1
- Imágenes multi-stage
- Salud y readiness checks
- Logs y STDOUT/STDERR
 
- Dockerfiles con 
- CI/CD- Ejecutores y runners
- Caching de dependencias
- Matrices y paralelismo
- Artefactos y reportes
- Lint/test en pipelines
- Firmas y supply chain
 
- Interoperabilidad- Makefiles y targets
- Invocación desde otros lenguajes
- Subprocesos y códigos de retorno
- IPC simple con FIFOs
- JSON/YAML como interfaz
- CLI contract-first
 
 
- Gestores de paquetes del sistema
- Redes, servicios y sistemas- Gestión de servicios- systemd y systemctl
- SysV init scripts
- Launchd en macOS
- Supervisores (supervisord, s6)
- Logs de sistema y journalctl
- Rotación y retención
 
- systemd y 
- Almacenamiento y backups- rsyncavanzado
- Snapshots y LVM/ZFS (conceptos)
- Verificación de integridad
- Backups diferenciales/incrementales
- Restores y pruebas periódicas
- Cifrado en repositorios
 
- Observabilidad- top,- htop,- atop
- vmstat,- iostat,- dstat
- lsofy fugas de descriptores
- ss/- netstat
- Logging estructurado con jq
- Exportadores y métricas simples
 
- Seguridad operativa- sudopolíticas y NOPASSWD
- pamy restricciones
- faillock/- fail2banbásicos
- Chequeos de permisos en scripts
- Listas de control y setcap
- Auditoría de comandos críticos
 
 
- Gestión de servicios
- Casos de uso y patrones- Procesamiento masivo de archivos- Canonización de nombres
- Renombrado seguro
- Extracción y partición
- Validaciones de estructura
- Resúmenes y reportes
- Reintentos de operaciones fallidas
 
- Pipelines de datos- Extracción → Transformación → Carga
- Logs y métricas por etapa
- Paralelismo por particiones
- Reprocesamiento idempotente
- Control de versiones de pipeline
- Almacenamiento temporal y limpieza
 
- CLI de utilería- Plantillas --help
- Comandos anidados
- Config por archivo y env
- Verbosidad y --quiet
- Códigos de retorno estandarizados
- Tests de humo automáticos
 
- Plantillas 
- Automatización de despliegues- Construcción y empaquetado
- Publicación artefactos
- Migraciones y rollbacks
- Checks de salud post-deploy
- Canary y gradual rollouts
- Auditoría y trazabilidad
 
- Mantenimiento y tareas programadas- Limpieza de caches
- Rotación de logs
- Verificación de espacio
- Renovación de certificados
- Respaldo y rotación
- Alertas y notificaciones
 
 
- Procesamiento masivo de archivos
- Lectura, escritura y formatos específicos- CSV/TSV robusto- Delimitadores y comillas
- Filtrado por columnas
- Uniones y mezclas
- Limpieza de encabezados
- Detección de codificaciones
- Conversión a JSON/YAML
 
- JSON- Extracción y transformación con jq
- Validación y esquema básico
- Merge y patch
- Orden y pretty-print
- Streams y SLURP
- Filtrado por claves
 
- Extracción y transformación con 
- YAML- yqpara consultas
- Conversión YAML↔JSON
- Anclas y alias (operativo)
- Plantillas con here-doc
- Splits por documentos
- Validación básica
 
- Texto y codificaciones- UTF-8 por defecto
- Eliminación de BOM
- Normalización de saltos de línea
- Reemplazos seguros de binarios
- Detección con file
- Reglas de localización
 
 
- CSV/TSV robusto
- Internos del shell- Ciclo de vida de un comando- Tokenización y parsing
- Expansiones en orden
- Globbing y splitting
- Redirecciones y FDs
- Fork/exec y espera
- Recolección del estado
 
- Builtins esenciales- cd,- echo,- printf
- test/- [,- [[
- read,- mapfile
- set,- shopt
- exec,- eval(con cautela)
- trap,- ulimit
 
- Readline y edición- .inputrcy bindings
- Modos emacs/vi
- Macros simples
- Compleciones dinámicas
- Historial y expansión !
- Control de mayúsculas/minúsculas
 
- Opciones y comportamiento- POSIX mode
- Emulación de sh
- Opciones heredadas
- Variables especiales de bash
- Límite de recursión de funciones
- Máximos de longitud de línea/argv
 
 
- Ciclo de vida de un comando
- Internacionalización y locales- Locales del sistema- LC_ALL, LANG, LC_* variables
- Efectos en sort/grep/awk
- Estabilidad con LC_ALL=C
- Fechas, números y collations
- Conversión de charset
- Scripts reproducibles y locales fijas
 
- Mensajes y traducción (nivel operativo)- Mensajes de ayuda neutrales
- Señales y textos estándar
- Salidas parsables vs human-friendly
- Documentación bilingüe por convención
- Evitar dependencias regionales
- Pruebas con locales variados
 
 
- Locales del sistema
- Buenas prácticas y antipatrones- Citar siempre expansiones
- Evitar for x in $(cmd)para líneas
- Preferir read -rcon IFS controlado
- Manejo de errores explícito
- No abusar de subshells innecesarios
- Reemplazar catinútil (UUOC)
- grep -qpara pruebas silenciosas
- set -Eeuo pipefailcuando aplique
- Validar entradas externas
- Registrar acciones críticas
 
- Migración y compatibilidad- De bash a POSIX sh
- Detección y eliminación de bashismos
- Sustituciones de [[→[cuando sea posible
- mapfile/arrays en entornos sin bash
- extgloby alternativas
- Pruebas cruzadas en shells comunes
 
- Catálogo de recetas frecuentes- Parseo robusto de flags con getopts
- Leer fichero línea a línea seguro
- Procesar grandes árboles con find -print0
- Pipelines con manejo de errores
- Retries con backoff exponencial
- Locking con flock
- Logging con niveles y timestamps
- Rotación de logs por tamaño
- Descargas con checksum y verificación
- Recolección y limpieza a la salida
 
- Parseo robusto de flags con 
- Referencias y ecosistema- Manuales (man bash, POSIX)
- Guías de estilo reconocidas
- Proyectos ejemplo y plantillas
- Herramientas de verificación (ShellCheck, shfmt)
- Conjuntos de pruebas (bats, shUnit2)
- Comunidades y recursos de aprendizaje
 
- Manuales (
9 - Diseño de software
- Diseño de software- Diseño y arquitectura de software - Principios de diseño orientado a mantenibilidad- Acoplamiento bajo y cohesión alta
- Separación de responsabilidades (SoC)
- Encapsulamiento y ocultamiento de información
- Principios SOLID
- Interfaces estables y contratos claros
- Evolución controlada de componentes
- Facilidad de pruebas y capacidad de ser testeable
- Observabilidad y depurabilidad
 
- Principios como evitar repetición innecesaria y mantener la simplicidad- DRY (Don’t Repeat Yourself)
- KISS (Keep It Simple, Stupid)
- YAGNI (You Aren’t Gonna Need It)
- Minimización de complejidad accidental
- Ley de Demeter
- Principio de menor sorpresa
- Minimización de dependencias implícitas
 
- Patrones de diseño (creacionales, estructurales y de comportamiento)- Patrones creacionales- Factory Method
- Abstract Factory
- Builder
- Prototype
- Singleton
- Object Pool
- Dependency Injection
 
- Patrones estructurales- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
- DTO (Data Transfer Object)
 
- Patrones de comportamiento- Strategy
- Observer / Publish–Subscribe
- Command
- Chain of Responsibility
- State
- Template Method
- Iterator
- Mediator
- Memento
- Visitor
- Specification
- Null Object
 
- Patrones concurrentes- Producer–Consumer
- Reader–Writer
- Reactor
- Circuit Breaker
- Bulkhead
- Retry / Backoff
 
- Patrones arquitectónicos- MVC / MVP / MVVM
- CQRS (Command Query Responsibility Segregation)
- Event Sourcing
- Pipes and Filters
 
 
- Patrones creacionales
- Arquitectura en capas- Capa de presentación
- Capa de aplicación / servicio
- Capa de dominio / negocio
- Capa de infraestructura / persistencia
- Separación lógica vs separación física
- Dependencias dirigidas hacia adentro
- Problemas comunes del modelo de capas tradicional
 
- Arquitectura limpia- Círculos concéntricos y dependencia hacia el dominio
- Entidades y casos de uso
- Interfaces de entrada y salida
- Controladores y presentadores
- Gateways / repositorios
- Independencia de frameworks
- Testabilidad y reemplazo de infraestructura
 
- Arquitectura hexagonal y separación de puertos/adaptadores- Dominio como núcleo independiente
- Puertos (interfaces dirigidas hacia el dominio)
- Adaptadores primarios (driving)
- Adaptadores secundarios (driven)
- Sustitución de infraestructura (DB, colas, APIs externas)
- Aislamiento de efectos secundarios
- Pruebas a nivel de puerto
 
- Diseño guiado por el dominio (Domain-Driven Design)- Lenguaje ubicuo
- Contextos delimitados (bounded contexts)
- Mapeo de contexto y relaciones entre contextos
- Modelo de dominio explícito
- Entidades de dominio
- Objetos de valor
- Servicios de dominio
- Agregados y raíces de agregado
- Repositorios
- Eventos de dominio
- Anti-corrupción layer
- Refactorización del modelo a partir del conocimiento del negocio
 
- Monolitos modulares y microservicios- Monolito tradicional
- Monolito modular
- Fronteras de módulo internas
- Microservicios
- Criterios para extraer un microservicio
- Comunicación síncrona vs asíncrona
- Despliegue independiente
- Consistencia eventual entre servicios
- Observabilidad distribuida
- Versionado e independencia de ciclo de vida
- Enrutamiento y descubrimiento de servicios
- Gestión de fallas en cascada
 
- Arquitecturas dirigidas por eventos- Productores y consumidores de eventos
- Bus de eventos y colas de mensajería
- Event Sourcing
- CQRS y eventos como fuente de verdad
- Coreografía vs orquestación
- Idempotencia en el consumo de eventos
- Consistencia eventual
- Retries y colas muertas
- Garantías de entrega (at-most-once, at-least-once, exactly-once)
 
- Versionado de interfaces y ciclos de vida de APIs- Versionado de endpoints
- Versionado semántico
- Compatibilidad hacia atrás
- Deprecación controlada de contratos
- Estabilidad de contratos públicos
- Gestión del ciclo de vida de API
- Cambios breaking y comunicación interna/externa
- Evolución de esquemas y modelos de datos
- Control de capacidad y límites de uso (rate limiting)
- Políticas de seguridad y autenticación
 
- Documentación técnica orientada a desarrolladores y mantenimiento- Documentación de arquitectura
- Diagramas de componentes y dependencias
- Especificación de APIs
- Contratos de servicios internos
- ADRs (Architecture Decision Records)
- Guías de despliegue y operación
- Manuales de resolución de incidentes
- Documentación de límites y garantías (SLO, SLA)
- Registro de cambios técnicos
- Estándares de estilo y convenciones
- Versionado de la documentación
- Documentación cercana al código vs documentación externa
 
- Modularización y empaquetado de componentes reutilizables- Diseño de librerías internas
- Paquetes reutilizables por equipo/proyecto
- Reutilización vs copia localizada
- Estabilidad de interfaces internas
- Control de dependencias internas
- Gestión de versiones de componentes compartidos
- Monorepos vs multirepos
- Plugins y extensiones
- Políticas de rompimiento de compatibilidad interna
- Reglas de ownership por módulo
- Catálogo interno de servicios y librerías
- Distribución binaria vs distribución de código fuente
 
 
- Principios de diseño orientado a mantenibilidad
- Algoritmos y estructuras de datos - Complejidad temporal y espacial (notación asintótica)- O grande
- Ω y Θ
- Mejor caso, peor caso y caso promedio
- Complejidad amortizada
- Costos de memoria y caché
- Complejidad de acceso a memoria
 
- Análisis de eficiencia algorítmica- Conteo de operaciones dominantes
- Análisis de bucles anidados
- Análisis de recurrencias
- Optimización temprana vs microoptimizaciones
- Trade-offs tiempo vs espacio
- Escalabilidad asintótica
 
- Estructuras lineales (listas, pilas, colas, colas dobles)- Arreglos (arrays) y listas contiguas
- Listas enlazadas simples y dobles
- Pilas (stacks)
- Colas (queues)
- Colas dobles (deques)
- Listas circulares
- Listas bloqueadas / chunked
- Buffers circulares
- Implementación sobre memoria dinámica
- Costos de inserción, borrado y acceso
 
- Árboles, montículos, tries y estructuras jerárquicas- Árboles binarios
- Árboles binarios de búsqueda (BST)
- Árboles balanceados (AVL, Red-Black)
- Árboles B y B+
- Árboles segmentados (segment trees)
- Fenwick / Binary Indexed Trees
- Montículos (heaps)
- Priority queues
- Heaps binomiales y Fibonacci
- Tries
- Compresión de tries y radix trees
- Árboles cuaternarios y octrees
- Árboles de intervalo y de rango
- Árboles de decisión
- Árboles de sufijos
 
- Grafos- Representación de grafos (matriz de adyacencia, lista de adyacencia)
- Grafos dirigidos y no dirigidos
- Grafos ponderados
- Árboles de expansión mínima
- Caminos mínimos
- Detección de ciclos
- Ordenamiento topológico
- Componentes fuertemente conexas
- Flujos máximos
- Matching y emparejamiento
- Grafos bipartitos
- Conectividad y puentes
- Grafos dinámicos y online
- Grafos probabilísticos
 
- Hashing y tablas hash- Funciones hash
- Colisiones y métodos de resolución
- Direccionamiento abierto
- Encadenamiento separado
- Rehashing y factor de carga
- Hash consistente
- Bloom filters
- Cuckoo hashing
- Tablas hash inmutables
- Trade-offs entre hash y árboles balanceados
 
- Algoritmos de ordenamiento y búsqueda- Búsqueda lineal
- Búsqueda binaria
- Ordenamiento por comparación (quicksort, mergesort, heapsort)
- Ordenamiento no comparativo (counting sort, radix sort, bucket sort)
- Estabilidad del ordenamiento
- Selección del k-ésimo elemento
- Ordenamiento externo
- Ordenamiento parcial e incremental
- Búsqueda aproximada
 
- Recursividad y divide y vencerás- Recurrencias clásicas
- Descomposición de problemas
- Mergesort / Quicksort como divide y vencerás
- Búsqueda binaria recursiva
- Poda y recursión con backtracking
- Recursión de cola y optimización de cola
- Profundidad máxima y stack frames
 
- Programación dinámica y memoización- Subproblemas solapados
- Estados y transiciones
- Tablas bottom-up
- Memoización top-down
- Optimización de espacio
- Reutilización incremental de resultados
- DP con reconstrucción de solución
- DP en grafos acíclicos dirigidos
- DP probabilística
 
- Algoritmos de concurrencia y sincronización- Secciones críticas
- Exclusión mutua
- Locks, mutexes y semáforos
- Barreras y barreras cíclicas
- Paso de mensajes
- Algoritmos sin bloqueo (lock-free)
- Algoritmos wait-free
- Consistencia de memoria
- Algoritmos de consenso
- Deadlocks y prevención
- Scheduling y fairness
- Control de contención
 
- Estructuras de datos inmutables o persistentes- Árboles persistentes
- Listas persistentes
- Hash tries inmutables
- Copy-on-write
- Versionado estructural
- Sharing estructural
- Costos de mutación lógica
- Estructuras puramente funcionales
 
- Algoritmos probabilísticos y aproximados- Algoritmos Monte Carlo
- Algoritmos Las Vegas
- Sampling aleatorio
- Sketches de datos
- Conteo aproximado y cardinalidad estimada
- Algoritmos streaming
- Aprox. para problemas NP-duros
- Randomización para balance de carga
- Probabilistic hashing
- Tolerancia a error y control de confianza
 
 
- Complejidad temporal y espacial (notación asintótica)
- Procesos de ingeniería de software - Requisitos de software- Requisitos funcionales
- Requisitos no funcionales
- Atributos de calidad (rendimiento, seguridad, confiabilidad, escalabilidad)
- Restricciones técnicas y regulatorias
- Requisitos operacionales
- Priorización de requisitos
- Gestión de expectativas de stakeholders
 
- Análisis, especificación y trazabilidad de requisitos- Historias de usuario
- Casos de uso
- Escenarios de negocio
- Requisitos formales
- Modelos de dominio y vocabulario compartido
- Matrices de trazabilidad
- Control de cambios de requisitos
 
- Diseño de software- Modelado de arquitectura
- Diseño de componentes y módulos
- Diagramas estructurales y de interacción
- Definición de interfaces
- Diseño orientado a pruebas
- Diseño para observabilidad
- Diseño para despliegue y operación
 
- Construcción y estándares de codificación- Estándares de estilo
- Convenciones de nombres
- Revisión de código (code review)
- Guías de ramificación y control de versiones
- Integración continua
- Automatización de builds
- Gestión de dependencias externas
- Gestión de secretos y configuración
- Prácticas seguras de codificación
- Políticas de deuda técnica
 
- Verificación y validación- Pruebas unitarias
- Pruebas de integración
- Pruebas de contrato
- Pruebas end-to-end
- Pruebas de regresión
- Pruebas de rendimiento y carga
- Pruebas de seguridad
- Fuzzing
- Revisión estática de código y análisis estático
- Auditorías técnicas
- Aprobación de despliegues
 
- Mantenimiento evolutivo y correctivo- Corrección de defectos
- Refactorización continua
- Gestión de deuda técnica
- Extensión de funcionalidades existentes
- Migración tecnológica
- Compatibilidad hacia atrás
- Gestión de riesgos en cambios
- Planificación de fin de vida
 
- Gestión de la configuración- Control de versiones
- Estrategias de branching
- Versionado semántico
- Gestión de releases
- Trazabilidad de cambios en producción
- Infraestructura como código
- Gestión de entornos
- Auditoría y cumplimiento
 
- Ingeniería de calidad de software- Aseguramiento de calidad (QA)
- Control de calidad
- Estrategias de pruebas automatizadas
- Cobertura de pruebas
- Definición de criterios de aceptación
- Definición de DoD (Definition of Done)
- Observabilidad como parte de la calidad
- Gestión de incidentes y postmortems
- Revisión continua de confiabilidad
- Gestión de vulnerabilidades
 
- Procesos de desarrollo- Cascada
- Prototipado evolutivo
- Iterativo incremental
- RUP / procesos unificados
- Agile / Agile industrial
- Scrum
- Kanban
- Lean software
- DevOps
- GitOps
- Continuous Delivery / Continuous Deployment
- Inner source y colaboración abierta interna
 
- Métricas de productividad y calidad del software- Velocidad de entrega
- Lead time de cambios
- Tiempo medio de recuperación (MTTR)
- Frecuencia de despliegues
- Tasa de cambios fallidos
- DORA metrics
- Densidad de defectos
- Cobertura de pruebas útil
- SLOs y SLIs
- Disponibilidad y confiabilidad percibida
- Estabilidad vs velocidad de cambio
- Costo total de propiedad (TCO)
 
- Herramientas de soporte al ciclo de vida del software- Sistemas de control de versiones
- Integración continua y pipelines de CI/CD
- Sistemas de seguimiento de issues
- Gestión de requisitos y especificaciones
- Gestión de arquitectura y documentación
- Monitoreo y alertas en producción
- Trazabilidad de despliegues
- Gestión de incidentes y on-call
- Feature flags y despliegues progresivos
- Entornos efímeros y pruebas aisladas
- Observabilidad (logs, métricas, trazas)
- Gestión de secretos y configuración segura
 
- Mejora continua de procesos y madurez operativa- Ciclo de retroalimentación corta
- Postmortems sin culpa
- Revisión de arquitectura evolutiva
- Iteración sobre estándares internos
- Automatización sistemática de tareas manuales
- Reducción de trabajo no planificado
- Gestión activa de deuda técnica
- Capacitación continua y transferencia de conocimiento
- Escalamiento organizacional de prácticas efectivas
- Madurez operacional y confiabilidad como característica del producto
- Gobernanza técnica y responsabilidad compartida
- Cultura de seguridad incorporada en el proceso
 
 
- Requisitos de software
 
10 - Backend y servicios
- Backend y servicios- Frameworks web y diseño de APIs- Tipos y arquitecturas web- REST / RESTful
- HATEOAS
- GraphQL
- RPC binario (gRPC / Thrift / Avro)
- WebSockets
- Long Polling
- Server-Sent Events (SSE)
- WebTransport
- WebRTC orientado a data channels
- SOA (Service-Oriented Architecture)
- SOAP / WSDL
- API Gateway y BFF (Backend for Frontend)
 
- Comunicación bidireccional y tiempo real- Canales WebSocket persistentes
- Server-Sent Events para notificaciones unidireccionales
- Long polling compatible con entornos legacy
- Streaming gRPC bidireccional
- Difusión en tiempo real mediante pub/sub
- Canales / rooms compartidos entre clientes
- Estado de presencia y “usuario en línea”
- Sincronización colaborativa en vivo (co-edición)
- Entrega parcial y progresiva de resultados largos
- Priorización de mensajes críticos vs mensajes secundarios
 
- Middleware, interceptores y filtros- Cadena de middlewares componibles
- Interceptores de request / response
- Validación previa al handler
- Transformación y normalización de payload
- Logging estructurado y trazas
- Métricas de latencia y tiempos de respuesta
- Autenticación centralizada
- Control de acceso a nivel de ruta
- Rate limiting y cuotas por endpoint
- Gestión de CORS y headers de seguridad
 
- Validación y serialización de datos de entrada y salida- Esquemas de validación consistentes
- Sanitización y normalización de entrada
- Tipado fuerte en DTOs / contratos formales
- Serialización estructurada (JSON / XML / YAML)
- Serialización binaria eficiente
- Normalización de fechas, números y zonas horarias
- Validación de tamaños, límites y formatos
- Respuestas de error estandarizadas
- Versionado de esquemas con retrocompatibilidad
- Evolución del contrato sin romper clientes existentes
 
- Autenticación y autorización a nivel de servicio- Autenticación básica y API Keys
- Tokens firmados (JWT)
- OAuth2 / OpenID Connect
- SSO corporativo y federación de identidad (SAML / IdP)
- Gestión de identidades delegadas y externas (proveedores de identidad)
- Passkeys / WebAuthn
- MFA (SMS, TOTP/HOTP, push, biométrico, hardware tokens)
- Sesiones seguras y cookies con protección
- Rotación, expiración y revocación de credenciales
- Identidad de servicio a servicio (workload identity / service accounts)
 
- Autorización basada en roles y atributos- RBAC (Role-Based Access Control)
- ABAC (Attribute-Based Access Control)
- PBAC / autorización basada en políticas centralizadas
- Scopes y claims en tokens
- Lógicas de permisos jerárquicos y delegados
- Controles por acción, recurso y contexto
- Evaluación de políticas en runtime
- Auditoría de decisiones de autorización
- Separación de funciones (SoD)
- Acceso condicional basado en riesgo / postura del cliente
 
- Limitación de tasa, paginación y control de abuso- Rate limiting global
- Rate limiting por IP / usuario / API key
- Cotas (quotas) diarias, horarias o por plan
- Throttling y backpressure
- Paginación offset/limit
- Paginación basada en cursor / “a partir de aquí”
- Detección de patrones abusivos (scraping / bursts anómalos)
- Bloqueo temporal selectivo / cooldown
- Detección de automatización/bots y mitigación
- Honeypots / endpoints señuelo para identificar abuso
 
- Versionado de APIs- Versionado explícito en la ruta (v1, v2…)
- Versionado mediante headers de negociación
- Versionado semántico de contrato
- Compatibilidad retroactiva (backward compatibility)
- Compatibilidad hacia adelante (forward compatibility)
- Deprecación gradual y retirada planificada
- Coexistencia de versiones en paralelo
- Canales beta / vista previa controlada
- Pruebas automáticas de compatibilidad de esquema
- Gestión del ciclo de vida público / interno / legacy
 
- Especificaciones y documentación de APIs- OpenAPI / Swagger
- IDL / protobuf para gRPC
- Esquemas GraphQL documentados
- Documentación generada automáticamente
- Ejemplos de requests / responses y códigos de error
- Definición formal de contratos de error
- SDKs y clientes generados desde el contrato
- Testing de contrato (consumer-driven)
- Mock servers a partir de la especificación
- Validación de contrato en CI/CD
 
 
- Tipos y arquitecturas web
- Bases de datos y persistencia- Lenguajes de consulta estructurados- SQL declarativo
- DDL / DML / DQL / DCL
- Joins y combinaciones complejas
- Subconsultas y CTEs
- Agregaciones y ventanas analíticas
- Planificación y optimización por el planner
- Index hints y tuning de consultas
- Planes de ejecución y análisis de costos
- Sentencias preparadas y binding de parámetros
- Prevención de inyección y consultas seguras
 
- Modelado relacional- Definición de tablas y claves primarias
- Claves foráneas y restricciones referenciales
- Relaciones 1:1, 1:N, N:M
- Integridad referencial estricta
- Restricciones CHECK y dominios de valor
- Modelos altamente normalizados
- Desnormalización estratégica para lectura rápida
- Tablas pivote y tablas puente
- Trazabilidad de cambios (audit columns, timestamps)
- Versionado de registros (soft history / temporal tables)
 
- Normalización y desnormalización- Formas normales (1NF, 2NF, 3NF, BCNF)
- Eliminación de redundancia no controlada
- Balance entre consistencia y performance
- Campos derivados precalculados
- Tablas resumen / agregadas materializadas
- Tablas anchas optimizadas para lectura
- Tablas altamente factorizadas optimizadas para escritura
- Estrategias de duplicación de datos por servicio
- Mantenimiento de sincronización entre copias duplicadas
- Impacto en caché y latencia de lectura
 
- Transacciones, atomicidad y aislamiento- Propiedades ACID
- Commit y rollback
- Niveles de aislamiento configurables
- Lecturas sucias, no repetibles y phantom reads
- Bloqueos pesimistas y bloqueos por fila
- MVCC (control multiversión)
- Detección y resolución de deadlocks
- Timeouts de transacción y reintentos
- Transacciones distribuidas / 2PC
- Idempotencia de operaciones críticas
 
- Índices, vistas y disparadores- Índices B-Tree
- Índices hash y GIN/GiST
- Índices compuestos y parciales
- Índices funcionales / expresiones indexadas
- Vistas lógicas
- Vistas materializadas y refresco incremental
- Disparadores BEFORE / AFTER
- Auditoría, logging y enforcement en disparadores
- Índices específicos para búsquedas de texto
- Mantenimiento y health check de índices
 
- Procedimientos almacenados y lógica en base de datos- Funciones definidas por usuario (UDF)
- Procedimientos con estado transaccional
- Validación de reglas de negocio en capa SQL
- Enriquecimiento de datos al insertar / actualizar
- Implementación de colas simples dentro de la DB
- Control de acceso granular en funciones
- Encapsulación de lógica crítica centralizada
- Versionado y despliegue de cambios en SP/UDF
- Optimización y caching de resultados de funciones
- Gobernanza y revisión de seguridad de lógica en DB
 
- Mapeo objeto-relacional y capas de acceso a datos- ORMs
- Repositorios / DAOs
- Query builders tipados
- Problema N+1 y técnicas de batching
- Caché de primer nivel (por sesión)
- Caché de segundo nivel (compartida)
- Unidad de trabajo (Unit of Work)
- Mapeo de herencia y políformas complejas
- Migración gradual fuera del ORM cuando es cuello de botella
- Pruebas de acceso a datos con fixtures realistas
 
- Migraciones estructuradas y controladas de esquema- Migraciones versionadas incrementales
- Migraciones forward / backward seguras
- Aplicación transaccional de migraciones
- Migraciones online sin downtime
- Renombrar, dividir y fusionar tablas grandes
- Auditoría y registro de cambios de esquema
- Semillas / datos iniciales consistentes
- Feature flags ligados a cambios de esquema
- Validación de migraciones en staging
- Rollback automatizado ante fallo en producción
 
- Pools de conexiones y eficiencia de acceso concurrente- Pooling y reutilización de conexiones
- Límite máximo de conexiones simultáneas
- Reuso vs reconexión agresiva
- Timeouts y keepalive
- Balanceo hacia réplicas de solo lectura
- Encolamiento de consultas en saturación
- Priorización de consultas críticas
- Circuit breakers hacia la base de datos
- Pooling por servicio / tenant
- Telemetría de uso del pool y tuning dinámico
 
- Almacenamiento no relacional- Clave-valor
- Documentos
- Columnar ancho / wide-column
- Grafos
- Series de tiempo (time-series)
- TTL por registro y expiración automática
- Consistencia eventual configurable
- Sharding horizontal nativo
- Índices secundarios y consultas ad-hoc
- Políticas de replicación específicas por colección / bucket
 
- Motores de búsqueda y consulta de texto libre- Indexación full-text
- Ranking de relevancia configurable
- Tokenización, stemming y normalización lingüística
- Búsqueda difusa y tolerancia a errores tipográficos
- Facetas, filtros y agregaciones por campo
- Índices invertidos distribuidos
- Búsqueda distribuida a escala horizontal
- Enriquecimiento / anotación de documentos indexados
- Destacado de coincidencias (highlighting)
- Control de sinónimos y relevancia semántica
 
- Almacenamiento analítico y sistemas orientados a consultas de negocio- Data warehouses columnares
- Diferencia OLTP vs OLAP
- Cubos analíticos y agregados precomputados
- Tablas particionadas por rango temporal
- Data lakes y lakehouses
- ETL / ELT y pipelines de ingesta
- Tablas de hechos y tablas de dimensiones
- Catálogo de datos y linaje
- Materialización incremental de métricas de negocio
- Governance de acceso a datos analíticos
 
- Replicación, particionamiento y alta disponibilidad- Réplicas de solo lectura y escalamiento de lectura
- Sharding horizontal (por rango / hash / geografía)
- Failover automático de primario
- Geo-replicación multi-región
- Balanceo de carga entre nodos
- Consistencia configurable por operación (quórum)
- Recuperación ante caída de nodo / rack / AZ
- Promoción controlada de réplicas a primario
- Sincronización incremental basada en logs
- Monitoreo de salud y latencia entre réplicas
 
- Integridad referencial y consistencia eventual- Integridad fuerte en bases relacionales
- Soft deletes y consistencia lógica
- Reconciliación asíncrona entre servicios
- Reintentos idempotentes en escritura
- Eventos de compensación para revertir cambios
- Garantías de lectura propia (read-your-writes)
- Proyecciones materializadas
- Consistencia eventual tolerante a particiones
- Conflictos de escritura y resolución semántica
- Auditoría y trazabilidad de mutaciones de datos
 
 
- Lenguajes de consulta estructurados
- Integraciones y comunicación entre servicios- Mensajería asíncrona y colas de mensajes- Colas persistentes y durables
- Topics y subscripciones múltiples
- Métricas de lag y throughput
- Garantías de entrega (at-most-once / at-least-once / exactly-once)
- Retries diferidos con backoff
- Dead-letter queues (DLQ)
- Backpressure y control de velocidad de consumo
- Ordenamiento por partición / clave
- Priorización de mensajes críticos
- Aislamiento de colas por servicio / tenant
 
- RPC eficiente y contratos binarios- gRPC y streaming bidireccional
- IDL y contratos fuertemente tipados
- Serialización binaria compacta (protobuf/avro)
- Timeouts y cancelación propagada extremo a extremo
- Retries con backoff exponencial y jitter
- Propagación de contexto (traza, auth)
- mTLS entre servicios
- Control de versión del contrato RPC
- Compatibilidad backward/forward en campos opcionales
- Validación automática del contrato en CI
 
- Webhooks, notificaciones y callbacks externos- Entrega HTTP saliente firmada
- Reintentos con política exponencial
- Detección y supresión de duplicados
- Auditoría y tracking de entregas
- Suspensión temporal frente a receptor caído
- Replay manual / reenvío seguro
- Seguridad de endpoints receptores (secret, IP allowlist)
- Idempotencia en callbacks
- Versionado del payload externo
- Contratos legales / SLA con terceros
 
- Integración con servicios de terceros- Consumo de APIs externas
- OAuth2 / tokens delegados
- Limitación de tasa impuesta por el proveedor
- Uso de entornos sandbox / staging del tercero
- Versionado y migración de API del proveedor
- Caching defensivo de respuestas externas
- Circuit breakers ante degradación externa
- Observabilidad específica por integración externa
- Cumplimiento de términos de uso / auditorías
- Estrategias de fallback si el tercero falla
 
- Estrategias de reintento y colas de mensajes muertos- Retries con backoff progresivo
- Retries con jitter aleatorio
- Límite máximo de reintentos por mensaje
- DLQ (Dead-letter queue) para mensajes problemáticos
- Reprocesamiento manual y herramientas operativas
- Correlación de mensajes e identificadores únicos
- Idempotencia y deduplicación en reintentos
- Aislamiento de tráfico tóxico
- Alertas automáticas al acumularse mensajes fallidos
- Priorización de reprocesamiento según criticidad
 
- Serialización binaria y formatos compactos- Protocol Buffers
- Avro
- FlatBuffers / Cap’n Proto
- Campos opcionales y repetidos
- Evolución de esquema sin romper compatibilidad
- Compresión y fragmentación de mensajes
- Versionado explícito del mensaje
- Validación de esquema en runtime
- Validación de esquema en pipeline CI/CD
- Compatibilidad multiplataforma / multilenguaje
 
- Arquitecturas basadas en eventos y event sourcing- Eventos inmutables como fuente de verdad
- Log append-only distribuido
- Proyecciones materializadas derivadas del log
- Reconstrucción de estado a partir de eventos
- Reproducción de eventos históricos (replay)
- Versionamiento de tipos de evento
- Consistencia eventual mediante propagación de eventos
- Integración con CQRS
- Orden total vs orden por partición
- Garantías de entrega y deduplicación de eventos
 
- Modelos de publicación/suscripción- Pub/Sub desacoplado productor-consumidor
- Filtros por tópico / etiqueta / patrón
- Broadcast selectivo
- Subscripciones durables con retención histórica
- Fan-out masivo a múltiples consumidores
- Balanceo de carga entre consumidores de un mismo tópico
- Multiplexación de eventos en canales lógicos
- Reintentos y confirmación explícita de consumo
- Aislamiento por prioridad o criticidad
- Versionado de payloads en tópicos compartidos
 
- Streaming de datos en tiempo real y captura de cambios- Streaming continuo de registros
- Procesamiento de flujo (stream processing)
- Ventanas temporales y agregaciones en vivo
- CDC (Change Data Capture) desde la base de datos
- Replicación basada en logs de transacciones
- Suscripciones reactivas a cambios de estado
- Alertas en near real-time
- Priorización de eventos críticos
- Backpressure en pipelines de streaming
- Persistencia y replay de streams históricos
 
 
- Mensajería asíncrona y colas de mensajes
- Arquitecturas distribuidas y microservicios- Patrones de microservicios- BFF (Backend For Frontend)
- API Gateway centralizado
- Servicios alineados a dominios de negocio
- Base de datos independiente por servicio
- Servicios dirigidos por eventos
- CQRS (separación lectura / escritura)
- Sagas distribuidas para consistencia eventual
- Capa anti-corrupción entre dominios
- Funciones serverless como piezas de dominio
- Servicios stateless vs servicios stateful especializados
 
- Descubrimiento de servicios y enrutamiento- Registro dinámico de instancias activas
- Health checks y heartbeats
- Descubrimiento basado en DNS
- Descubrimiento basado en sidecar / service mesh
- Balanceo interno L4/L7 según políticas
- Enrutamiento basado en versión / etiqueta
- Rutas canario / blue-green controladas
- Circuit breaking y failover automático
- Traffic shadowing / mirroring
- Segmentación de tráfico por tenant / cliente
 
- Versionamiento y despliegue incremental- Versiones paralelas del mismo servicio
- Despliegues canario
- Blue-green deployment
- Feature flags y toggles de capacidad
- Rollback rápido y seguro
- Compatibilidad backward en contratos
- Shadow traffic para validar nuevas versiones
- Deploy gradual por región / AZ
- Deploy continuo (CI/CD) con puertas de calidad
- Métricas de salud antes de promover a “estable”
 
- Fault tolerance y resiliencia operativa- Circuit breakers por dependencia
- Retries con límites y backoff
- Bulkhead isolation (aislar recursos críticos)
- Timeouts agresivos y cancelación temprana
- Degradación parcial de funcionalidades (graceful degradation)
- Réplicas activas y failover interno
- Reinicio / reschedule automático de servicios caídos
- Tolerancia a particiones de red
- Limitación de propagación de fallos en cascada
- Chaos testing / fault injection en producción controlada
 
- Observabilidad distribuida y trazabilidad- Métricas por servicio y por endpoint
- Logs estructurados con IDs de correlación
- Trazas distribuidas end-to-end
- Mapas de dependencias entre servicios
- Alertas orientadas a SLO / SLA
- Auditoría de llamadas entre servicios
- Análisis de cuellos de botella de latencia
- Detección de outliers de error rate
- Dashboards operativos unificados
- Retención histórica para postmortems
 
- Gobernanza de contratos y compatibilidad- Contratos de API versionados
- Pruebas de contrato consumidor/proveedor
- Validación automática de cambios de esquema
- Deprecación gradual de endpoints
- Control centralizado de políticas de acceso
- Catálogo de servicios y documentación interna
- Reglas de seguridad y autorización homogéneas
- Auditoría de cambios en interfaces públicas
- Gestión de breaking changes y avisos tempranos
- Revisión técnica cruzada antes de exponer nuevas APIs
 
- Multi-tenancy y aislamiento de tráfico- Separación lógica por tenant / cuenta / cliente
- Namespaces de datos por cliente
- Rate limiting y cuotas por organización
- Cifrado y llaves dedicadas por tenant
- Aislamiento de “noisy neighbors” y fair-use
- Aislamiento de fallos por tenant / dominio funcional
- Control de acceso por tenant integrado en la capa de negocio
- Auditoría y trazabilidad por cliente
- Políticas de retención y borrado por cliente
- Personalización de configuración / features por tenant
 
 
- Patrones de microservicios
 
- Frameworks web y diseño de APIs
11 - Frontend, interfaces gráficas y usabilidad
- Frontend, interfaces gráficas y usabilidad- Fundamentos de experiencia y flujo- Interacción humano–computador- Modelos mentales y expectativas del usuario
- Affordances y señales de uso
- Feedback inmediato y retroalimentación visible
- Latencia percibida y sensación de control
- Mapeo directo entre acción e impacto
- Coste cognitivo de uso
- Errores prevenibles vs recuperables
- Fitts’ Law y distancia de objetivos
- Ley de Hick y sobrecarga de opciones
- Memoria de trabajo y carga visual
 
- Flujos de usuario- Objetivo primario de la tarea
- Happy path vs edge cases
- Pasos obligatorios vs opcionales
- Minimización de fricción
- Puntos de abandono
- Estados previos y siguientes (contexto antes/después)
- Flujo lineal vs ramificado
- Recuperación tras interrupción
- Continuidad entre dispositivos
- Persistencia parcial de progreso
 
- Estados de la interfaz- Estado inicial / vacío
- Estado cargando
- Estado con datos
- Estado sin resultados / vacío significativo
- Estado de error y recuperación
- Estado parcialmente interactivo / deshabilitado
- Estado confirmado / éxito
- Estado pendiente / en progreso
- Estados transitorios vs persistentes
- Estados locales vs globales de la app
 
 
- Interacción humano–computador
- Interacción y comunicación con la persona usuaria- Arquitectura visual- Jerarquía visual (peso, tamaño, contraste)
- Tipografía y escala modular
- Uso de color funcional
- Iconografía semántica
- Espaciado y ritmo visual
- División en zonas funcionales (navegación / contenido / acciones)
- Patrones de lectura F/Z
- Enfoque en lo accionable vs lo informativo
- Señales de accesibilidad visual
- Consistencia entre pantallas
 
- Patrones de interacción- Selección (click/tap/drag)
- Búsqueda y filtrado
- Edición inline
- Confirmación explícita y undo
- Formularios paso a paso (wizards)
- Navegación tabular / pestañas / acordeones
- Menús contextuales
- Hover vs long-press vs right-click
- Gestos táctiles
- Acciones masivas / edición en lote
 
- Microinteracciones y percepción- Animaciones pequeñas con intención funcional
- Indicadores de carga no bloqueantes
- Hover states / pressed states
- Vibración háptica y feedback táctil
- Sonidos sutiles de confirmación o error
- Indicadores de “escribiendo…” o “enviando…”
- Reacciones visuales inmediatas a entradas del usuario
- Confirmaciones no modales (toasts)
- Transiciones suaves entre vistas relacionadas
- Micromensajes de ayuda en contexto
 
- Notificaciones y gestión de atención- Notificaciones locales en la app
- Notificaciones push
- Urgencia vs ruido
- Priorización visual (color, posición, persistencia)
- Centro de notificaciones histórico
- Modo silencioso / no molestar
- Alertas bloqueantes vs no bloqueantes
- Confirmaciones requeridas vs informativas
- Relevancia personalizable por el usuario
- Caducidad de la notificación
 
- Descubribilidad y búsqueda- Etiquetado claro de acciones
- Tooltips y ayudas inline
- Búsqueda global en la interfaz
- Atajos de teclado visibles
- Tutorial progresivo (no front-load)
- Ejemplos prellenados (placeholders significativos)
- Demostraciones guiadas (“try it” interactivo)
- Estado inicial educativo (empty state instructivo)
- Secciones “qué hay de nuevo”
- Destacar funcionalidades avanzadas sin bloquear las básicas
 
- Contenido en la interfaz- Microcopy claro y directo
- Lenguaje inclusivo
- Evitar tecnicismos innecesarios
- Evitar culpar al usuario en errores
- Indicar causa y acción posible
- Texto contextual, no genérico
- Tono consistente con la marca
- Evitar muros de texto
- Estados vacíos con instrucciones accionables
- Etiquetas cortas y accionables en botones
 
- Onboarding y aprendizaje continuo- Progresivo y contextual, no tutorial gigante inicial
- Modalidad guía interactiva paso a paso
- Señalización visual de “nuevo”
- Estados demo con datos ficticios
- Checklist de primeros pasos
- Recordatorios suaves de funcionalidades clave
- Onboarding distinto según rol/permiso
- Re-onboarding tras grandes rediseños
- Centro de ayuda integrado
- Aprendizaje por repetición guiada
 
 
- Arquitectura visual
- Capa de presentación y composición de UI- Renderizado y composición de interfaz- Árbol de nodos / árbol de vistas
- Layout responsivo (adaptación a viewport)
- Flujo de composición (layout → paint → composite)
- Reutilización de vistas y subárboles
- Virtual DOM / reconciliación
- Server-Side Rendering (SSR)
- Static Site Generation (SSG)
- Hydration parcial / progresiva
- Islands architecture
- Rendering incremental bajo demanda
 
- Gestión de estado local de UI- Estado controlado vs no controlado
- Formularios controlados
- Estados efímeros (focus, hover, expanded)
- Estados derivados / memoización
- Estructuras inmutables para cambios predecibles
- Local reducers / stores por componente
- Sincronización de estado con URL
- Restauración de estado al volver atrás
- Persistencia temporal en memoria o storage local
- Rollback visual tras error en acción
 
- Estabilidad visual- Evitar layout shift inesperado (CLS)
- Reservas de espacio para contenido que carga tarde
- Evitar saltos al inyectar publicidad o banners
- Animaciones suaves en lugar de parpadeos
- Carga de fuentes sin parpadeo excesivo (FOIT/FOUT)
- Mantener foco del teclado estable
- Mantener scroll position entre renders
- Indicadores de “cargando” que no bloqueen todo el layout
- Evitar overlays intrusivos que muevan el contenido
- Progresión visual comprensible al usuario
 
 
- Renderizado y composición de interfaz
- Arquitectura de la aplicación frontend- Modelado de componentes- Componentes presentesacionales vs contenedores
- Props y entrada explícita
- Encapsulación de comportamiento
- Componentes reusables y componibles
- Componentes controlados vs no controlados
- Aislamiento de efectos secundarios
- Separación entre vista y lógica de negocio
- Patrones de render props / slots / children function
- Diseño de componentes atómicos, moleculares, organizacionales
- Versionado / deprecación de componentes UI
 
- Gestión de estado compartido- Estado global de aplicación
- Stores centralizados
- Context propagation
- Reducción de renders por suscripción selectiva
- Estados cacheados por recurso remoto
- Normalización de datos en el cliente
- Invalidación de caché coherente
- Sincronización de estado entre pestañas
- Control de concurrencia en actualizaciones
- Persistencia selectiva (localStorage / IndexedDB)
 
- Gestión de navegación y flujo- Routing declarativo
- Routing basado en URL / hash / memoria
- Rutas protegidas (auth)
- Rutas anidadas
- Lazy loading de rutas
- Guardas de navegación (confirmar salida, cambios sin guardar)
- Deep linking
- Sincronización de la UI con la URL (query params como estado)
- Navegación optimista (UI antes de confirmación real)
- Manejo de estados intermedios entre pantallas
 
- Integración con el sistema de diseño- Uso de tokens de diseño (color, espaciado, tipografía)
- Librerías de componentes compartidas
- Versionado del design system
- Theming (modo oscuro / marca blanca)
- Compatibilidad visual entre equipos y productos
- Consistencia en interacciones (hover, focus, active)
- Alineación con guías de accesibilidad
- Procesos de aprobación de nuevos patrones
- Detección temprana de drift visual
- Eliminación de componentes duplicados
 
- DSL de interfaz y plantillas- Componentes declarativos
- Templates reutilizables para vistas repetidas
- Configuración basada en esquemas (schema-driven UI)
- Formularios generados por metadatos
- Renderizado condicional declarativo
- Builders visuales internos
- Layouts parametrizables
- Internacionalización integrada en las plantillas
- Testing snapshot de vistas declarativas
- Evolución controlada sin romper pantallas existentes
 
 
- Modelado de componentes
- Datos, red y sincronización- Consumo de APIs- Fetch / XHR / gRPC-web
- Manejo de errores de red
- Retries con backoff
- Cache en cliente
- Normalización de respuestas en el cliente
- Transformación de wire format a modelo interno
- Manejo de paginación
- Streams de datos vs requests puntuales
- Seguridad de tokens/autorización por request
- Firma/verificación de integridad de payload
 
- Sincronización con backend- Lecturas frescas vs lecturas cacheadas
- Invalidación reactiva
- Actualizaciones delta / patch
- Sincronización periódica
- Sincronización bajo demanda
- Colas locales de cambios pendientes
- Conflictos de escritura simultánea
- Resolución de conflictos en cliente
- Confirmación optimista y rollback visual
- Versionado de recursos
 
- Tiempo real y concurrencia- Suscripción a eventos del servidor
- Indicadores de presencia en vivo
- Edición simultánea de la misma entidad
- Estados de “alguien está escribiendo”
- Conflictos de edición paralela
- Bloqueo suave vs bloqueo duro de recursos
- Difusión por canal / sala compartida
- Diferenciación entre cambios locales/remotos
- Update incremental de vistas sin recargar
- Priorización de eventos críticos vs ruido
 
- Modo offline y resiliencia de red- Cacheado local de datos críticos
- Cola de operaciones pendientes offline
- Reintento al reconectar
- Indicador de estado offline/online
- Desactivación de acciones que requieren conexión
- Resolución de inconsistencias al volver online
- Persistencia en IndexedDB / almacenamiento local
- Políticas de expiración de datos offline
- Uso de Service Workers
- Experiencia degradada pero utilizable
 
- Escalabilidad con datos en vivo- Paginación incremental infinita
- Virtualización de listas
- Renderizado parcial de tablas grandes
- Throttling y debouncing de actualizaciones
- Agrupación de eventos en lotes
- Priorización visual de cambios recientes
- Indicadores de “hay más cambios nuevos”
- Evitar rerender global ante cambios locales
- Suscripción selectiva por canal / sala / recurso
- Evitar sobrecargar el main thread
 
 
- Consumo de APIs
- Rendimiento y experiencia percibida- Costos de renderizado- Layout thrashing
- Reflows no necesarios
- Repaint excesivo
- Cálculo pesado en el hilo principal
- Uso de memorization / memo / pure components
- Batching de actualizaciones
- Suspense / carga diferida de partes costosas
- Animaciones aceleradas por GPU
- Uso de Web Workers para trabajo pesado
- Limpieza de listeners y timers
 
- Entrega y carga inicial- Bundle splitting
- Lazy loading por ruta o por componente
- Preload / prefetch selectivo
- Compresión de recursos
- Minimización de CSS y JS
- Carga progresiva de imágenes
- Uso eficiente de fuentes web
- Prioridad de recursos críticos
- Evitar JS bloqueante en el head
- Edge caching / CDN
 
- Interactividad percibida- Time to Interactive
- Respuesta inmediata a input
- Estados de “procesando” claros
- Transiciones suaves entre pantallas
- Animaciones breves para evitar sensación de congelamiento
- Minimizar el tiempo de bloqueo del main thread
- Feedback optimista
- Evitar scroll jank
- Evitar “UI muerta” tras click
- Priorizar respuesta de acciones sobre tareas en background
 
- Presupuestos de performance- Límite de peso de bundle
- Límite de scripts de terceros
- Límite de tiempo de bloqueo del hilo principal
- Límite de CLS / LCP / INP
- Cuotas de consumo de CPU en dispositivos móviles
- Cuotas de memoria en dispositivos de gama baja
- Comportamiento aceptable bajo red lenta
- Métricas mínimas de respuesta a input
- Tiempos máximos de render incremental
- Alertas automáticas cuando se rompe el presupuesto
 
 
- Costos de renderizado
- Accesibilidad, confianza y ética- Accesibilidad e inclusión- Navegación por teclado completa
- Focus visible
- Texto alternativo en imágenes
- Contraste suficiente
- Roles y ARIA adecuados
- Lectores de pantalla
- Evitar dependencias exclusivas de color
- Ajustes de tamaño de texto
- Animaciones reducidas / modo de accesibilidad
- Formularios etiquetados correctamente
 
- Internacionalización y localización- Soporte multilenguaje
- Formatos locales (fecha, moneda, separadores)
- Plurales y géneros
- LTR y RTL
- Texto incrustado en imágenes
- Evitar suposiciones culturales rígidas
- Zonas horarias y contexto temporal
- Ajustes regionales de legalidad y cumplimiento
- Copias adaptadas, no solo traducidas
- Evitar anglicismos técnicos opacos sin explicación
 
- Seguridad y confianza- Indicadores claros de acciones destructivas
- Confirmaciones para operaciones críticas
- Manejo seguro de credenciales
- Indicadores visuales de cifrado / sesión segura
- Prevención de phishing visual interno
- Prevención de clickjacking
- Bloqueo de UI tras inactividad prolongada
- Feedback al usuario sobre permisos solicitados
- Explicación del uso de datos personales
- Estados de sesión y cierre de sesión claros
 
- Cumplimiento y datos sensibles- Minimización de datos visibles
- Redacción parcial / enmascaramiento de datos
- Flujo seguro para datos personales o financieros
- Historial de acciones del usuario
- Confirmación de identidad reforzada para ciertas acciones
- Consentimiento explícito para almacenamiento
- Indicaciones legales visibles cuando corresponde
- Auditoría de acceso a información sensible
- Retención / expiración de datos visibles
- Descarga / portabilidad de datos personales
 
- Ética de interacción- Evitar patrones oscuros (dark patterns)
- Evitar manipulación emocional
- Claridad sobre el costo real de las acciones
- Respeto al tiempo del usuario
- Preguntar vs asumir consentimiento
- Evitar adicción por gamificación excesiva
- Evitar obligar a compartir datos innecesarios
- Transparencia sobre uso de IA / automatización
- Evitar sesgos en presentación de información
- Respeto a límites cognitivos y sensoriales
 
 
- Accesibilidad e inclusión
- Sistema de diseño y gobernanza de experiencia- Sistema de diseño- Tokens de diseño
- Librería unificada de componentes
- Patrones de interacción normados
- Guía de uso de color y tipografía
- Espaciado y grid
- Iconografía estándar
- Estados de error / éxito consistentes
- Animaciones estandarizadas
- Librería accesible por defecto
- Versionado del sistema y changelog
 
- Mantenibilidad y deuda de experiencia- Componentes duplicados
- Inconsistencias de estilo
- Patrones legacy no accesibles
- Elementos experimentales sin consolidar
- Divergencias entre equipos
- Dependencia en overrides ad-hoc
- Fragmentación de layouts
- Falta de documentación de uso correcto
- Falta de eliminación de patrones obsoletos
- Acumulación de hacks visuales
 
- Gobernanza del diseño- Comité o figura responsable del diseño global
- Proceso de propuesta de nuevos patrones
- Revisión cruzada entre diseño y ingeniería
- Aprobación de cambios que afectan accesibilidad
- Control de consistencia de marca
- Auditorías periódicas de experiencia
- Mecanismo de feedback de equipos satélite
- Roadmap de evolución del sistema
- Comunicación de cambios mayores
- Deprecación planificada de componentes viejos
 
- Estándares y guías de interfaz- Guía de tono y voz
- Guía de microcopy
- Guía de formularios y validaciones
- Guía de estados de error
- Guía de confirmaciones y diálogos
- Guía de interacción con teclado
- Guía de accesibilidad mínima aceptable
- Guía de navegación y arquitectura de información
- Guía de notificaciones
- Guía de componentes críticos reutilizables
 
 
- Sistema de diseño
- Calidad y validación- Testing- Pruebas unitarias de componentes
- Pruebas de integración de vistas completas
- Pruebas end-to-end en navegador real
- Snapshots visuales / regresión visual
- Pruebas de accesibilidad automatizadas
- Pruebas de performance en cliente real
- Pruebas de contratos con backend mockeado
- Tests deterministas de edge cases
- Simulación de latencia / fallo de red
- Pruebas cross-browser / cross-device
 
- Pruebas de experiencia y usabilidad- User testing moderado
- User testing no moderado
- Pruebas A/B
- Heatmaps y mapas de clic
- Grabaciones de sesión con consentimiento
- Encuestas in-product
- Medición de tasa de éxito de tarea
- Tiempo hasta completar tarea crítica
- Tasa de abandono de flujo
- Fricción percibida y feedback cualitativo
 
- Versionado y mantenibilidad de cambios- Lanzamientos graduales (rollout progresivo)
- Feature flags
- Canary release por segmento de usuarios
- Métricas antes / después del cambio
- Reversibilidad rápida (rollback)
- Compatibilidad con datos locales ya guardados
- Versionado de contratos visuales internos
- Documentación de cambios notables para soporte
- Comunicación de cambios al usuario final
- Auditoría de riesgo previo al merge
 
 
- Testing
- Colaboración y multiusuario- Presencia en tiempo real (quién está viendo/editando)- Indicadores de cursor remoto
- Avatares de presencia simultánea
- Estados “escribiendo…” por usuario
- Notificación de entrada/salida de sala
- Señalización de visualización vs edición activa
- Zonas de trabajo reservadas
- Estado de conexión de cada colaborador
- Sesiones de co-edición efímeras
- Anotaciones contextuales en vivo
- Escalamiento visual con muchos usuarios concurrentes
 
- Resolución de conflictos de edición simultánea- Locking optimista
- Locking pesimista
- Merge automatizado por campo
- CRDTs
- Historial de cambios por usuario
- Alertas de conflicto en tiempo real
- Vista previa del contenido remoto antes de aceptar
- “Última palabra gana” vs reconciliación inteligente
- Revertir cambios remotos no deseados
- Estado intermedio de reconciliación
 
- Historial compartido y atribución por persona / rol- Línea de tiempo de cambios
- Autoría visible por elemento
- Comentarios y discusión inline
- Revisión y aprobación formal
- Roles (lector / comentarista / editor / aprobador)
- Responsabilidad trazable
- Restaurar versiones anteriores
- Comparación visual diff entre versiones
- Auditoría para cumplimiento
- Señalización de cambios críticos pendientes de revisión
 
 
- Presencia en tiempo real (quién está viendo/editando)
- Operación y evolución del frontend- Observabilidad y métricas- Métricas reales de usuario (RUM)
- Latencia percibida de interacción
- Tiempos de carga inicial y navegación interna
- Crash reporting en cliente
- Registros de errores JS
- Alertas de degradación percibida
- Métricas de accesibilidad en producción
- Métricas de conversión y abandono de flujo
- Seguimiento de performance por dispositivo/red
- Segmentación por versión desplegada
 
- Mejora guiada por evidencia- Priorización basada en impacto real en usuarios
- Iteración sobre puntos de fricción más altos
- Eliminación de features no usadas
- Ajuste fino de microinteracciones
- Cambios escalonados probados con cohorts
- Roadmap dirigido por datos y feedback cualitativo
- Observación de comportamiento post-cambio
- Mecanismos de feedback in-product
- Telemetría ética y con consentimiento
- Revisión cruzada diseño–producto–ingeniería
 
 
- Observabilidad y métricas
 
- Fundamentos de experiencia y flujo
12 - Computación científica y HPC
- Computación científica y HPC- Fundamentos de análisis numérico- Aritmética de punto flotante y error numérico- Formatos IEEE-754 (precisión simple, doble y extendida)
- Representación de números subnormales y denormales
- Redondeo hacia arriba/abajo/cercano y modos de redondeo
- Pérdida de significancia y cancelación catastrófica
- Desbordamiento (overflow) y subdesbordamiento (underflow)
- Errores acumulados en sumas largas y sumas compensadas (Kahan)
- Comparaciones numéricas con tolerancia (epsilon machine)
- Precisión extendida y cómputo multiprecisión arbitraria
- Impacto en reproducibilidad entre arquitecturas distintas
- Sensibilidad del resultado frente a pequeñas variaciones de entrada
 
- Condicionamiento numérico y número de condición- Condicionamiento absoluto vs relativo
- Número de condición de una función o problema
- Problemas bien condicionados vs mal condicionados
- Ejemplos clásicos mal condicionados (matrices de Hilbert)
- Efecto del condicionamiento en la precisión del resultado final
- Relación entre condicionamiento y necesidad de precisión extendida
- Técnicas de reescalamiento para mejorar condicionamiento
- Estimación práctica del número de condición
- Propagación de incertidumbre en problemas mal condicionados
- Impacto en la estabilidad de métodos iterativos
 
- Estabilidad algorítmica y estabilidad numérica- Algoritmos estables vs inestables numéricamente
- Error hacia adelante vs error hacia atrás
- Análisis de estabilidad backward (backward error analysis)
- Cancelación numérica en restas casi iguales
- Reordenamiento algebraico para mejorar estabilidad
- Elección de formulaciones equivalentes pero más estables
- Métodos que amplifican vs amortiguan el error de redondeo
- Estabilidad en presencia de ruido en los datos de entrada
- Estabilidad en operaciones repetitivas / acumulativas
- Evaluación empírica de estabilidad con datos sintéticos
 
- Consistencia, convergencia y orden de métodos numéricos- Definición de consistencia del método
- Convergencia a la solución exacta al refinar el paso
- Orden de convergencia y tasa de error
- Métodos de primer orden vs alto orden
- Consistencia + estabilidad ⇒ convergencia (teorema de Lax)
- Refinamiento de malla / paso temporal en simulaciones
- Convergencia global vs convergencia local
- Estimación del error y control adaptativo de paso
- Balance costo computacional vs precisión deseada
- Comparación de métodos explícitos vs implícitos en convergencia
 
- Propagación y acumulación de errores de redondeo- Errores independientes vs correlacionados
- Amplificación de error en operaciones repetidas
- Sumas largas y compensación de error
- Reordenamiento de operaciones para minimizar error acumulado
- Efecto del tipo de dato (float32 vs float64 vs float128)
- Impacto de la paralelización en suma/reducciones (no asociatividad)
- Estimación a priori vs estimación empírica de acumulación de error
- Técnicas de interval arithmetic para cotas de error
- Control de precisión en hardware vectorial / GPU
- Reproducibilidad bit a bit entre ejecuciones
 
- Escalamiento y no dimensionalización de ecuaciones físicas- Variables adimensionales y unidades normalizadas
- Reducción de magnitudes extremas para evitar overflow/underflow
- Escalamiento de matrices mal condicionadas
- No dimensionalización para mejorar estabilidad temporal
- Elección de escalas características (tiempo, longitud, energía)
- Re-escritura de ecuaciones diferenciales en forma adimensional
- Comparabilidad entre simulaciones con distinta escala física
- Estimación de rangos esperados de las variables simuladas
- Evitar cancelación por diferencias de órdenes de magnitud
- Interpretación física posterior de resultados adimensionales
 
- Sensibilidad y análisis de perturbaciones- Sensibilidad de la salida ante cambios pequeños en la entrada
- Análisis de perturbaciones lineales y no lineales
- Derivadas de sensibilidad y diferenciación numérica
- Detección de parámetros críticos / rígidos (stiff)
- Identificación de variables dominantes en el comportamiento global
- Robustez de un modelo frente a incertidumbre experimental
- Propagación de ruido estocástico en simulaciones
- Tolerancias de fabricación / medición en modelos de ingeniería
- Sensibilidad paramétrica para calibración e inversión de modelos
- Uso en control óptimo y diseño asistido
 
- Caos numérico y dependencia en condiciones iniciales- Sistemas dinámicos caóticos
- Sensibilidad exponencial a condiciones iniciales
- Horizonte de predicción útil
- Divergencia numérica por errores de redondeo
- Lyapunov exponents (indicadores de caos)
- Caos físico vs caos numérico inducido por la discretización
- Métodos para acotar trayectorias probables vs exactas
- Importancia del muestreo estadístico en vez de trayectoria única
- Simulaciones Monte Carlo en sistemas caóticos
- Implicancias en clima, turbulencia, astrofísica y dinámica de fluidos
 
 
- Aritmética de punto flotante y error numérico
- Métodos numéricos fundamentales- Interpolación y aproximación polinómica- Interpolación de Lagrange
- Interpolación de Newton (forma dividida)
- Splines cúbicos y splines suaves
- Interpolación piecewise y continuidad C¹ / C²
- Fenómeno de Runge en polinomios de alto grado
- Puntos de Chebyshev para minimizar oscilaciones
- Interpolación multivariada
- Ajuste local vs global
- Evaluación eficiente de polinomios (Horner)
- Estimación del error de interpolación
 
- Ajuste de curvas y regresión numérica- Mínimos cuadrados lineales
- Mínimos cuadrados no lineales
- Ajuste polinómico de distintos órdenes
- Regularización (L2 / ridge, L1 / LASSO)
- Ajuste robusto frente a outliers
- Ajuste logarítmico / exponencial / potencia
- Problemas mal condicionados en regresión de alto orden
- Validación cruzada y sobreajuste numérico
- Solución normal vs descomposición QR para estabilidad
- Interpretación física de parámetros ajustados
 
- Derivación numérica- Diferencias hacia adelante / hacia atrás / centradas
- Orden de truncamiento del error en diferencias finitas
- Elección de paso h óptimo vs error de redondeo
- Derivadas de orden superior numéricas
- Diferenciación automática vs diferenciación numérica
- Ruido en datos experimentales y suavizado previo
- Estimación de gradientes para optimización
- Técnicas espectrales para derivación (FFT)
- Derivadas direccionales en espacios de alta dimensión
- Costos computacionales en derivación repetida
 
- Integración numérica- Regla del trapecio y Simpson
- Cuadratura compuesta en subintervalos
- Métodos adaptativos con refinamiento local
- Cuadratura gaussiana
- Integración de funciones altamente oscilatorias
- Integración en dimensiones altas (curse of dimensionality)
- Integración Monte Carlo
- Importancia del cambio de variable y normalización
- Estimación de error a partir de múltiples reglas
- Paralelización de integración sobre subdominios independientes
 
- Resolución numérica de ecuaciones no lineales- Método de bisección (búsqueda por intervalo)
- Método de Newton-Raphson
- Secante y quasi-Newton
- Condiciones de convergencia local
- Selección de punto inicial y problemas con múltiples raíces
- Detección de divergencia y fallback a métodos más robustos
- Métodos globalmente convergentes vs localmente rápidos
- Restricciones físicas para descartar raíces no válidas
- Sistemas de ecuaciones no lineales acopladas
- Paralelización de búsqueda de raíces múltiples en distintos rangos
 
- Optimización numérica determinista- Gradiente descendente clásico
- Métodos de Newton y quasi-Newton (BFGS, L-BFGS)
- Métodos de región de confianza
- Métodos de línea de búsqueda con backtracking
- Condiciones de optimalidad (KKT, gradiente cero)
- Programación cuadrática / convexa
- Manejo de restricciones (penalizaciones, multiplicadores de Lagrange)
- Detección de óptimos locales vs globales
- Criterios de parada (norma del gradiente, cambio de energía)
- Escalabilidad en problemas de muy alta dimensión
 
- Optimización numérica estocástica- Simulated annealing
- Búsqueda aleatoria guiada / random restart
- Algoritmos genéticos y evolución diferencial
- Búsqueda de enjambre de partículas (PSO)
- Métodos estocásticos de gradiente (SGD)
- Ruido térmico / ruido gaussiano para escapar mínimos locales
- Balance exploración vs explotación
- Hiperparámetros y sensibilidad al tuning
- Paralelización de evaluaciones de función objetivo
- Uso en calibración de modelos físicos complejos
 
- Métodos de Monte Carlo y muestreo aleatorio- Generación de números pseudoaleatorios de alta calidad
- Muestreo uniforme vs muestreo por importancia
- Métodos de aceptación-rechazo
- Cadenas de Markov Monte Carlo (MCMC)
- Estimación estadística de integrales y esperanzas
- Varianza y errores de Monte Carlo
- Reducción de varianza (estratificación, control variate)
- Quasi-Monte Carlo y secuencias de baja discrepancia
- Paralelización masiva de simulaciones independientes
- Aplicación en física estadística, finanzas cuantitativas y confiabilidad
 
- Cuadratura adaptativa y métodos compuestos- Subdivisión recursiva de intervalos según error estimado
- Refinamiento local donde la función es más compleja
- Control global del error absoluto y relativo
- Integración piecewise con reglas simples en cada subintervalo
- Manejo de singularidades locales
- Mezcla de reglas (trapecio, Simpson) según suavidad local
- Paralelización por bloques independientes
- Estimación de coste computacional incremental
- Criterios de parada adaptativos
- Uso en problemas con picos, capas límite o fronteras irregulares
 
- Minimización de energía y métodos variacionales
- Planteamiento de problemas físicos como minimización de energía libre
- Métodos variacionales y funcionales de energía
- Principio de mínima acción / mínima energía potencial
- Discretización espacial (elementos finitos) para energía continua
- Métodos iterativos de relajación de energía
- Restricciones físicas duras (incompresibilidad, límites geométricos)
- Métodos gradiente descendente proyectado
- Técnicas multiescala para relajar grandes sistemas físicos
- Estabilidad numérica de la relajación de energía
- Aplicaciones en mecánica estructural, elasticidad, materiales y fluidos
 
- Interpolación y aproximación polinómica
- Álgebra lineal numérica avanzada- Descomposición LU, Cholesky, QR, SVD- Factorización LU para resolver Ax=b
- Descomposición Cholesky para matrices simétricas definidas positivas
- Descomposición QR para mínimos cuadrados estables
- Descomposición en valores singulares (SVD)
- Estabilidad numérica de cada factorización
- Complejidad computacional y costo en FLOPs
- Uso de pivoteo parcial / completo para estabilidad
- Reducción de rango y compresión con SVD truncada
- Resolución sobredeterminada y subdeterminada
- Uso en regresión, compresión, PCA y filtrado de ruido
 
- Resolución directa de sistemas lineales- Sustitución hacia adelante y hacia atrás
- Eliminación gaussiana clásica
- Pivoteo parcial para estabilidad numérica
- Factorización en bloques para explotar cache
- Sistemas densos vs dispersos
- Costos de O(n³) y límites prácticos en n grande
- Uso repetido de la misma factorización para múltiples RHS
- Efecto del condicionamiento de A en la precisión de x
- Impacto de errores de redondeo en el resultado final
- Implementaciones optimizadas con BLAS/LAPACK
 
- Métodos iterativos para sistemas lineales- Jacobi y Gauss-Seidel
- Successive Over-Relaxation (SOR)
- Métodos basados en subespacios de Krylov
- Convergencia condicionada a propiedades espectrales de A
- Criterios de parada (residuo, norma relativa)
- Preacondicionamiento para acelerar convergencia
- Escalabilidad a sistemas muy grandes y dispersos
- Paralelización natural de métodos iterativos
- Almacenamiento más eficiente que métodos directos en gran escala
- Aplicación en simulación de campos, fluidos y estructuras
 
- Gradiente conjugado y variantes- Método de gradiente conjugado para SPD (simétrica definida positiva)
- Relación con minimización de una forma cuadrática
- Precondicionadores (PCG)
- Estimación de convergencia según espectro de la matriz
- Limitaciones en matrices no SPD
- Flexible CG y adaptaciones prácticas
- Reutilización de precondicionadores entre pasos de simulación
- Parallel CG en clusters y GPU
- Reducción de comunicación entre nodos en HPC
- Estabilidad numérica en iteraciones largas
 
- GMRES, BiCGSTAB y métodos de Krylov generales- GMRES para sistemas no simétricos
- Reinicio de GMRES (GMRES(m)) para limitar memoria
- BiCGSTAB para convergencia acelerada en no simétricas
- Métodos Krylov basados en subespacios crecientes
- Sensibilidad al precondicionador elegido
- Costos de almacenamiento de las bases de Krylov
- Estrategias para evitar pérdida de ortogonalidad
- Paralelización distribuida y comunicaciones colectivas
- Balance entre iteraciones baratas y iteraciones robustas
- Uso en simulaciones de dinámica de fluidos y electromagnetismo
 
- Problemas de autovalores y autovectores- Potencia y potencia inversa
- Descomposición QR iterativa para autovalores
- Métodos de subespacio para autovalores dominantes
- Métodos de Lanczos (matrices simétricas grandes)
- Métodos de Arnoldi (no simétricas grandes)
- Cálculo de modos propios en sistemas físicos (vibraciones, modos normales)
- Extracción de pocos autovalores relevantes sin calcular todos
- Desplazamiento espectral (shift-and-invert)
- Estabilidad numérica en espectros muy cercanos
- Paralelización de cálculo espectral en HPC
 
- Descomposiciones espectrales y modos propios- Descomposición espectral de matrices simétricas
- Representación modal de sistemas dinámicos lineales
- Descomposición modal en vibraciones estructurales
- Modos propios en mecánica cuántica / ecuaciones de onda
- Filtrado modal para reducción de orden de modelos
- Selección de modos dominantes y truncado modal
- Análisis de estabilidad mediante autovalores con parte real positiva/negativa
- Reducción de dimensionalidad guiada por espectro
- Construcción de bases reducidas (ROMs / reduced-order models)
- Proyección Galerkin y aproximaciones subespaciales
 
- Matrices dispersas y formatos de almacenamiento disperso- Formato CSR / CSC (Compressed Sparse Row / Column)
- Formatos COO y DIA (diagonal)
- Bloques dispersos (Block CSR / BCSR)
- Impacto en el acceso a memoria y cache
- Multiplicación matriz-vector (SpMV) eficiente
- Carga en GPU y coalescing de accesos dispersos
- Ensamblaje de matrices dispersas en métodos de elementos finitos
- Reordenamiento de nodos para mejorar localidad (RCM, etc.)
- Compresión y trade-offs entre memoria y velocidad
- Serialización / intercambio de matrices dispersas entre nodos HPC
 
- Precondicionadores y mejora de convergencia- Precondicionadores diagonales / Jacobi escalado
- ILU(0) y variantes incompletas
- Precondicionadores multigrid / algebraic multigrid (AMG)
- Precondicionadores basados en bloques
- Precondicionadores específicos de dominio físico (domain-specific)
- Balance entre costo de construir el precondicionador y ganancia en iteraciones
- Reutilización en pasos sucesivos de simulación transitoria
- Implementación distribuida en clústeres (domain decomposition)
- Efecto del precondicionador en la estabilidad numérica global
- Ajuste adaptativo del precondicionador durante la corrida
 
- 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
- Factorizaciones de rango bajo- Aproximación de matrices grandes por matrices de bajo rango
- SVD truncada y PCA numérica
- Descomposición CUR
- Low-Rank Approximation para compresión de operadores
- Métodos aleatorizados para bajo rango
- Reducción de costo en almacenamiento y cómputo
- Aplicación en modelos reducidos de sistemas físicos grandes
- Separación de señal/ruido mediante modos dominantes
- Uso en simulaciones de alta dimensión (fluidodinámica, clima)
- Trade-off entre precisión perdida y ahorro computacional
 
 
- Descomposición LU, Cholesky, QR, SVD
- Métodos para ecuaciones diferenciales ordinarias (EDO)- Métodos explícitos de paso único- Euler explícito
- Métodos de Taylor de orden bajo
- Métodos de Runge-Kutta explícitos básicos (RK2, RK4)
- Estabilidad condicionada al tamaño de paso
- Propagación de error local vs global
- Ventajas en problemas no rígidos y bien comportados
- Costos computacionales por paso bajos
- Paralelización simple en evaluación de la función derivada
- Limitaciones frente a ecuaciones rígidas
- Uso en simulaciones en tiempo real donde importa velocidad más que precisión fina
 
- Métodos implícitos de paso único- Euler implícito (backward Euler)
- Métodos trapezoidales implícitos
- Estabilidad A-stable y L-stable
- Resolución de sistemas no lineales en cada paso
- Requerimiento de Jacobianos o aproximaciones del Jacobiano
- Adecuación a ecuaciones rígidas
- Costos computacionales más altos por paso
- Métodos de Newton para cerrar el paso implícito
- Buen control de amortiguamiento numérico en sistemas disipativos
- Uso en simulaciones de alta rigidez (química, circuitos eléctricos, reacciones rápidas)
 
- Métodos multistep- Métodos de Adams-Bashforth (explícitos)
- Métodos de Adams-Moulton (implícitos)
- Métodos de diferenciación hacia atrás (BDF)
- Uso de historial de pasos anteriores para acelerar cómputo
- Estabilidad y rigidez: BDF para problemas muy rígidos
- Control de orden variable dinámico
- Arranque (startup) con métodos de paso único antes de aplicar multistep
- Control de error mediante estimadores embebidos
- Dificultades con eventos/discontinuidades (reset del historial)
- Eficiencia en simulaciones largas en el tiempo
 
- Métodos Runge-Kutta clásicos y de alto orden- RK4 clásico como estándar generalista
- Runge-Kutta de orden adaptativo embebido (Fehlberg, Cash-Karp, Dormand-Prince)
- Métodos explícitos vs implícitos de Runge-Kutta
- Métodos diagonales implícitos para rigidez
- Orden alto (RK de orden 5,6,7+) y trade-off costo/precisión
- Control de error local incorporado en pares embebidos
- Métodos particionados (para sistemas desacoplados rígido/no rígido)
- Simplicidad de implementación vs complejidad analítica
- Uso extensivo en simulación física y animación científica
- Paralelización parcial de evaluaciones intermedias de la derivada
 
- Métodos adaptativos con control de paso- Estimación de error local en cada paso
- Ajuste dinámico del tamaño de paso (step size control)
- Criterios absolutos vs relativos de tolerancia
- Rechazo y repetición de pasos cuando el error es demasiado alto
- Manejo de regiones con cambios rápidos vs suaves
- Evitar trabajo excesivo en zonas suaves usando pasos largos
- Evitar inestabilidad numérica en zonas rígidas con pasos cortos
- Métodos embebidos (par de órdenes p/p-1) para estimar error sin costo extra grande
- Detección de blow-up numérico y frenado de integración
- Relevancia en simuladores generales tipo “solve ODE” automáticos
 
- Sistemas rígidos y métodos para rigidez- Definición de rigidez (stiffness) en EDO
- Restricciones severas de paso en métodos explícitos
- Métodos BDF para rigidez severa
- Runge-Kutta implícitos L-stable
- Linealización local y resolución de sistemas lineales internos
- Necesidad de Jacobianos o aproximaciones numéricas del Jacobiano
- Precondicionamiento en la resolución de los sistemas internos
- Estabilidad numérica frente a modos rápidos altamente amortiguados
- Problemas típicos rígidos: cinética química, circuitos eléctricos, reacciones nucleares
- Detección automática de rigidez y cambio de solver en caliente
 
- Conservación de invariantes y métodos geométricos- Integradores simplécticos para sistemas Hamiltonianos
- Conservación de energía a largo plazo en sistemas conservativos
- Conservación de momento y otras cantidades invariantes
- Métodos de ángulo-acción y preservación de estructuras de fase
- Métodos de partición (split-step) para dinámica separable
- Integradores de rotación / rigid body preserving constraints
- Uso en mecánica celeste y dinámica molecular
- Evitar deriva numérica en simulaciones largas
- Métodos de Lie-Trotter y Strang splitting
- Métodos que respetan restricciones holónomas (constraint-preserving)
 
- Métodos linealizados y métodos de disparo- Linealización local alrededor de trayectorias temporales
- Aproximaciones de primer orden para sistemas débilmente no lineales
- Método de disparo (shooting method) para problemas de contorno
- Ajuste iterativo de condiciones iniciales para satisfacer condiciones finales
- Sensibilidad extrema a condiciones iniciales en disparo directo
- Descomposición del problema en subintervalos para mejorar estabilidad
- Acoplamiento con métodos de optimización para cerrar condiciones de borde
- Variantes múltiples-disparo (multiple shooting)
- Uso en control óptimo y trayectorias balísticas
- Relación con métodos de contorno tipo collocation
 
- Solución de problemas de contorno- EDO con condiciones en más de un punto (boundary value problems)
- Métodos de disparo simple y múltiple
- Métodos de colocation y aproximación por bases de funciones
- Ajuste de la solución en forma global en todo el dominio
- Linearización incremental y solución iterativa
- Estabilidad y sensibilidad a pequeñas variaciones en condiciones de borde
- Uso de splines / polinomios por tramos para forzar condiciones
- Métodos tipo Galerkin para problemas de contorno
- Conversión de problema de contorno en un sistema algebraico grande
- Aplicación en vigas, elasticidad 1D, transferencia de calor estacionaria
 
 
- Métodos explícitos de paso único
- Métodos para ecuaciones diferenciales parciales (EDP)- Discretización por diferencias finitas- Aproximación de derivadas espaciales por diferencias hacia adelante/atrás/centradas
- Esquemas explícitos en el tiempo (Forward Euler en PDE)
- Esquemas implícitos (Backward Euler, Crank–Nicolson)
- Orden de truncamiento espacial y temporal
- Estabilidad condicional y CFL en métodos explícitos
- Manejo de condiciones de borde (Dirichlet, Neumann, mixtas)
- Mallado uniforme vs no uniforme
- Discretización de operadores elípticos, parabólicos e hiperbólicos
- Tratamiento de términos convectivos y difusión numérica
- Implementación eficiente en mallas regulares (stencil computation)
 
- Discretización por elementos finitos- Formulación débil / variacional del problema
- Funciones base locales (elementos lineales, cuadráticos, etc.)
- Ensamblaje de la matriz global de rigidez / masa
- Manejo de geometrías complejas y dominios irregulares
- Adaptación de malla local donde hay gradientes fuertes
- Elementos isoparamétricos y mapeos curvos
- Condiciones de borde naturales vs esenciales
- Métodos mixtos y formulaciones híbridas
- FEM para problemas elásticos, térmicos, flujo, electromagnetismo
- Uso de precondicionadores específicos de FEM en HPC
 
- Discretización por volúmenes finitos- Conservación de flujo a través de volúmenes de control
- Balance integral sobre cada celda
- Cálculo de flujos numéricos en las fronteras de celda
- Adecuado para leyes de conservación (masa, momentum, energía)
- Manejo de discontinuidades (shock capturing)
- Esquemas de alta resolución con limitadores de pendiente
- Mallas estructuradas vs no estructuradas
- Conservación global garantizada por construcción
- Uso extensivo en dinámica de fluidos computacional (CFD)
- Fácil interpretación física del balance local
 
- Métodos espectrales y pseudoespectrales- Expansión de la solución en series de funciones base globales (Fourier, Chebyshev)
- Alta precisión con pocos grados de libertad en problemas suaves
- Transformadas rápidas (FFT) para acelerar cómputo
- Tratamiento complicado de geometrías complejas
- Aliasing y dealiasing en no linealidades
- Métodos pseudoespectrales evaluando derivadas en el espacio físico
- Condiciones periódicas naturales en dominios tipo caja
- Captura de modos dominantes en turbulencia y flujo inestable
- Escalabilidad en paralelo vía descomposición de dominio espectral
- Uso en simulación de fluidos incompresibles y ondas
 
- Métodos de contorno e integrales de frontera- Reformulación de la PDE como integral sobre la frontera del dominio
- Reducción de la dimensionalidad del problema (de 3D a 2D, etc.)
- Uso de funciones de Green
- Tratamiento muy eficiente para dominios infinitos / semi-infinitos
- Condiciones de borde complejas (acústica, electromagnetismo)
- Matrices densas resultantes y necesidad de aceleración (FMM, etc.)
- Dificultad con no linealidades fuertes
- Precisión alta en problemas de potencial estacionario
- Acoplamiento con métodos volumétricos en el interior
- Aplicaciones en scattering de ondas y problemas elípticos
 
- Esquemas conservativos y leyes de conservación- Discretizaciones que respetan conservación de masa, momento, energía
- Flujos numéricos tipo Riemann solver
- Métodos upwind y Godunov
- Esquemas de alto orden con limitadores TVD / ENO / WENO
- Captura de shocks sin oscilaciones espurias
- Entropía numérica y estabilidad física
- Tratamiento de discontinuidades de contacto y ondas de choque
- Prevención de presión negativa / densidad negativa en fluidos comprimibles
- Métodos para hidrodinámica relativista y MHD
- Conservación exacta en cada celda como criterio de validez
 
- Estabilidad numérica y condición CFL- Definición de la condición CFL (Courant-Friedrichs-Lewy)
- Relación entre paso temporal, velocidad característica y tamaño de celda
- Estabilidad condicional de esquemas explícitos hiperbólicos
- Elección de paso de tiempo seguro en simulaciones transitorias
- Schemas implícitos que alivian restricción CFL
- Impacto de CFL en precisión vs costo computacional
- Control adaptativo del paso de tiempo basado en CFL local
- Diferencias entre CFL global y CFL local en mallas no uniformes
- CFL en problemas multipropósito (ondas + difusión)
- Fallas típicas por violar CFL (explosión numérica)
 
- Métodos implícitos vs explícitos en EDP- Métodos explícitos: más simples y paralelizables pero con pasos pequeños
- Métodos implícitos: más estables pero requieren resolver sistemas grandes
- Métodos semi-implícitos / IMEX (implícito-explícito híbrido)
- Diferencias para problemas difusivos vs convectivos
- Costo de ensamblar y factorizar matrices grandes en el caso implícito
- Uso de precondicionadores en métodos implícitos
- Trade-off costo por paso vs tamaño de paso permitido
- Elección práctica según rigidez y escala temporal del fenómeno
- Métodos particionados por física (tratando términos distintos con esquemas distintos)
- Consideraciones de memoria y comunicación en HPC
 
- Refinamiento de malla adaptativo (AMR)- Refinamiento espacial local donde hay alta variación
- Coarsening donde la solución es suave
- Niveles jerárquicos de malla anidada
- Criterios de refinamiento basados en gradiente / curvatura / error estimado
- Balance de carga entre nodos HPC con mallas refinadas localmente
- Interpolación entre niveles de refinamiento
- Conservación de cantidades físicas al refinar / desrefinar
- Adaptación dinámica en el tiempo (refinamiento que se mueve con la onda / shock)
- AMR en 2D vs 3D y costos de memoria
- Integración con multigrid y solvers iterativos
 
- Métodos de partículas y SPH (Smoothed Particle Hydrodynamics)+- Representación lagrangiana: el fluido como partículas
- Kernel de suavizado para estimar campos continuos
- Manejo natural de grandes deformaciones y superficies libres
- No requiere malla fija (mesh-free)
- Tratamiento de fronteras y condiciones de contorno en SPH
- Estabilidad y viscosidad numérica artificial
- Conservación de masa y momentum a través de interacciones entre partículas
- Uso en astrofísica, fluidos libres, impactos y rompimiento de materiales
- Escalabilidad en GPU con vecindarios locales
- Dificultad para capturar fenómenos altamente compresibles con alta precisión
 
- Métodos de frontera inmersa- Representación de objetos sólidos inmersos en un fluido sin mallar el sólido explícitamente
- Fuerzas de interacción sólido-fluido distribuidas en la malla del fluido
- Manejo de geometrías móviles / complejas sin re-mallado completo
- Uso en biomecánica (válvulas cardíacas, organismos nadadores)
- Desacople entre resolución del fluido y del sólido
- Tratamiento de condiciones de no deslizamiento (no-slip) aproximadas
- Posibles fugas numéricas cerca de la interfaz si no se refina suficiente
- Costo computacional adicional por imponer la condición de frontera inmersa
- Extensión a flujos no newtonianos y multicomponente
- Acoplamiento con estructuras elásticas deformables
 
- Tratamiento numérico de discontinuidades y shocks- Captura de shocks sin introducir oscilaciones numéricas espurias
- Limitadores de pendiente para evitar overshoot/undershoot
- Métodos de Godunov y Riemann solvers aproximados
- Técnicas ENO / WENO para alta resolución sin oscilaciones
- Rastreo explícito de la discontinuidad vs captura difusa
- Entropía física y selección de la solución físicamente correcta
- Prevención de valores no físicos (densidad negativa, presión negativa)
- Interacción de shocks múltiples y reflexión en paredes
- Shocks relativistas y choques magnetizados en MHD
- Validación contra soluciones analíticas de referencia / problemas estándar (Sod, blast wave)
 
 
- Discretización por diferencias finitas
- Simulación científica por dominio físico- Dinámica de fluidos computacional (CFD)- Resolución de ecuaciones de Navier-Stokes (incompresibles y compresibles)
- Modelos de turbulencia (RANS, LES, DNS)
- Estabilidad numérica en flujos de alta velocidad (Mach alto)
- Captura de capas límite, separación de flujo y arrastre
- Métodos de presión-velocidad (proyección, SIMPLE, PISO)
- Flujo multifásico y seguimiento de interfaces (VOF, Level Set)
- Flujos reactivos y combustión numérica
- Simulación de cavitación y erosión por vórtices
- Acoplamiento fluido-estructura (FSI)
- Paralelización masiva en mallas 3D de alta resolución
 
- Mecánica de sólidos y análisis estructural- Elasticidad lineal y no lineal
- Plasticidad y endurecimiento
- Grandes deformaciones y no linealidad geométrica
- Elementos finitos para tensión y deformación
- Análisis modal de vibraciones estructurales
- Estabilidad estructural y pandeo
- Contacto y fricción entre cuerpos
- Fatiga y vida útil bajo cargas cíclicas
- Materiales compuestos y anisotropía
- Optimización topológica de estructuras
 
- Fractura, plasticidad y mecánica del daño- Mecánica de la fractura lineal elástica (LEFM)
- Criterios de iniciación y propagación de grietas
- Modelos cohesivos de zona de fractura
- Plasticidad dependiente de la historia de carga
- Daño acumulativo y degradación de rigidez
- Fractura dinámica y fragmentación rápida
- Efectos térmicos y termo-mecánicos en propagación de grietas
- Modelos multiescala (microestructura → macrocomportamiento)
- Simulación de impacto, penetración y balística
- Evaluación de vida útil y tolerancia al daño en ingeniería crítica
 
- Electromagnetismo computacional- Resolución numérica de las ecuaciones de Maxwell
- Métodos FDTD (Finite-Difference Time-Domain)
- Métodos de elementos finitos electromagnéticos
- Métodos de contorno para scattering electromagnético
- Propagación de ondas electromagnéticas en medios complejos
- Guías de onda, antenas y cavidades resonantes
- Acoplamiento electromagnético de alta frecuencia y efectos de radiación
- Interferencia, difracción y absorción en materiales reales
- Simulación de compatibilidad electromagnética (EMC/EMI)
- Optimización de dispositivos RF / microondas / fotónica integrada
 
- Física de plasmas y magnetohidrodinámica- Ecuaciones MHD (magnetohidrodinámica) acopladas
- Dinámica de campos magnéticos congelados en el fluido
- Reconección magnética y liberación de energía
- Inestabilidades de plasma (Rayleigh-Taylor, Kelvin-Helmholtz, kink)
- Modelos cinéticos vs modelos de fluido para plasmas
- Métodos de partículas-celda (PIC) para plasmas collisionless
- Ondas de choque magnetizadas y estructuras de choque MHD
- Confinamiento magnético en fusión nuclear
- Transporte anisotrópico de calor en plasmas magnetizados
- Simulación de plasmas espaciales y astrofísicos
 
- Astrofísica computacional y relatividad numérica- Evolución gravitacional N-cuerpos auto-gravitantes
- Colapso gravitacional y formación de estructuras cósmicas
- Simulación hidrodinámica cosmológica con expansión del universo
- Simulaciones acopladas radiación-hidrodinámica
- Relatividad general numérica (ecuaciones de Einstein discretizadas)
- Ondas gravitacionales y fusiones de objetos compactos
- Modelos de acreción alrededor de agujeros negros
- Eyección relativista de jets y campos magnéticos extremos
- Seguimiento de especies químicas en evolución estelar y medios interestelares
- Resolución adaptativa de malla en escalas astronómicas enormes
 
- Dinámica molecular clásica- Simulación de movimiento de partículas según fuerzas clásicas
- Potenciales interatómicos empíricos (Lennard-Jones, Morse, etc.)
- Integradores simplécticos para conservar energía a largo plazo
- Condiciones periódicas de contorno (cajas periódicas)
- Termostatos y barostatos (NVT, NPT)
- Cálculo de propiedades termodinámicas (energía libre, difusividad)
- Análisis de trayectorias y correlaciones temporales
- Simulación de procesos de difusión, mezcla, autoensamblado
- Modelos coarse-grained vs atomísticos detallados
- Aceleración con GPU y descomposición espacial entre nodos
 
- Dinámica molecular ab initio- Fuerzas derivadas directamente de cálculos de estructura electrónica
- DFT (Teoría del Funcional de la Densidad) acoplada a dinámica atómica
- Altísimo costo computacional por paso de tiempo
- Escalas temporales cortas pero alta fidelidad cuántica
- Simulación de reacciones químicas y enlaces que se forman/rompen
- Propiedades electrónicas bajo condiciones extremas (alta P, alta T)
- Comparación con potenciales clásicos ajustados
- Métodos híbridos QM/MM (cuántico-molecular)
- Optimización de estructuras moleculares y búsqueda de estados metaestables
- Uso en materiales nuevos, catálisis y química de superficies
 
- Física estadística y simulación de Monte Carlo- Simulación de ensambles canónico, microcanónico, gran canónico
- Método de Metropolis-Hastings
- Simulación de sistemas de espines (Ising, Potts)
- Transiciones de fase y fenómenos críticos
- Técnicas de recocido simulado (simulated annealing)
- Reponderación de histogramas y análisis de estados raros
- Caminatas aleatorias y difusión browniana
- Métodos de muestreo avanzado (cluster updates, parallel tempering)
- Cálculo de observables promediados estadísticamente
- Estimación de incertidumbre estadística y autocorrelación
 
- Modelos climáticos y geo-simulación- Modelos acoplados océano-atmósfera
- Ecuaciones de transporte de calor, humedad y momento a escala planetaria
- Dinámica de circulación general atmosférica
- Modelos de hielo, criosfera y dinámica de glaciares
- Modelos de ciclo del carbono y biogeoquímica
- Resolución de procesos de nubes y precipitación sub-resueltos (parametrizaciones)
- Asimilación de datos observacionales en el modelo numérico
- Simulación de eventos extremos (huracanes, olas de calor)
- Escalabilidad en supercomputadores para predicciones de largo plazo
- Análisis de incertidumbre y ensembles de proyecciones climáticas
 
- Sismología y propagación de ondas- Ecuaciones de onda elástica en medios heterogéneos
- Modelado de propagación sísmica en 3D
- Métodos espectrales y de elementos finitos para ondas sísmicas
- Discontinuidades de interfaces geológicas y fallas
- Modelación de fuentes sísmicas realistas (rupturas dinámicas)
- Atenuación, disipación y dispersión del pulso sísmico
- Inversión sísmica para obtener estructuras internas de la Tierra
- Simulación de escenarios de terremotos para ingeniería sísmica
- Propagación de tsunamis y acoplamiento océano-suelo
- Necesidad de mallas adaptativas en regiones urbanas / costeras
 
- Biofísica computacional y dinámica de proteínas- Simulación del plegamiento de proteínas
- Interacciones proteína-ligando y afinidad de unión
- Canales iónicos y transporte a través de membranas
- Modelos de ADN/ARN y dinámica conformacional
- Métodos coarse-grained para sistemas biológicos grandes
- Simulación de membranas celulares y microdominios lipídicos
- Dinámica conformacional lenta y rare-event sampling
- Predicción de estabilidad de mutaciones
- Acoplamiento con datos experimentales (crio-EM, rayos X)
- Exploración de rutas de transición entre estados funcionales
 
- Simulación de reactores nucleares y transporte de radiación- Ecuaciones de transporte neutrónico (neutrones en medios materiales)
- Difusión neutrónica y métodos multigrupo de energía
- Cálculo de criticidad y factores de multiplicación
- Termohidráulica acoplada (flujo + calentamiento del combustible)
- Gestión de combustibles y quemado (burnup)
- Transporte de radiación gamma / fotones energéticos
- Métodos Monte Carlo para trayectorias de partículas
- Blindaje y protección radiológica
- Simulación transitoria de accidentes y scram (apagado rápido)
- Validación frente a mediciones experimentales y benchmarks estándar
 
 
- Dinámica de fluidos computacional (CFD)
- Programación científica- Lenguajes y ecosistemas dominantes (Fortran moderno, C/C++, Julia)- Fortran moderno (Fortran 90+ con módulos, arrays n-dimensionales, paralelismo)
- C para cómputo cercano al hardware y control de memoria explícito
- C++ para metaprogramación, genéricos y abstracciones sin costo
- C++ moderno (C++17/C++20) con plantillas y expresiones constantes evaluables en compile-time
- Julia como lenguaje de alto nivel con performance cercano a C
- Interoperabilidad entre lenguajes (por ejemplo, C/Fortran → Python)
- Gestión manual de memoria vs recolección de basura controlada
- Estabilidad numérica y reproducibilidad entre implementaciones
- Soporte para paralelismo nativo por lenguaje
- Portabilidad entre arquitecturas (CPU, GPU, aceleradores)
 
- Bibliotecas numéricas de bajo nivel (BLAS, LAPACK)- BLAS nivel 1/2/3 (operaciones vector, matriz-vector, matriz-matriz)
- Implementaciones optimizadas específicas de hardware (MKL, OpenBLAS, BLIS)
- LAPACK para resolución de sistemas lineales densos
- Factorizaciones LU, QR, Cholesky mediante llamadas estándar
- Cálculo de autovalores/autovectores
- Interfaz procedural y convenciones de memoria (column-major)
- Uso en cómputo de alto rendimiento sin reescribir álgebra básica a mano
- Enfoque en matrices densas vs necesidad de extensiones para matrices dispersas
- Llamadas desde lenguajes de más alto nivel
- Vinculación estática vs dinámica y problemas de ABI
 
- Bibliotecas científicas de más alto nivel (FFTW, PETSc, Trilinos)- FFTW para transformadas rápidas de Fourier multidimensionales
- PETSc para álgebra lineal dispersa y solvers iterativos escalables
- Trilinos para solvers multipropósito en entornos paralelos distribuidos
- Manejo de mallas, discretizaciones y operadores diferenciales discretizados
- Solución de EDP acopladas en paralelo
- Precondicionadores avanzados ya implementados
- Soporte para descomposición de dominio y cómputo distribuido
- Integración con MPI y OpenMP
- Abstracción de vectores y matrices con distinta representación interna
- Reutilización en simulación multi-física compleja
 
- Programación con precisión controlada- Elección entre float32,float64,float128
- Árbitro de costo vs precisión requerida física
- Acumulación de sumas en precisión extendida
- Uso de tipos de punto fijo en hardware embebido científico
- Control de redondeo y modos IEEE-754
- Rescate de estabilidad numérica usando precisión mixta
- Estrategias de reproducibilidad bit a bit
- Minimización del error catastrófico en restas casi iguales
- Impacto de la precisión reducida en desempeño GPU
- Uso de precisión mixta en métodos iterativos con refinamiento
 
- Elección entre 
- Programación vectorial explícita y extensiones SIMD- SIMD (Single Instruction Multiple Data) en CPU (AVX, NEON, SVE)
- Vectorización automática del compilador vs vectorización manual
- Alineamiento de datos y layout contiguo
- Desenrollado de loops para mejorar throughput
- Instrucciones de fusión de operaciones (FMA)
- Minimización de dependencias de datos en el loop
- Estructura de datos AoS vs SoA (Array of Structs vs Struct of Arrays)
- Uso de intrinsics específicos de arquitectura
- Portabilidad del código vectorizado entre arquitecturas
- Interacción entre vectorización y cachés L1/L2/L3
 
- Uso de plantillas y metaprogramación para rendimiento- Metaprogramación en C++ para generar kernels especializados en compile-time
- Eliminación de capas de abstracción en tiempo de compilación (zero-cost abstractions)
- Expresión de álgebra lineal como expresiones template (expression templates)
- Inlining agresivo y eliminación de funciones virtuales
- Selección de rutas de cómputo optimizadas según tipo/dimensión
- Generación de código estático para tamaños de bloque conocidos
- Especialización parcial para arquitecturas específicas
- Plantillas para fusionar loops y reducir pasadas de memoria
- Codegen de kernels específicos de problema
- Costos de compilación y mantenibilidad vs ganancia de performance
 
- Modelos de cómputo distribuido científico (MPI)- Paso de mensajes explícito punto a punto
- Comunicación colectiva (broadcast, scatter, gather, all-reduce)
- Particionamiento de dominio espacial entre procesos
- Decomposición 1D / 2D / 3D de mallas
- Sincronización de bordes (halo exchange)
- Comunicaciones bloqueantes vs no bloqueantes
- Minimización de latencia entre nodos
- Overlap de cómputo y comunicación
- Escalamiento a miles o millones de procesos
- Tolerancia a fallos en ejecuciones largas
 
- Directivas paralelas (OpenMP, OpenACC)- Paralelización con anotaciones pragmas en el código
- Creación y gestión automática de hilos
- Distribución de loops entre hilos de CPU
- Control de afinidad de hilos y binding a núcleos
- Reducciones paralelas seguras
- Regiones críticas y secciones atómicas
- Paralelización incremental sin reescribir toda la base de código
- OpenACC para offload a GPU con directivas
- Balance entre sencillez de directivas y control fino
- Interacción con vectorización y jerarquías NUMA
 
- Modelos de cómputo acelerado (CUDA, HIP, OpenCL)- Kernels ejecutados masivamente en GPU
- Jerarquías de hilos, bloques y grids
- Memoria global vs compartida vs registros
- Coalescing de accesos a memoria y alineamiento
- Ocultamiento de latencia mediante sobre-subscription de hilos
- Portabilidad entre proveedores (CUDA vs HIP vs OpenCL)
- Transferencia CPU↔GPU y solapamiento con cómputo
- Uso de bibliotecas aceleradas (cuBLAS, cuFFT, rocBLAS)
- Kernel fusion para reducir tráfico a memoria
- Ajuste fino de occupancy y límites de registros
 
- Lenguajes y DSLs específicos de dominio- DSLs para ecuaciones diferenciales parciales
- Lenguajes declarativos para mallas y discretizaciones
- DSLs para álgebra lineal dispersa
- Lenguajes simbólicos que generan kernels numéricos
- Generación automática de código optimizado para GPU/CPU
- Plantillas de simulación para ciertos dominios (CFD, FEM, EM)
- Abstracción de hardware sin perder eficiencia
- Minimización de errores humanos en discretizaciones complejas
- Exploración rápida de nuevos modelos físicos
- Reutilización científica entre equipos de investigación
 
- Envolturas científicas en Python y bindings nativos- Python como capa de orquestación y análisis
- Llamadas a kernels en C/C++/Fortran desde Python
- Uso de ctypes,cffi,pybind11
- Numpy como representación estándar de arreglos numéricos
- SciPy como wrapper de librerías nativas de álgebra y optimización
- Compilación just-in-time (Numba) para acelerar loops críticos
- Gestión del GIL en cómputo intensivo
- Interoperabilidad con GPU (CuPy, PyCUDA)
- Construcción de prototipos rápidos antes de portar a C++/Fortran
- Entornos reproducibles con dependencias científicas complejas
 
- Entornos interactivos de exploración científica- Notebooks interactivos para experimentación numérica
- Visualización inmediata de resultados parciales
- Exploración de parámetros y sensibilidad
- Registro de decisiones experimentales junto al código
- Reproducibilidad de cálculos paso a paso
- Integración con librerías de plotting científico
- Interacción con clúster remoto desde entorno interactivo
- Post-procesamiento de simulaciones HPC masivas
- Comparación visual de distintas corridas / configuraciones
- Comunicación de resultados a no especialistas dentro del equipo
 
 
- Lenguajes y ecosistemas dominantes (Fortran moderno, C/C++, Julia)
- Arquitecturas HPC y rendimiento extremo- Supercomputadores y clústeres HPC- Nodos de cómputo dedicados interconectados a alta velocidad
- Nodo de login vs nodos de ejecución
- Jerarquías de colas y asignación por proyecto
- Balance entre cómputo CPU y aceleradores (GPU, TPU)
- Redes internas dedicadas de baja latencia
- Sistemas de archivos paralelos compartidos
- Refrigeración y consumo eléctrico masivo
- Escalabilidad a cientos de miles de núcleos
- Chequeo de salud del clúster en operación continua
- Mantenimiento planificado y ventanas de inactividad
 
- Topologías de interconexión de alto rendimiento- Topología malla (mesh)
- Topología toro (torus) 2D/3D
- Fat-tree / árbol gordo
- Dragonfly / HyperX
- Clos networks
- Impacto de la topología en latencia entre nodos
- Balance de tráfico y hotspots
- Afinidad de tareas según proximidad física
- Escalabilidad de la topología al crecer el clúster
- Resiliencia de la topología ante fallos de enlace
 
- Redes de baja latencia y alto ancho de banda- Minimización del overhead de comunicación entre nodos
- Comunicación RDMA (Remote Direct Memory Access)
- Evitar intervención de CPU en transferencias de datos
- Ancho de banda agregado sostenido vs pico
- Jitter de latencia y su impacto en sincronización paralela
- Alineación de buffers de red con memoria de usuario
- Offload de protocolo en NICs inteligentes
- Agrupamiento de mensajes pequeños en bursts más grandes
- Priorización de tráfico crítico
- Compatibilidad con librerías MPI de alto rendimiento
 
- Tecnologías de interconexión (InfiniBand, Omni-Path)- InfiniBand como estándar de facto en HPC
- Omni-Path y alternativas propietarias
- Latencia sub-microsegundo
- RDMA para acceso directo remoto
- QoS y partición lógica del tejido de red
- Escalamiento del tejido a miles de nodos
- Integración con GPU Direct (GPU↔GPU entre nodos)
- Costos de hardware especializado vs Ethernet optimizada
- Gestión de congestión en redes de muy alto rendimiento
- Diagnóstico y monitoreo de la salud del fabric
 
- Jerarquías de memoria en HPC (HBM, NUMA, NVRAM)- Memoria local por CPU (NUMA domains)
- Memoria de alta banda ancha (HBM) junto a la CPU/GPU
- Cachés compartidas multinivel
- Memoria persistente rápida (NVRAM / PMem)
- Latencia variable según cercanía NUMA
- Colocación explícita de datos para minimizar saltos remotos
- Desbordamiento hacia almacenamiento rápido como “casi RAM”
- Administración explícita de memoria cercana a GPU
- Técnicas de tiling / blocking para localización espacial y temporal
- Estrategias para minimizar movimientos de memoria como cuello de botella
 
- Arquitecturas manycore y vector engines- CPUs con decenas o cientos de núcleos ligeros
- Aceleradores vectoriales especializados (vector engines)
- GPUs orientadas a throughput masivo
- Co-procesadores dedicados a álgebra lineal
- Arquitecturas híbridas CPU+vector engine en el mismo nodo
- Schedulers que asignan kernels al dispositivo más adecuado
- Explotación de paralelismo de datos extremo
- Desafíos de memoria compartida entre muchos núcleos
- Limitaciones de ancho de banda interno al escalar núcleos
- Programación portable para arquitecturas heterogéneas
 
- Escalamiento fuerte y escalamiento débil- Escalamiento fuerte: resolver el mismo problema más rápido con más recursos
- Escalamiento débil: resolver problemas más grandes con más recursos manteniendo el tiempo
- Speedup ideal vs speedup real
- Eficiencia paralela (speedup / número de procesos)
- Ley de Amdahl y limitación por la parte secuencial
- Ley de Gustafson en escalamiento débil
- Overhead de comunicación al aumentar procesos
- Desequilibrios de carga entre procesos
- Escalado a miles de nodos vs decenas de nodos
- Métricas para justificar costo de hardware adicional
 
- Modelos de equilibrio cómputo/memoria (roofline model)- Roofline model como visualización de límites teóricos de rendimiento
- Intensidad aritmética (operaciones por byte transferido)
- Límite por cómputo vs límite por ancho de banda
- Detección de kernels ligados a memoria (memory-bound)
- Optimización para subir en el eje de intensidad aritmética
- Uso del roofline para priorizar optimizaciones
- Comparación entre distintas arquitecturas objetivo
- Aplicación a kernels de álgebra lineal dispersa
- Identificación de cuellos de botella de memoria compartida
- Trazabilidad de mejoras tras cambios de código
 
- Cómputo exascale y arquitecturas exascale- Objetivo: ≥10^18 operaciones por segundo sostenidas
- Fuertes requisitos de paralelismo masivo
- Tolerancia a fallos como requisito central (fallos frecuentes esperables)
- Energía y refrigeración como limitante físico
- Jerarquías de memoria más profundas y especializadas
- Heterogeneidad extrema (CPU+GPU+aceleradores específicos)
- Nuevos modelos de programación resilientes a fallos
- Localidad de datos como factor dominante del rendimiento
- Replanteamiento de algoritmos para reducir comunicación global
- Co-diseño hardware-software-algoritmo
 
- Eficiencia energética y cómputo verde- Rendimiento por watt como métrica clave
- DVFS (Dynamic Voltage and Frequency Scaling) en nodos HPC
- Apagado selectivo de unidades no usadas
- Localidad de datos para minimizar consumo de movimiento de memoria
- Agrupamiento de trabajos para optimizar enfriamiento y uso térmico
- Reutilización de calor residual
- Programación energéticamente consciente (energy-aware scheduling)
- Balance entre precisión numérica y costo energético (precisión reducida)
- Selección dinámica de acelerador más eficiente para cada kernel
- Métricas de sostenibilidad para justificar diseño de nueva infraestructura
 
- Heterogeneidad CPU/GPU/FPGA en nodos de cómputo- Nodos con múltiples tipos de procesador especializados
- Asignación dinámica de tareas según el tipo de carga (cómputo denso, streaming, IO-bound)
- FPGAs para aceleración de kernels específicos
- Programación de kernels reconfigurables en FPGA
- Comunicación directa GPU↔GPU y GPU↔NIC
- Balance de memoria entre dispositivos heterogéneos
- Estrategias de scheduling multi-dispositivo
- Portabilidad de código entre distintas arquitecturas
- Superposición de cómputo en varios aceleradores simultáneos
- Complejidad de depuración y profiling en entornos heterogéneos
 
- Reducción de movimiento de datos como limitante físico- El costo energético/milimétrico de mover datos supera a veces el costo de computar
- Computar “donde están los datos” para minimizar transferencia
- Fusión de kernels para evitar escrituras/lecturas intermedias
- Bloqueo (tiling) espacial y temporal para reusar datos en caché
- Almacenamiento intermedio en memoria cercana al acelerador
- Reducción en línea (on-the-fly reduction) en vez de recolectar todo
- Cómputo in-situ sobre datos científicos sin moverlos al host
- Desduplicación de datos compartidos entre procesos cercanos
- Compresión rápida en memoria/registro antes de enviar datos
- Cambios algorítmicos diseñados explícitamente para minimizar comunicación
 
 
- Supercomputadores y clústeres HPC
- Administración y operación de clústeres HPC- Gestión de recursos compartidos multiusuario- Asignación de CPU/GPU/RAM entre distintos usuarios/grupos
- Políticas de uso justo (fair share)
- Aislamiento entre trabajos concurrentes
- Cuotas de almacenamiento y límites de IO
- Control de saturación de nodos críticos
- Administración de colas por prioridad científica o contractual
- Coordinación entre requerimientos de grandes campañas de simulación
- Gestión de accesos y cuentas de usuario
- Monitoreo de abuso o mal uso intencional/involuntario
- Reportes de uso para financiamiento/proyectos
 
- Planificadores y colas de trabajo por lotes- Envío de trabajos batch con scripts de especificación
- Reserva anticipada de nodos completos
- Tiempo máximo de ejecución permitido por cola
- Priorización según tamaño/urgencia/proyecto
- Preempción de trabajos de baja prioridad
- Backfilling (llenar huecos libres con trabajos cortos)
- Agrupación de trabajos similares para eficiencia energética
- Gestión de dependencias entre trabajos
- Reintentos automáticos en caso de fallo transitorio
- Políticas para trabajos interactivos vs trabajos largos
 
- Sistemas de colas (SLURM, PBS, LSF)- SLURM como estándar común en centros HPC
- PBS/Torque y LSF en entornos heredados/industriales
- Solicitud de recursos (nodos, CPUs, GPUs, memoria, tiempo)
- Control de afinidad NUMA y binding de hilos
- Array jobs para barridos paramétricos masivos
- Recolección de logs de job y salidas estándar
- Limitación de acceso a colas especiales (GPU, alta memoria)
- Integración con contenedores HPC (Singularity/Apptainer)
- Contabilidad automática de horas de cómputo
- Integración con sistemas de monitoreo y dashboards
 
- Gestión de módulos y entornos de compilación- Módulos de entorno (module load) para seleccionar toolchains
- Versiones múltiples de compiladores (gcc, clang, Intel, NVHPC)
- Versiones múltiples de MPI y BLAS/LAPACK
- Evitar conflictos de librerías en /usr/libglobal
- Reproducibilidad de builds mediante entornos módulo-fijados
- Documentación de qué módulos cargar para cada workflow
- Despliegue centralizado de nuevas librerías científicas
- Módulos específicos para GPU / CUDA
- Aislamiento de entornos de usuario vs entornos del sistema
- Limpieza y auditoría de módulos obsoletos
 
- Módulos de entorno (
- Gestión de dependencias científicas y toolchains- Compilación optimizada con flags específicos de CPU
- Toolchains consistentes (compilador + MPI + BLAS)
- Control de ABI y binarios compatibles
- Libraries matemáticas propietarias vs open source
- Construcción reproducible (Spack, EasyBuild)
- Versionado paralelo de la misma librería para distintos usuarios
- Minimizar recompilaciones masivas tras actualización del sistema
- Testing de regresión de rendimiento tras update
- Integridad criptográfica de toolchains instaladas
- Documentación de combinaciones soportadas oficialmente
 
- Sistemas de archivos paralelos (Lustre, GPFS, BeeGFS)- Almacenamiento compartido entre miles de nodos
- Altísimo throughput agregado de lectura/escritura
- Distribución de archivos en múltiples servidores de datos
- Metadata distribuida y bots de metadata dedicados
- Stripeado de archivos grandes en muchos discos/nodos
- Limitaciones de latencia para muchos archivos pequeños
- Políticas de cuota por usuario/proyecto
- Recuperación ante fallo de nodo de almacenamiento
- Optimización de IO secuencial vs IO aleatorio
- Limpieza periódica de datos temporales de simulaciones
 
- Políticas de prioridad y fairness- Priorización por proyecto financiado / grupo investigador
- Fair-share dinámico (prioridad baja si ya usaste muchas horas)
- Reservas especiales para deadlines críticos
- Jobs urgentes de emergencia científica / industrial
- Balance entre jobs largos y jobs cortos
- Slottime “sobrante” reutilizado con backfilling
- Prevención del acaparamiento de GPUs de alta gama
- Transparencia de colas y razones de espera
- Negociación entre equipos por ventanas de uso exclusivas
- Auditoría de cumplimiento de SLAs internos
 
- Contabilidad y uso de horas de cómputo- Registro de consumo de CPU-horas / GPU-horas
- Asociar gasto computacional a proyectos/grants
- Límites presupuestarios por período
- Reportes automáticos para facturación interna o externa
- Penalización por jobs que fallan repetidamente
- Ajuste de prioridad según consumo histórico
- Análisis de eficiencia (tiempo reservado vs tiempo realmente usado)
- Atribución de costo energético aproximado
- Métricas para justificar ampliación de capacidad
- Trazabilidad histórica para auditorías
 
- Monitoreo y telemetría de clúster- Uso de CPU, GPU y memoria por nodo en tiempo real
- Temperatura y salud térmica de nodos
- Estado de enlaces de red de alta velocidad
- Carga de IO en el sistema de archivos paralelo
- Detección temprana de nodos inestables o lentos
- Alertas automáticas ante degradaciones
- Dashboards operativos agregados
- Historial de performance para detectar tendencias
- Correlación entre fallos de hardware y cargas extremas
- Integración con sistemas de tickets / incidentes
 
- Seguridad y aislamiento de usuarios en HPC- Cuentas por usuario autenticadas centralmente
- Aislamiento de procesos y jobs entre usuarios
- Control de acceso a datos sensibles de investigación
- Cifrado de datos en reposo y en tránsito interno
- Restricción de conectividad externa desde nodos de cómputo
- Auditoría de accesos y ejecución de binarios
- Escaneo de cargas maliciosas o minado no autorizado
- Gestión de claves SSH y certificados internos
- Cumplimiento de normativas (por ej. datos biomédicos)
- Contención de incidentes sin apagar todo el clúster
 
- Mantenimiento predictivo y gestión de fallos de nodo- Monitoreo de temperatura, ventiladores, energía
- Alertas por errores de memoria ECC recurrentes
- Reemplazo proactivo de nodos “inestables”
- Migración de jobs fuera de nodos sospechosos
- Downtime planificado por rack / fila
- Diagnóstico remoto de hardware sin intervención física inmediata
- Gestión de repuestos críticos (NICs, GPUs, fuentes)
- Análisis de MTBF y confiabilidad de componentes
- Registro histórico de fallos por lote de hardware
- Minimizar pérdidas de simulaciones largas ante cortes imprevistos
 
- Planificación de capacidad y escalamiento físico- Proyección de demanda futura (CPU, GPU, memoria, IO)
- Necesidades de potencia eléctrica y refrigeración
- Espacio físico en racks y densidad térmica
- Evaluación de nuevas arquitecturas (nuevas GPUs, aceleradores IA)
- Balance entre nodos “grandes” vs muchos nodos pequeños
- Planificación de upgrades sin romper compatibilidad software
- Costo total de propiedad (TCO) del hardware adicional
- Impacto en el sistema de archivos paralelo y la red central
- Riesgos de obsolescencia tecnológica acelerada
- Justificación presupuestaria y priorización entre grupos usuarios
 
 
- Gestión de recursos compartidos multiusuario
- Optimización de rendimiento científico- Perfilado y trazado de rendimiento- Perfilado de CPU (tiempo por función / por línea)
- Perfilado de GPU (tiempo por kernel)
- Perfilado de memoria (allocs, frees, leaks)
- Conteo de FLOPs y ancho de banda usado
- Trazas temporales (timeline) de ejecución paralela
- Instrumentación manual vs muestreo estadístico
- Análisis de regiones críticas con alto tiempo bloqueado
- Herramientas específicas (perf, VTune, Nsight, TAU)
- Medición reproducible y controlada (misma entrada, mismo entorno)
- Identificación de variabilidad entre corridas
 
- Análisis de hotspots y kernels críticos- Detección de funciones que consumen la mayor parte del tiempo total
- Agrupación de tiempo en operaciones repetitivas (loops internos)
- Determinar si el hotspot es cómputo-bound o memory-bound
- Extraer el kernel crítico como unidad aislada
- Microbenchmarks del kernel aislado
- Reescritura manual del kernel crítico
- Evaluación del impacto de una optimización local en el total
- Evitar optimizar secciones no dominantes
- Uso de roofline model para orientar el esfuerzo
- Iterar: volver a perfilar tras cada mejora
 
- Vectorización automática y manual- Revisión de informes de vectorización del compilador
- Uso de restrict/ no-aliasing para ayudar al compilador
- Reorganización de bucles para eliminar dependencias falsas
- Alineamiento de datos en memoria
- Uso de intrinsics SIMD específicos de la arquitectura
- Cambiar AoS → SoA para acceso contiguo
- Desenrollado de bucles (loop unrolling)
- Fusión de operaciones en instrucciones FMA
- Verificación de resultados numéricos tras vectorizar
- Caer a rutas escalares seguras en arquitecturas sin SIMD
 
- Afinidad de CPU y pinning de hilos- Fijar hilos a núcleos específicos (CPU pinning)
- Evitar migración de hilos entre núcleos
- Considerar la topología NUMA al asignar hilos
- Alinear acceso a memoria con el nodo NUMA local
- Balancear hilos entre sockets físicos
- Separar hilos de cómputo y hilos de IO
- Minimizar contención en recursos compartidos del core
- Ajustar afinidad para jobs mixtos CPU/GPU
- Medir efectos en latencia y jitter temporal
- Uso de herramientas de afinidad (numactl, taskset)
 
- Optimización de caché y localidad de datos- Mejorar localidad espacial (acceso secuencial a memoria)
- Mejorar localidad temporal (reuso rápido de los mismos datos)
- Tiling / blocking de bucles anidados
- Reordenamiento de bucles (loop interchange)
- Alinear estructuras a límites de caché
- Reducir stride grande en accesos a arreglos
- Evitar falsos compartidos entre hilos
- Prefetching explícito o asistido por compilador
- Minimizar misses de caché L1/L2 críticos
- Ajustar tamaño de bloque al tamaño real de la caché
 
- Bloqueo y tiling de bucles- Dividir dominios grandes en sub-bloques (tiles) más pequeños
- Ajustar tiles para caber en caché L1/L2
- Aplicar tiling en espaciales (x,y,z) y temporal (t)
- Evitar traer repetidamente datos fríos desde RAM
- Fusionar loops que acceden a las mismas regiones de memoria
- Separar loops que destruyen localidad entre datos distintos
- Intercambiar orden de iteración para acceso contiguo
- Tiling jerárquico en multinivel de caché
- Tiling específico para kernels de álgebra lineal
- Evaluación del impacto en la vectorización
 
- Reducción de costo de comunicación- Minimizar llamadas MPI punto a punto frecuentes
- Usar comunicaciones colectivas eficientes (all-reduce en árbol)
- Agrupar mensajes pequeños en buffers más grandes
- Evitar sincronizaciones innecesarias entre procesos
- Reorganizar el dominio para reducir superficie de intercambio halo
- Computar más localmente antes de comunicar
- Mantener datos derivados en caché local
- Evitar “chatter” entre nodos lejanos
- Evaluar topología física de red para mapear procesos
- Usar algoritmos con menor complejidad de comunicación global
 
- Solapamiento comunicación / cómputo- Comunicación no bloqueante (MPI Isend/Irecv)
- Computar en regiones interiores mientras llegan halos
- Pre-post de recepciones antes del cómputo
- Pipelines entre etapas de cómputo y transferencia
- Offload de comunicación a NICs inteligentes
- Uso de streams asíncronos en GPU
- Desacoplar threads de comunicación vs threads de cómputo
- Máscara de latencia de red con trabajo útil
- Solapamiento IO disco ↔ CPU ↔ GPU
- Validación de coherencia de datos antes de usar resultados recién llegados
 
- Minimización de sincronizaciones globales- Evitar barreras globales innecesarias
- Reemplazar reducciones globales frecuentes por reducciones jerárquicas
- Uso de algoritmos asíncronos cuando la física lo permite
- Algoritmos tolerantes a retrasos (“latency tolerant”)
- Desacoplar pasos de avance de procesos lentos
- Relajar sincronía estricta entre subdominios
- Técnicas de comunicación eventual en métodos iterativos
- Menos global all-reduce en solvers lineales grandes
- Aislar nodos lentos sin frenar toda la simulación
- Métricas de overhead de sincronización frente a cómputo puro
 
- Escalabilidad paralela y eficiencia- Escalabilidad fuerte vs débil medida empíricamente
- Speedup y eficiencia paralela por número de procesos
- Detección de pérdida de eficiencia por comunicación
- Balanceo dinámico de carga entre procesos/hilos
- Análisis de desbalance espacial en dominios físicos
- Sensibilidad del rendimiento al tamaño de problema
- Saturación de memoria compartida como limitante
- Escalado hasta miles de núcleos sin caída abrupta
- Identificación de “punto dulce” de escalamiento
- Reportes comparables entre arquitecturas distintas
 
- Portabilidad de rendimiento entre arquitecturas- Código que rinde bien en CPU y también en GPU
- Uso de capas de abstracción portables (Kokkos, RAJA)
- Evitar dependencias rígidas de una sola ISA vectorial
- Adaptación a distintos anchos SIMD
- Ajuste de tamaño de bloque específico por backend
- Minimizar llamadas a librerías propietarias no portables
- Autotuning por arquitectura destino
- Selección dinámica de kernels especializados en runtime
- Mantenimiento de una sola base de código
- Validación numérica cruzada entre targets
 
- Auto-tuning y generación de kernels óptimos- Búsqueda automática de parámetros de bloque / tile
- Variación sistemática de flags de compilación
- Selección adaptativa de algoritmos según tamaño de problema
- Mediciones empíricas para elegir la mejor variante
- Generación de kernels especializados por hardware
- Ajuste dinámico en runtime (JIT tuning)
- Almacenamiento de perfiles óptimos para reuso futuro
- Exploración heurística/genética de configuraciones
- Meta-programación que produce múltiples implementaciones candidatas
- Integración con pipelines CI para reevaluar al cambiar hardware
 
 
- Perfilado y trazado de rendimiento
- Computación heterogénea y aceleradores- GPU de propósito general- Ejecución masivamente paralela tipo SIMT
- Miles de hilos ligeros en paralelo
- Memoria global con alta latencia oculta por concurrencia
- Memoria compartida rápida por bloque
- Uso de kernels especializados para álgebra lineal densa y dispersa
- Librerías optimizadas (cuBLAS, cuFFT, cuSPARSE)
- Overhead de transferencia host↔device
- Streams y concurrencia solapada de kernels
- Ajuste fino de occupancy y uso de registros
- Escalamiento multi-GPU y comunicación peer-to-peer
 
- Aceleradores matriciales especializados- Tensor cores / matrix cores
- Unidades de multiplicación-acumulación masiva
- Rendimiento extremo en multiplicación densa de matrices
- Precisión reducida (FP16, BF16, INT8) como palanca de performance
- Aplicación fuera de IA: álgebra lineal científica clásica
- Mapeo de kernels científicos a operaciones de bloques matriciales
- Limitaciones cuando la matriz es dispersa/no estructurada
- Ajuste de layout de datos para explotar ancho de bloque
- Impacto en eficiencia energética (GFLOP/s por watt)
- Evolución rápida del hardware entre generaciones
 
- FPGA para cómputo científico- Lógica reconfigurable orientada al problema
- Pipelines de datos completamente personalizados
- Latencia ultra baja en ciertas operaciones
- Paralelismo espacial en vez de temporal
- Uso en filtrado de señales, correlaciones masivas, cálculo específico
- Ancho de palabra arbitrario (precisión fija optimizada)
- Desarrollo complejo (HDL, HLS) y tiempos de síntesis largos
- Dificultad de mantenimiento vs GPU programable
- Excelente rendimiento/consumo en kernels bien definidos
- Integración en nodos HPC especializados
 
- Offloading selectivo de kernels- Identificar kernels altamente paralelizables
- Medir si el costo de transferencia compensa la aceleración
- Dividir el pipeline en etapas CPU vs GPU/FPGA
- Solapar transferencia de datos con cómputo
- Evitar offload de rutinas con poco paralelismo
- Mantener datos residentes en el acelerador varias etapas
- Diseño de interfaces de llamada claras (host → device → host)
- Reutilización de buffers en el acelerador
- Selección en runtime de a qué acelerador mandar cada kernel
- Balancear precisión numérica al migrar kernels sensibles
 
- Modelos de memoria unificada y memory pooling- Memoria unificada CPU/GPU (UMA / UVA)
- Acceso compartido a la misma dirección virtual
- Migración automática/transparente de páginas de memoria
- Reducción del overhead de copias explícitas
- Riesgo de accesos remotos con gran latencia
- Pool de memoria común entre múltiples GPUs
- Coordinación de grandes datasets en nodos heterogéneos
- Políticas de colocación preferida (preferred location)
- Ajuste fino manual cuando el runtime no decide bien
- Interacción con NUMA y memoria cercana a aceleradores
 
- Balanceo dinámico CPU/GPU- Repartir trabajo entre CPU y GPU según carga actual
- Detectar desequilibrios entre dispositivos
- Mover kernels entre CPU y GPU en ejecución prolongada
- Adaptar granularidad del trabajo para mejor overlap
- Coordinar uso de memoria compartida y cachés
- Evitar que la GPU quede ociosa esperando a la CPU (y viceversa)
- Modelos de predicción de tiempo de ejecución por kernel
- Scheduling consciente del costo de transferencia de datos
- Priorización de etapas críticas en el acelerador más rápido
- Ajustes en caliente según telemetría de rendimiento
 
- Co-scheduling de múltiples aceleradores- Nodos con varias GPUs trabajando en paralelo coordinado
- Pipeline por etapas (GPU A → GPU B)
- Reparto de subdominios espaciales entre aceleradores
- Comunicación directa GPU↔GPU sin pasar por CPU
- Minimizar congestión del bus de interconexión
- Sincronización ligera entre aceleradores
- Replicación de datos comunes en varias GPUs
- Balance de carga entre GPUs heterogéneas (diferentes generaciones)
- Evitar starvation de un acelerador lento que frena toda la cadena
- Telemetría multinodo para ajustar distribución de trabajo
 
- Estrategias NUMA-aware en nodos heterogéneos- Entender dominios NUMA internos del nodo (sockets múltiples)
- Asignar hilos cerca de la memoria que usan
- Colocar buffers GPU en la memoria más cercana a esa GPU
- Evitar saltos inter-socket de alta latencia
- Afinidad de IRQ/red hacia el socket correcto
- Política “first touch” para inicializar memoria en el nodo adecuado
- Migración dinámica de memoria NUMA mal colocada
- Monitorizar contadores NUMA miss
- Ajustar topología de procesos MPI dentro del nodo
- Combinar NUMA-awareness con pinning de hilos y afinidad GPU
 
- Codiseño hardware-software- Ajustar algoritmos numéricos al hardware disponible
- Cambiar discretización para favorecer acceso contiguo a datos
- Reformular kernels para usar aceleradores matriciales
- Especializar precisión numérica para ahorrar energía
- Integrar hardware emergente (neuromórfico, óptico) en flujos científicos
- Feedback iterativo entre equipo de hardware y equipo de simulación
- Automatización de generación de kernels específicos de plataforma
- Minimizar movimiento de datos como objetivo de diseño inicial
- Diseñar librerías reutilizables paramétricas por arquitectura
- Anticipar escalamiento a arquitecturas exascale heterogéneas
 
 
- GPU de propósito general
- Métodos estocásticos y muestreo masivo- Monte Carlo clásico- Muestreo aleatorio independiente de configuraciones/estados
- Estimación de integrales de alta dimensión
- Ley de los grandes números como base de convergencia
- Error estadístico ~ 1/sqrt(N)
- Variance reduction (control variates, antithetic sampling)
- Importancia de generadores aleatorios de alta calidad
- Paralelización trivial repartiendo semillas distintas
- Aplicación en transporte de radiación, finanzas cuantitativas, difusión
- Detección de convergencia estable de estimadores
- Almacenamiento y reproducibilidad de semillas iniciales
 
- Monte Carlo de cadenas de Markov (MCMC)- Construcción de una cadena que converge a la distribución objetivo
- Métodos de Metropolis-Hastings
- Gibbs sampling
- Mezcla (mixing) y tiempo de autocorrelación
- Burn-in y descarte de muestras iniciales
- Diagnóstico de convergencia de múltiples cadenas
- MCMC paralelo: cadenas independientes y análisis combinado
- Hamiltonian / Hybrid Monte Carlo para saltar regiones de baja probabilidad
- Uso en inferencia bayesiana de parámetros complejos
- Costos de evaluación de la función de probabilidad objetivo
 
- Muestreo de Importancia y reponderación- Muestreo según una distribución propuesta fácil de simular
- Reponderación (weights) para estimar la distribución objetivo real
- Reducción de varianza enfocando en regiones relevantes
- Degeneración de pesos (pocos pesos dominan)
- Normalización numérica estable de pesos
- Uso en integración de alta dimensión con colas pesadas
- Sequential Importance Sampling (SIS)
- Particle filters en sistemas dinámicos
- Resampling estratificado / sistemático
- Aplicaciones en seguimiento probabilístico de estados ocultos
 
- Cuasi-Monte Carlo y secuencias de baja discrepancia- Uso de secuencias deterministas (Sobol, Halton)
- Cobertura más uniforme del espacio de integración
- Convergencia potencialmente más rápida que 1/sqrt(N)
- Importancia de la dimensión efectiva del problema
- Scrambling aleatorio para estimar error estadístico
- Alineación de ejes y correlaciones entre dimensiones
- Rendimiento en pricing financiero y problemas suaves
- Limitaciones en problemas altamente discontinuos
- Paralelización conservando las propiedades de baja discrepancia
- Interacción con técnicas de reducción de varianza clásicas
 
- Rare-event sampling y métodos de eventos raros- Estimación de probabilidades extremadamente bajas
- Splitting / branching de trayectorias prometedoras
- Importance sampling dirigido a colas extremas
- Accelerated Monte Carlo para choques muy improbables
- Técnicas de genealogía de trayectorias
- Aplicaciones en confiabilidad estructural y riesgo extremo
- Estimación de tiempos de fallo en ingeniería
- Simulación de catástrofes naturales o nucleares poco frecuentes
- Control estricto de error estadístico en colas
- Validación de resultados con métodos analíticos aproximados
 
- Análisis de incertidumbre y propagación de errores estadísticos- Propagar incertidumbre de parámetros de entrada
- Barridos estadísticos de sensibilidad paramétrica
- Métodos no intrusivos basados en muestreo
- Cuantificación de intervalo de confianza en salidas físicas
- Estimación de correlaciones entre parámetros de entrada y métricas de salida
- Métodos polinomiales de Caos Generalizado (gPC)
- Reducción de dimensionalidad en el espacio de incertidumbre
- Visualización de superficies de respuesta probabilísticas
- Comparación entre incertidumbre numérica vs incertidumbre física real
- Uso en certificación de modelos predictivos
 
- Inferencia bayesiana computacional de gran escala- Evaluación de posteriori en modelos complejos con datos masivos
- MCMC a gran escala distribuido
- Variational Inference como aproximación determinista
- Métodos Laplace y Gaussian approximation alrededor del modo
- SMC (Sequential Monte Carlo) para inferencia dinámica
- Amortized inference con redes neuronales que aproximan posteriori
- Uso de GPUs para evaluar likelihood y gradientes masivos
- Factorización de la verosimilitud para datos particionados
- Cálculo de evidencia / Bayes factors
- Trazabilidad de incertidumbre en parámetros inferidos
 
- Simulación de ensambles y métodos de réplicas- Simulación simultánea de múltiples copias del sistema (réplicas)
- Réplica-exchange / parallel tempering para cruzar barreras de energía
- Ensambles canónicos, isobáricos, gran canónicos simultáneos
- Exploración de paisajes energéticos rugosos
- Intercambio controlado de temperatura / presión entre réplicas
- Aceleración del muestreo de estados metaestables raros
- Estimación robusta de propiedades termodinámicas globales
- Identificación de transiciones de fase y estados intermedios
- Uso intensivo de paralelismo masivo (cada réplica en un nodo distinto)
- Análisis posterior conjunto para promediar observables entre réplicas
 
 
- Monte Carlo clásico
- Optimización matemática de gran escala- Programación lineal- Problemas lineales en forma estándar (minimizar cᵀx sujeto a Ax = b, x ≥ 0)
- Método símplex y variantes revisadas para alta dimensión
- Métodos de punto interior aplicados a programación lineal
- Escalamiento y normalización de restricciones para estabilidad numérica
- Descomposición de Dantzig-Wolfe y Benders para problemas estructurados grandes
- Relajaciones lineales de problemas enteros/mixtos
- Uso de PL en logística, planificación de recursos y flujo en redes
- Resolución distribuida y paralelizada de PL gigantes (millones de variables)
- Calentamiento de arranque (warm start) entre iteraciones sucesivas
- Sensibilidad y análisis de dualidad (precios sombra)
 
- Programación cuadrática- Problemas con función objetivo cuadrática convexa y restricciones lineales
- QP estrictamente convexa vs indefinida
- Métodos activos de restricción (active set methods)
- Métodos de punto interior especializados en QP
- QP en control predictivo basado en modelo (MPC)
- Penalización cuadrática y regularización L2
- Uso en ajuste de portafolios, control, ajuste de curvas suaves
- Reducción de QP grandes a subconjuntos activos relevantes
- Aproximación de problemas no lineales locales como QP sucesivos (SQP)
- Solución en hardware acelerado (GPU/FPGA) para control en tiempo real
 
- Métodos de punto interior- Barreras logarítmicas para mantener factibilidad estricta
- Trayectoria central y seguimiento de la curva óptima
- Resolución repetida de sistemas lineales tipo KKT
- Precondicionadores para sistemas lineales mal condicionados
- Escalabilidad a problemas con millones de variables y restricciones
- Paralelización de factorizaciones lineales internas
- Métricas de convergencia primal-dual
- Warm start entre problemas cercanos en simulaciones iterativas
- Estabilidad numérica en presencia de restricciones muy rígidas
- Aplicación en planificación energética, telecomunicaciones, enrutamiento
 
- Optimización no lineal sin restricciones- Métodos de descenso de gradiente clásico
- Descenso de gradiente con paso adaptativo (line search, backtracking)
- Métodos de segundo orden (Newton puro)
- Newton amortiguado / Levenberg-Marquardt
- Métodos quasi-Newton sin Hessiana explícita
- Búsqueda en dirección conjugada
- Detección de mínimos locales vs sillas
- Condicionamiento del problema y escalamiento de variables
- Paralelización del cálculo de gradientes en HPC
- Evaluación masiva de la función objetivo en simulaciones de física
 
- Optimización con restricciones- Formulación con restricciones de igualdad y desigualdad
- Multiplicadores de Lagrange
- Métodos de penalización y barrera
- Métodos de Augmented Lagrangian
- Sequential Quadratic Programming (SQP)
- Proyección sobre el conjunto factible
- Manejo de restricciones físicas duras (conservación de masa, energía)
- Inviabilidad numérica y relajación suave de restricciones
- Uso de lagrangianos distribuidos en HPC
- Escalabilidad en problemas con muchas restricciones acopladas
 
- Métodos de descenso de gradiente a gran escala- Gradiente puro con pasos pequeños
- Gradiente con momento / momentum
- Gradiente acelerado tipo Nesterov
- Gradiente estocástico y mini-batch para datasets masivos
- Adaptación de tasa de aprendizaje (RMSProp, Adam en contextos científicos)
- Preacondicionamiento del gradiente
- Reducción de comunicación en gradiente distribuido (all-reduce eficiente)
- Cuantización / compresión de gradientes
- Métodos de gradiente en entornos de memoria limitada
- Estabilidad numérica al usar precisión reducida en GPU
 
- Métodos quasi-Newton y BFGS limitado- BFGS como aproximación iterativa a la Hessiana inversa
- L-BFGS para problemas de muy alta dimensión (memoria acotada)
- Actualizaciones rank-1 / rank-2 de aproximaciones de Hessiana
- Superar el costo del cálculo Hessiano exacto
- Buenas propiedades de convergencia superlineal
- Uso frecuente en ajuste de parámetros científicos
- Tolerancia a ruido en evaluación de gradiente
- Implementación distribuida de L-BFGS
- Aceleración combinando L-BFGS con precondicionadores físicos
- Comparación con métodos puramente de gradiente en problemas rígidos
 
- Descomposición por bloques y coordenadas alternadas- Optimización de subconjuntos de variables mientras las demás quedan fijas
- Métodos de coordenadas cíclicos vs aleatorios
- Block Coordinate Descent (BCD) para variables agrupadas
- Alternating Direction Method of Multipliers (ADMM)
- Separación natural en problemas con estructura espacial o física
- Computación distribuida asignando bloques a distintos nodos
- Convergencia en problemas convexos y no convexos
- Uso en problemas de imagen, tomografía, reconstrucción inversa
- Ajuste incremental en pipelines iterativos grandes
- Facilidad de paralelización cuando los bloques se desacoplan débilmente
 
- Métodos distribuidos y consenso- Descomposición del problema global en subproblemas locales
- Consenso iterativo entre nodos para acordar variables compartidas
- Intercambio de información parcial entre subproblemas (no compartir todo)
- ADMM distribuido en clusters HPC
- Robustez frente a fallos parciales de nodos
- Reducción de latencia de sincronización global
- Escalamiento horizontal con más nodos de cómputo
- Aproximaciones descentralizadas sin coordinador único
- Métodos tolerantes a comunicación ruidosa o retrasada
- Aplicación en redes eléctricas, optimización de tráfico, control distribuido
 
- Control óptimo numérico- Formulación de problemas de control óptimo continuo y discreto
- Discretización temporal y espacial del sistema dinámico
- Pontryagin y condiciones de optimalidad
- Control predictivo basado en modelo (MPC) resuelto en línea
- Resolución repetida de problemas QP/LP a cada paso de control
- Control de sistemas rígidos y no lineales
- Adjoint methods para obtener gradientes respecto a las entradas de control
- Optimización en lazo cerrado con restricciones físicas críticas
- Uso de hardware acelerado para control en tiempo real
- Integración con simuladores físicos de alta fidelidad
 
- Problemas inversos y ajuste de parámetros físicos- Estimar parámetros desconocidos a partir de observaciones experimentales
- Ajuste de modelos PDE/EDP a datos reales
- Métodos adjuntos para calcular gradientes eficientes
- Regularización (L2, L1, Tikhonov) para estabilizar soluciones
- Inversión sísmica, tomografía médica, reconstrucción de imágenes
- Identificación de condiciones iniciales / de frontera desconocidas
- Sensibilidad y multiplicidad de soluciones
- Uso de métodos bayesianos para cuantificar incertidumbre
- Ejecución iterativa acoplada simulación ↔ optimización
- Escalamiento a alta dimensión espacial y temporal
 
 
- Programación lineal
- Ciencia de datos a gran escala en HPC- Preprocesamiento masivo de datos científicos- Limpieza de datos brutos provenientes de sensores / simulaciones
- Detección y eliminación de valores atípicos / corruptos
- Sincronización temporal de múltiples fuentes de medición
- Re-muestreo y alineamiento espacial de mallas / grids
- Normalización de unidades físicas y escalas
- Manejo de datos faltantes y reconstrucción
- Conversión entre formatos científicos (NetCDF, HDF5, Parquet)
- Paralelización de ETL científico en clúster
- Control de versiones de datasets intermedios
- Trazabilidad de transformaciones (data lineage)
 
- Limpieza y normalización de datos experimentales- Calibración de instrumentos y sensores
- Sustracción de ruido de fondo
- Corrección de deriva y bias sistemático
- Fusión de datos de distintos experimentos / corridas
- Eliminación de artefactos numéricos o de medición
- Escalamiento por rango, z-score, normalización física
- Alineamiento espacial/temporal de datos heterogéneos
- Validación automatizada de calidad de datos
- Etiquetado confiable de metadatos
- Generación de datasets “curados” reutilizables
 
- Reducción de dimensionalidad y compresión- PCA / SVD para capturar modos dominantes
- Autovectores y descomposiciones espectrales de campos físicos
- Compresión con pérdida controlada en simulaciones volumétricas
- Compresión específica de dominio (por ejemplo, wavelets)
- Mapas de baja dimensión para visualización científica
- Autoencoders entrenados en HPC
- Separación señal/ruido mediante modos principales
- Almacenamiento de snapshots reducidos para análisis posterior
- Trade-off entre compresión y errores inducidos
- Streaming de datos comprimidos entre nodos para análisis distribuido
 
- Análisis de series temporales de alta resolución- Señales multicanal a alta frecuencia de muestreo
- Filtrado espectral y análisis en frecuencia/onda
- Cross-correlation y cross-spectral analysis entre sensores
- Detección de eventos transitorios poco frecuentes
- Modelos autorregresivos y VAR multivariados
- Predicción temporal con redes recurrentes / Transformers
- Segmentación automática en fases/regímenes dinámicos
- Detección de deriva lenta vs cambios abruptos
- Paralelización del análisis temporal en ventanas
- Almacenamiento indexado por tiempo para acceso rápido
 
- Pipelines de análisis batch y streaming científicos- Procesamiento batch de simulaciones completas ya finalizadas
- Procesamiento near real-time de resultados parciales
- Flujos tipo “simular → analizar → decidir → retroalimentar simulación”
- Tolerancia a fallos y reanudación de pipelines largos
- Orquestación distribuida en clúster HPC
- Encadenamiento de etapas heterogéneas (simulación Fortran, análisis Python)
- Buffers compartidos en memoria de alta velocidad
- Persistencia intermedia mínima para bajar latencia
- Alertas/umbrales automáticos al detectar comportamientos críticos
- Auditoría de pasos y resultados intermedios
 
- Visualización científica de alto rendimiento- Renderizado paralelo de volúmenes 3D / campos vectoriales
- Ray tracing científico para estructuras complejas
- Visualización “in situ” (sin escribir todos los datos a disco)
- Exploración interactiva de resultados masivos en remoto
- Submuestreo inteligente y refinamiento adaptativo
- Extracción de isosuperficies y líneas de corriente
- Visualización multi-escala (zoom desde macro a micro)
- Pipelines GPU para post-procesamiento visual
- Exportación de imágenes/animaciones de alta fidelidad
- Análisis colaborativo visual entre varios usuarios
 
- Gestión de datasets masivos y movimiento de datos- Organización de petabytes de resultados de simulación
- Almacenamiento jerárquico (rápido vs archivo frío)
- Catalogación y metadatos buscables
- Minimizar transfers entre centros de cómputo
- Políticas de retención y expiración de datos antiguos
- Planificación de ancho de banda para mover datos de experimento a HPC
- Prefetch de datos necesarios para etapas siguientes
- Replicación geográfica para resiliencia
- Encriptación y cumplimiento normativo en tránsito
- Costos de IO vs costo de recomputar
 
- Indexación eficiente de resultados de simulación- Indexación multimensional de campos físicos (x,y,z,t)
- Indexación espacial jerárquica (árboles octree / kd-tree)
- Catálogos consultables por rango de parámetros
- Búsqueda rápida de instantáneas con propiedades específicas
- Metadatos ricos (condiciones iniciales, constantes físicas)
- Etiquetado semántico de regiones de interés (por ejemplo, choque, fractura)
- Indexación compatible con visualización interactiva
- Uso de formatos autocontenidos (HDF5 con metadata)
- Precomputo de agregados estadísticos por bloque espacial
- APIs de consulta para análisis colaborativo entre equipos
 
- Exploración interactiva en entornos de supercómputo- Acceso remoto a nodos de visualización con GPU
- Notebooks científicos conectados al clúster HPC
- Exploración de parámetros en vivo sin relanzar simulación completa
- Dashboards en tiempo (casi) real de evolución de la simulación
- Muestreo adaptativo de regiones interesantes del dominio físico
- Comparación lado a lado de distintas corridas / configuraciones
- Colaboración multiusuario observando el mismo dataset
- Resumen estadístico inmediato al explorar regiones
- Protección de datos sensibles en sesiones interactivas
- Generación rápida de reportes técnicos reproducibles
 
 
- Preprocesamiento masivo de datos científicos
- Aprendizaje automático acelerado en HPC- Entrenamiento distribuido de modelos profundos- Sincronización de gradientes entre múltiples nodos (data parallel)
- All-reduce optimizado y jerárquico
- Entrenamiento en clúster con decenas o cientos de GPUs
- Checkpointing distribuido tolerante a fallos
- Reanudación tras caída de nodos
- Uso de redes de baja latencia para sincronización
- Mixed precision training (FP16/BF16) para acelerar cómputo
- Overlap de comunicación-gradiente con el cómputo forward/backward
- Control de desbalance entre GPUs heterogéneas
- Escalabilidad a modelos de miles de millones de parámetros
 
- Paralelismo de datos- Cada réplica del modelo procesa un subconjunto distinto del batch
- Agregación de gradientes entre réplicas
- Tamaños de batch enormes para explotar todo el clúster
- Ajuste de tasa de aprendizaje al tamaño de batch
- Corrección de sesgo al escalar batch size
- Minimizar variabilidad estadística en batches gigantes
- Sharding eficiente de datos de entrenamiento
- Carga de datos distribuida sin cuello de botella de IO
- Data augmentation paralela
- Reproducibilidad entre corridas masivas
 
- Paralelismo de modelo- Dividir el modelo entre múltiples dispositivos (model parallel)
- Partición por capas profundas consecutivas
- Partición por dimensión interna (tensor/model parallel)
- Sincronización de activaciones y gradientes entre particiones
- Minimizar el volumen de comunicación entre particiones
- Alineación de la topología de red física con la partición del modelo
- Manejo de capas gigantes que no caben en una sola GPU
- Entrenamiento de modelos de gran escala (transformers enormes)
- Balance de carga entre fragmentos del modelo
- Depuración de errores en forward/backward distribuido
 
- Paralelismo de pipeline- Dividir el modelo en etapas secuenciales como una línea de ensamblaje
- Microbatches que fluyen a lo largo del pipeline
- Ejecución en “streaming” de forward y backward
- Minimizar burbujas (tiempo muerto entre etapas)
- Coordinación precisa de tiempos entre etapas
- Combinación con paralelismo de datos y de modelo
- Ajuste dinámico del tamaño de microbatch
- Recuperación tras fallo de una etapa del pipeline
- Medición de throughput del pipeline completo
- Escalado a pipelines con muchas etapas distribuidas en varios nodos
 
- Técnicas mixtas de paralelismo- Combinación de paralelismo de datos + modelo + pipeline
- Diseño de mallas lógicas de GPUs/NICs para sincronización eficiente
- Sharding de parámetros en paralelo de datos
- Replicación parcial de capas críticas
- Mezcla de precisiones numéricas según la capa
- Fusión de comunicaciones para reducir overhead
- Checkpointing parcial por grupo paralelo
- Escalamiento de modelos tipo foundation models
- Balance entre complejidad operativa y ganancia de velocidad
- Automatización de estrategias híbridas en frameworks modernos
 
- Compiladores de grafos y optimizadores de kernels- Fusión automática de operadores para minimizar tráfico de memoria
- Reordenamiento de operaciones para mejor localidad
- Generación de kernels especializados por hardware (codegen)
- Reducción de overhead de lanzamiento de kernels en GPU
- Planificación de ejecución para maximizar ocupación de GPU
- Cuantización y poda integradas en el grafo computacional
- Auto-tuning de tamaños de bloque y tiling
- Selección automática de primitivas de álgebra lineal óptimas
- Ajuste a aceleradores matriciales específicos
- Exportación a runtimes ligeros para inferencia
 
- Modelos informados por física (physics-informed ML)- Redes neuronales que incorporan leyes físicas (conservación, simetrías)
- Penalización de violaciones de ecuaciones diferenciales en la pérdida
- Aceleración de simulaciones resolviendo aproximaciones aprendidas
- Estimación de campos continuos (presión, velocidad, temperatura)
- Aprendizaje de cierres (closures) en modelos de turbulencia
- Incorporación de invariantes físicos (energía, masa, momento)
- Validación física además de métrica estadística
- Reducción de costo de simulaciones de alta fidelidad
- Uso en problemas inversos con datos parciales
- Acoplamiento bidireccional simulación <-> red neuronal
 
- Surrogates y emuladores de simulaciones costosas- Modelos aproximados (surrogates) que reemplazan una simulación completa
- Entrenamiento supervisado con datos de simuladores caros
- Evaluación ultrarrápida para exploración paramétrica
- Optimización y calibración usando surrogate en vez del solver físico
- Emulación estadística con Gaussian Processes / modelos profundos
- Redes reducidas para aproximar dinámica compleja
- Validación de fidelidad vs simulador base
- Cuantificación de incertidumbre del surrogate
- Uso en diseño de experimentos y control en línea
- Actualización incremental del surrogate con nuevos datos
 
- Inferencia optimizada de baja latencia- Compilación del modelo para inferencia (TensorRT, XLA, etc.)
- Cuantización a baja precisión para acelerar inferencia
- Podado (pruning) de pesos y compresión estructurada
- Batch pequeño vs batch grande según latencia objetivo
- Inferencia distribuida en varias GPUs para throughput
- Pipeline de inferencia cerca del borde (edge HPC / centros de datos científicos)
- Minimización de transferencias CPU↔GPU durante inferencia
- Colocación óptima del modelo en nodos con aceleradores
- Monitoreo de latencia en ambientes de misión crítica
- Reconfiguración dinámica del runtime según carga
 
- AutoML y búsqueda de arquitecturas en HPC- Búsqueda automática de hiperparámetros a gran escala
- Búsqueda neural architecture search (NAS) distribuida
- Evaluación paralela masiva de configuraciones candidate
- Reutilización de pesos (weight sharing) para acelerar NAS
- Selección multicriterio (precisión, costo computacional, energía)
- Checkpointing intermedio de candidatos prometedores
- Priorización inteligente usando modelos tipo bandit/bayesianos
- Uso de GPUs/TPUs a escala para barrer el espacio arquitectural
- Persistencia y comparación histórica de arquitecturas probadas
- Generación de modelos a medida del dominio físico específico
 
 
- Entrenamiento distribuido de modelos profundos
- Verificación, validación y reproducibilidad científica- Verificación numérica de solvers- Comparación con soluciones analíticas conocidas
- Convergencia de orden esperado bajo refinamiento de malla/paso de tiempo
- Conservación de invariantes físicos (masa, energía, momento)
- Análisis de estabilidad numérica en integración temporal
- Detección de drift numérico en simulaciones largas
- Chequeo de sensibilidad ante pequeñas variaciones del paso
- Comparación de precisión simple vs doble
- Cross-check entre formulaciones equivalentes del mismo operador
- Uso de problemas sintéticos controlados para depuración
- Pruebas de regresión numérica automatizadas
 
- Validación física frente a datos experimentales- Comparación directa simulación vs medición real
- Calibración de parámetros físicos libres
- Ajuste de condiciones de frontera a ensayos experimentales
- Cuantificación de error relativo y absoluto
- Análisis de incertidumbre experimental vs incertidumbre numérica
- Evaluación de predicción fuera del rango medido
- Validación cruzada entre laboratorios / experimentos
- Ciclo iterativo “predecir → medir → refinar modelo”
- Identificación de física faltante (p.ej. disipación no modelada)
- Aceptación del modelo para uso ingenieril / regulatorio
 
- Comparación cruzada entre códigos independientes- Ejecutar el mismo caso físico con distintos códigos/simuladores
- Asegurar consistencia de resultados clave (curvas, tensiones, campos)
- Evaluar diferencias numéricas por discretización (FEM vs FDM vs FV)
- Análisis de dependencia en el mallado
- Benchmarking con códigos de referencia de la comunidad
- Identificación de bugs por divergencias sistemáticas
- Uso en validación de nuevos métodos numéricos
- Documentación de discrepancias aceptables
- Generación de “casos patrón” para regresión futura
- Publicación conjunta de resultados comparativos
 
- Benchmarks y suites de referencia comunitarias- Casos estándar compartidos en la disciplina (lid-driven cavity, canal turbulento, etc.)
- Datos base aprobados por la comunidad científica
- Métricas de error y figuras de mérito acordadas
- Repetibilidad de setup, malla, parámetros
- Rankings de desempeño numérico y eficiencia HPC
- Evolución histórica del benchmark para nuevas físicas
- Uso en propuestas de financiamiento / validación de código
- Inclusión de casos extremos (alta Re, no linealidades fuertes)
- Comparación entre hardware (CPU vs GPU vs aceleradores)
- Curación de benchmarks abiertos y accesibles
 
- Control de versiones de simulaciones y parámetros- Versionado de input decks / archivos de configuración
- Registro de la versión exacta del código fuente
- Hashes/verificación criptográfica de binarios ejecutados
- Historial de parámetros físicos y numéricos
- Trazabilidad de cada resultado a su commit/tag
- Control de cambios graduales en el modelo físico
- Gestión de branches específicos para estudios científicos
- Congelamiento de configuraciones para publicaciones
- Reproducibilidad temporal (poder re-correr meses después)
- Integración con sistemas de control de versiones (Git) y metadatos científicos
 
- Gestión de semillas aleatorias y estados iniciales- Registro explícito de semillas RNG
- Reproducibilidad de corridas estocásticas
- Uso de secuencias deterministas en entornos paralelos
- Control de streams de aleatoriedad por proceso MPI / GPU
- Evitar colisión de semillas entre nodos
- Trazabilidad de estados iniciales generados aleatoriamente
- Repetibilidad estadística para validar hallazgos
- Estimación de varianza entre corridas idénticas salvo RNG
- Validación de robustez frente a diferentes semillas
- Publicación de semillas usadas en resultados finales
 
- Bitácoras experimentales y trazabilidad completa- Registro estructurado de cada corrida (input, versión, hora, nodo)
- Metadatos de hardware y topología de ejecución
- Logs de entorno (módulos cargados, variables de entorno)
- Captura automática de performance y recursos usados
- Registro de fallos y reinicios
- Asociación entre corrida y análisis posterior
- Bitácora tipo “laboratorio” digital y consultable
- Evidencia auditable para artículos científicos
- Cumplimiento de políticas de laboratorio / centro HPC
- Soporte a revisores externos
 
- Publicación de datasets reproducibles- Liberar campos simulados / mediciones experimentales sin procesar
- Adjuntar scripts de post-procesamiento
- Documentar formato, unidades y mallas
- Licenciamiento y políticas de acceso abierto / restringido
- DOIs y citabilidad académica
- Versionado del dataset publicado
- Subconjuntos reducidos para descarga práctica
- Inclusión de incertidumbre asociada
- Curación en repositorios institucionales / comunitarios
- Reusabilidad por otros grupos de investigación
 
- Replicación de resultados publicados- Re-ejecución independiente del experimento numérico original
- Reproducción del análisis estadístico / gráfico
- Comparación de métricas clave y conclusiones científicas
- Identificación de dependencias ocultas o supuestos no declarados
- Validación de afirmaciones antes de basar trabajo futuro en ellas
- Incentivos académicos a la replicación
- Reportes de reproducibilidad como material suplementario
- Cultura de resultados verificables, no solo “impresionantes”
- Compartición de pipelines CI científicos que regeneran figuras
- Refuerzo de confianza en simulaciones predictivas de alto impacto
 
 
- Verificación numérica de solvers
- Metodologías de desarrollo de software científico- Diseño modular y orientado a componentes físicos- Separar fenómenos físicos (fluido, calor, química) en módulos claros
- Interfaces explícitas entre módulos acoplados
- Reemplazo de submodelos sin reescribir todo el solver
- Reutilización de módulos entre proyectos distintos
- Evitar dependencias circulares entre componentes físicos
- Control de versiones por módulo físico
- Claridad entre “modelo físico” y “infraestructura numérica”
- Posibilidad de probar cada módulo de forma aislada
- Desacople entre física y hardware específico
- Facilitar contribuciones de especialistas de dominio
 
- Separación entre física, discretización y solver- Capa física continua (leyes PDE / EDP)
- Capa de discretización (FEM, FDM, FV)
- Capa de resolución algebraica (solvers lineales / no lineales)
- Intercambiabilidad de solvers sin cambiar la física base
- Comparación objetiva entre discretizaciones distintas
- Tuning independiente de la parte algebraica
- Limpieza conceptual para depurar
- Portabilidad del solver a nuevas arquitecturas
- Mejora incremental de cada capa sin romper las otras
- Reutilización del solver en múltiples dominios físicos
 
- Testing automatizado para kernels numéricos- Tests unitarios de kernels matemáticos críticos
- Tests de regresión numérica (comparar con resultados previos)
- Tests de conservación/invariantes físicos
- Tests de convergencia de orden conocido
- Tests de estabilidad bajo pasos extremos
- Tests con precisión simple vs doble
- Tests en CPU y GPU para validar equivalencia
- Tests deterministas para reproducibilidad
- Tests de rendimiento mínimo aceptable
- Integración automática de tests en CI
 
- Validación continua y pipelines de CI científicos- CI que ejecuta simulaciones reducidas de referencia
- Comparación automática con resultados esperados tolerancia ε
- Alertas cuando se rompe estabilidad numérica o conservación
- Generación de artefactos (figuras, métricas) como parte del CI
- Publicación de reportes CI accesibles al equipo científico
- Uso de contenedores/entornos fijos para CI reproducible
- Control de dependencias numéricas (librerías BLAS/MPI)
- Versionado de hardware virtualizado / emulado en CI
- CI con pruebas en GPU/accelerators
- Bloquear merges que degraden validación física clave
 
- Refactorización dirigida por rendimiento- Identificación de kernels cuello de botella antes de refactorizar
- Limpieza de código orientada a vectorización / paralelización
- Remover abstracciones que impiden optimización crítica
- Mantener claridad científica pese a micro-optimizaciones
- Establecer métricas de performance objetivo
- Iteraciones guiadas por perfilado objetivo, no intuición
- Documentar el impacto de cada refactor sobre rendimiento
- Evitar regresiones numéricas tras refactor
- Balance entre legibilidad y velocidad extrema
- Minimizar la deuda técnica “de rendimiento”
 
- Documentación técnica y manuales de usuario científico- Documentar supuestos físicos y rangos de validez
- Documentar ecuaciones discretizadas exactamente usadas
- Manual de entrada/salida (input decks, formatos de resultados)
- Guía de compilación e instalación en distintos clusters
- Ejemplos mínimos reproducibles
- Árbol de dependencias externas (MPI, BLAS, etc.)
- Advertencias sobre condiciones de borde delicadas
- Buenas prácticas de post-procesamiento
- Notas de versión con cambios científicos relevantes
- FAQ de estabilidad numérica y tuning
 
- Notebooks reproducibles y cuadernos ejecutables- Uso de notebooks (Jupyter, etc.) enlazados a datos y código concretos
- Ejecución paso a paso documentada
- Captura de parámetros y resultados intermedios
- Generación automática de figuras para papers
- Comparación visual entre corridas
- Reproducibilidad del entorno (requirements, environment.yml)
- Compartición entre investigadores sin recompilar todo
- Versionado de notebooks como artefactos científicos
- Conversión a reportes PDF/HTML para difusión
- Riesgos de “código mutable” y necesidad de sellar versiones
 
- Automatización de campañas de simulación- Barrido sistemático de parámetros (sweeps)
- Lanzamiento masivo de jobs en colas HPC
- Recolección automática de resultados y métricas clave
- Reintentos automáticos en caso de fallo de nodo
- Trazabilidad de qué job corresponde a qué punto en el espacio de parámetros
- Optimización adaptativa guiada por resultados previos
- Priorización dinámica de regiones “interesantes”
- Generación de mapas de fase / diagramas paramétricos
- Limpieza automática de resultados parciales corruptos
- Reportes ejecutivos de avance de campaña
 
- Gestión de configuraciones y barridos de parámetros- Definir claramente parámetros físicos vs parámetros numéricos
- Plantillas de configuración con placeholders
- Versionado de cada set de parámetros probado
- Almacenamiento estructurado (YAML/JSON) para reproducibilidad
- Comparación automática entre configuraciones cercanas
- Rastreo de sensibilidad de cada parámetro
- Evitar combinaciones físicamente inválidas
- Reutilización de configuraciones históricas validadas
- Reanálisis rápido de configuraciones antiguas con hardware nuevo
- Generación automática de documentación del barrido
 
- Portabilidad entre supercómputo on-premise y entornos de investigación- Empaquetar solvers y dependencias en contenedores reproducibles
- Adaptar a colas/planificadores distintos (SLURM vs PBS vs LSF)
- Asegurar que el código escala también en hardware académico más pequeño
- Mantener rendimiento razonable sin hardware exótico
- Sincronizar datasets entre instalaciones diferentes
- Estandarizar módulos de compilación y toolchains
- Soporte a aceleradores heterogéneos según el centro
- Portar pipelines de CI/CD científico a entornos restringidos
- Documentar dependencias propietarias / licencias
- Compartir binarios optimizados con colaboradores externos
 
 
- Diseño modular y orientado a componentes físicos
- Computación de precisión mixta y aproximada- Precisión simple, doble y extendida- Trade-off entre costo computacional y precisión numérica
- Uso de precisión simple (FP32) vs doble (FP64) en distintos dominios físicos
- Precisión extendida para problemas extremadamente rígidos
- Impacto en la estabilidad de métodos iterativos
- Cambios en el error de redondeo acumulado
- Requerimientos regulatorios o científicos de precisión mínima
- Compatibilidad con librerías BLAS/LAPACK optimizadas
- Métricas de error aceptable según el fenómeno simulado
- Elección de precisión al generar resultados publicables
- Uso estratégico de precisión alta solo en pasos críticos
 
- Precisión mixta en solvers iterativos- Precondicionador en baja precisión + refinamiento en alta precisión
- Iterative refinement
- Cálculo de productos matriz-vector en baja precisión
- Acumulación de sumas en mayor precisión para estabilidad
- Uso de half / BF16 en kernels acelerados
- Corrección final en doble precisión
- Aprovechamiento de tensor cores / aceleradores matriciales
- Control de pérdida de ortogonalidad en métodos de Krylov
- Validación de residuo real vs residuo en precisión reducida
- Detección automática de cuándo subir precisión
 
- Reducción de precisión en kernels críticos- Identificar kernels dominantes en costo total
- Medir sensibilidad física del resultado a errores locales
- Bajar precisión solo donde el impacto científico es menor
- Generar versiones alternativas del mismo kernel por precisión
- Evaluar ganancia en FLOP/s y ahorro energético
- Validar que las conclusiones científicas no cambian
- Uso en cómputo en tiempo casi real
- Integración con auto-tuning para elegir precisión ideal
- Documentación de la pérdida de fidelidad introducida
- Mecanismos de rollback a precisión alta en regiones inestables
 
- Cómputo aproximado y tolerante a error- Aceptar resultados con error controlado a cambio de gran aceleración
- Algoritmos aproximados para kernels lineales / solvers parciales
- Métodos probabilísticos como sustituto de cálculo determinista exacto
- Uso de muestreo estadístico como estimador en vez de cálculo exacto
- Técnicas de recorte de precisión espacial/temporal en simulaciones
- Ajuste dinámico del nivel de aproximación según fase de la simulación
- Monitoreo de desviaciones respecto a un baseline de alta fidelidad
- Adecuación para análisis exploratorio y screening de parámetros
- Riesgos en estudios finales o certificables
- Balance entre ciencia exploratoria vs ciencia regulada
 
- Estrategias de reescalado numérico- Normalización de variables para evitar overflow/underflow
- Escalamiento adimensional de ecuaciones físicas
- Reescritura de ecuaciones para mejorar el condicionamiento
- Centrados y shifts para valores extremadamente grandes o pequeños
- Evitar cancelación catastrófica en restas casi iguales
- Mantener magnitudes similares entre términos sumados
- Reescalar campos físicos en unidades convenientes
- Seguimiento explícito de cambios de escala en el posprocesamiento
- Ajuste dinámico de escala durante simulación larga
- Documentación rigurosa del reescalado aplicado
 
- Propagación controlada de error- Modelar cómo se amplifican los errores numéricos paso a paso
- Estimar cotas superiores de error total
- Detectar cuándo el error acumulado invalida la simulación
- Métodos adaptativos que refinan precisión cuando el error crece
- Ajustar paso temporal / tamaño de malla según el error estimado
- Comparar soluciones sucesivas para medir deriva
- Reportar barras de error en resultados científicos
- Separar incertidumbre física real vs error numérico
- Validar robustez de conclusiones frente a propagación de error
- Uso en toma de decisiones basada en simulación
 
- Aritmética estocástica y detección de inestabilidades- Inyección de ruido aleatorio controlado en operaciones aritméticas
- Identificación de sensibilidad extrema a pequeñas perturbaciones
- Estimación estadística de estabilidad numérica
- Detección de cancelación catastrófica mediante perturbación aleatoria
- Cuantificación de confianza en resultados finales
- Comparación entre ejecuciones con ruido distinto
- Uso como herramienta de validación de robustez numérica
- Integración con análisis de incertidumbre
- Priorización de mejoras de estabilidad donde más se necesita
- Evaluación previa a publicar resultados críticos
 
 
- Precisión simple, doble y extendida
- Resiliencia y tolerancia a fallos en HPC- Checkpointing y reinicio- Guardar el estado completo de la simulación periódicamente
- Reanudar tras fallo sin reiniciar desde t=0
- Tamaño y frecuencia de checkpoints como trade-off costo/riesgo
- Checkpoints consistentes entre múltiples procesos MPI
- Checkpoints comprimidos / diferenciales
- Almacenamiento distribuido tolerante a fallos
- Automatización del proceso de dump y restore
- Validación de integridad del checkpoint
- Checkpoint incremental vs completo
- Impacto en rendimiento global
 
- Checkpointing incremental y diferencial- Guardar sólo las diferencias desde el último checkpoint completo
- Reducir uso de ancho de banda y almacenamiento
- Trackeo de páginas/variables modificadas
- Reconstrucción del estado combinando base + deltas
- Encriptación y compresión selectiva de deltas
- Menor impacto en simulaciones ultralargas
- Tiering de checkpoints (rápido local vs almacenamiento frío)
- Checkpoint adaptativo basado en criticidad del momento físico
- Coordinación con planificador de jobs
- Recuperación rápida tras cortes breves
 
- Algoritmos tolerantes a fallos (ABFT)- Insertar redundancia matemática en el cálculo (checksums)
- Detección de errores silenciosos en álgebra lineal
- Corrección parcial sin reiniciar todo el cómputo
- ABFT en multiplicación de matrices distribuidas
- ABFT en solvers iterativos
- Trade-off entre sobrecosto computacional y resiliencia
- Detección temprana de corrupción de datos en RAM/GPU
- Integración con hardware con ECC
- Extensión a topologías de comunicación complejas
- Uso en ambientes exascale con fallos frecuentes
 
- Replicación activa de tareas críticas- Ejecutar en paralelo la misma tarea en nodos distintos
- Comparar resultados para detectar corrupción silenciosa
- Fallback inmediato al resultado sano si uno falla
- Replicación selectiva: sólo para etapas críticas o irrepetibles
- Costos de duplicar/triplicar cómputo
- Detección de fallos transitorios de hardware
- Recuperación rápida sin esperar reintentos largos
- Validación de consistencia en tiempo (latencia similar)
- Uso en simulaciones que alimentan control en tiempo real
- Integración con colas HPC que asignan nodos redundantes
 
- Detección y corrección de bit flips- Errores de un solo bit en memoria (soft errors por radiación cósmica)
- Uso de memoria ECC para corrección automática
- Monitoreo de tasas de error por nodo
- Reejecución de kernels numéricos sospechosos
- Validación de integridad de datos críticos en GPU
- Identificación de hardware degradado
- Limpieza / reinicio preventivo de nodos problemáticos
- Políticas de cuarentena de nodos “ruidosos”
- Registro para análisis de confiabilidad a largo plazo
- Priorización de nodos más confiables para simulaciones sensibles
 
- Recuperación tras caídas parciales de nodo- Continuar ejecución con menos recursos activos
- Redistribución dinámica de dominio espacial entre nodos restantes
- Reinicialización de procesos fallidos sin matar el job completo
- Rebalanceo de carga después del fallo
- Preservación de datos en memoria del resto del clúster
- Coordinación con planificador (SLURM, PBS) para reasignar nodos
- Reconstrucción de halos/fronteras perdidas
- Salvaguarda de resultados parciales producidos hasta el fallo
- Registro del evento de fallo como parte de la trazabilidad científica
- Métricas de resiliencia por aplicación
 
- Elasticidad bajo fallos a escala masiva- Jobs que sobreviven fallos frecuentes en sistemas exascale
- Ajuste dinámico del número de procesos MPI
- Reasignación de tareas a nodos sanos en caliente
- Mantener eficiencia paralela pese a pérdida de nodos
- Escalado hacia abajo temporal para estabilizar
- Prevención de cascadas de fallos
- Integración con tolerancia a fallos del runtime de ejecución
- Políticas automáticas de “graceful degradation”
- Toma de decisiones basada en criticidad científica vs costos de rescate
- Métricas de disponibilidad efectiva de cómputo útil
 
- Reconfiguración dinámica de trabajos a mitad de ejecución- Cambiar el layout de procesos sin reiniciar
- Migración de subdominios entre nodos activos
- Ajuste del tamaño de timestep / mallado según recursos actuales
- Apagar etapas no críticas para salvar el experimento principal
- Preservar coherencia de datos tras la reasignación
- Actualización “hot” de parámetros de simulación
- Cambiar prioridades de colas en vivo
- Telemetría continua para decidir reconfiguración
- Validación de que la física simulada sigue siendo válida
- Documentación automática de la reconfiguración para trazabilidad
 
 
- Checkpointing y reinicio
- Computación científica en tiempo real y alta fidelidad- Simulación en línea para control experimental- Ejecutar simulación predictiva junto a un experimento físico en curso
- Ajustar parámetros del experimento en vivo según predicciones
- Exigir latencia mínima y cálculo determinista
- Tolerancia cero a fallos prolongados
- Necesidad de modelos reducidos o surrogates ultra rápidos
- Sincronización temporal estricta con adquisición de datos
- Monitoreo continuo de desviaciones entre predicción y medición
- Alarmas en tiempo casi real
- Registro para auditoría científica y de seguridad
- Uso en física de plasma, aceleradores de partículas, reactores
 
- Gemelos digitales de sistemas físicos complejos- Réplica numérica operativa de un sistema físico real
- Actualización continua con datos sensados
- Predicción de fallos y mantenimiento preventivo
- Evaluación de escenarios hipotéticos sin intervenir el sistema real
- Ajuste continuo del modelo con ML + física
- Integración de múltiples dominios físicos acoplados
- Requerimientos de cómputo casi en vivo
- Escalado desde equipos individuales hasta infraestructuras industriales
- Cuestiones de ciberseguridad en gemelos digitales conectados
- Trazabilidad para decisiones operativas críticas
 
- Control predictivo basado en simulación- Uso de modelos numéricos para predecir el estado futuro
- Optimización de la acción de control bajo restricciones físicas
- MPC (Model Predictive Control) resuelto continuamente
- Reducción de orden del modelo para cumplir ventanas de tiempo
- Fusión con sensores en lazo cerrado
- Reacción rápida ante perturbaciones externas
- Garantías de estabilidad bajo incertidumbre
- Validación de seguridad antes de aplicar el control
- Co-ejecución en hardware dedicado en planta / laboratorio
- Adherencia a normativas de operación segura
 
- Fusión de datos experimentales en vivo con modelos numéricos- Asimilación de datos (data assimilation) en tiempo casi real
- Kalman filters / EnKF / filtros de partículas para estimar estado
- Corrección continua de estados simulados
- Reconstrucción de campos no directamente medidos
- Uso en clima, fusión nuclear, biología in vivo
- Requisitos de latencia estrictos en la ingesta de datos
- Balance entre robustez estadística vs velocidad
- Control de ruido y outliers en señales experimentales
- Validación de plausibilidad física tras asimilar datos
- Escalado a redes distribuidas de sensores
 
- Procesamiento en el borde de instrumentos científicos- Cómputo cerca del dispositivo que genera datos (beamlines, telescopios, microscopios)
- Filtrado y compresión en la frontera para reducir ancho de banda
- Detección temprana de eventos interesantes
- Decidir qué datos guardar y cuáles descartar
- Latencia ultrabaja para experimentos costosos en tiempo de haz
- Integración con clusters HPC centrales para post-procesamiento profundo
- Limitaciones de energía / espacio físico en el borde
- Robustez ante desconexiones intermitentes
- Seguridad física y lógica del nodo perimetral
- Cumplimiento normativo en instrumentación científica sensible
 
- Reducción automática de datos bajo latencia estricta- Post-procesamiento inmediato de datos brutos en tiempo real
- Extracción de features relevantes en vivo
- Eliminación de datos redundantes o de poco valor científico
- Priorización de eventos raros / críticos
- Uso de inferencia acelerada (GPU/FPGA) para clasificación inmediata
- Políticas de retención adaptativas basadas en contexto experimental
- Minimizar IO a almacenamiento lento
- Garantizar que nada importante se pierda sin revisión humana
- Registro de criterios usados para descartar datos
- Capacidad de “replay” de ventanas temporales recientes
 
- Sistemas de alerta temprana basados en simulación- Predicción de condiciones peligrosas o inestables antes de que ocurran
- Modelos físicos + ML para identificar umbrales críticos
- Alertas operacionales automáticas para personal humano
- Validación continua para evitar falsas alarmas dañinas
- Priorización de alarmas según severidad
- Integración con protocolos de seguridad industrial / laboratorio
- Registro y auditoría de alertas emitidas
- Evaluación post-evento de efectividad de la alerta
- Ajuste fino de umbrales bajo nuevas condiciones
- Uso en sismología, operación de reactores, clima extremo
 
 
- Simulación en línea para control experimental
- Ética, gestión y política científica en HPC- Priorización de acceso a recursos de supercómputo- Políticas de asignación de horas de cómputo entre proyectos
- Evaluación de mérito científico vs urgencia aplicada (por ejemplo, clima extremo)
- Equilibrio entre investigación básica y proyectos industriales
- Acceso justo para equipos pequeños / emergentes
- Transparencia en criterios de priorización
- Mecanismos de apelación / revisión por pares
- Impacto en carreras científicas y publicación
- Incentivos a compartir resultados y herramientas
- Reservas de emergencia para uso crítico inmediato
- Minimizar captura de recursos por pocos actores dominantes
 
- Cuotas de uso y gobernanza de clústeres compartidos- Cuotas de CPU/GPU/almacenamiento por grupo
- Límites de prioridad en colas de trabajo
- Fairness entre usuarios concurrentes
- Penalización por abuso o uso ineficiente
- Monitoreo de consumo en tiempo casi real
- Reportes contables para sponsors / agencias
- Auditoría de compliance con acuerdos institucionales
- Planificación de capacidad a largo plazo
- Transparencia en costos internos imputados
- Políticas para proyectos colaborativos multi-institución
 
- Transparencia y trazabilidad de resultados numéricos- Exigir reporte completo de configuración y parámetros
- Exigir publicar scripts de post-procesamiento
- Documentar las hipótesis físicas asumidas
- Reportar incertidumbre y sensibilidad
- Incluir detalles de hardware y librerías usadas
- Garantizar que los resultados sean auditables por terceros
- Evitar “caja negra” en hallazgos con implicancias públicas
- Asegurar interpretabilidad mínima en modelos de IA aplicados a física
- Mantener trazabilidad temporal (cuándo se generó el resultado)
- Declarar conflictos de interés tecnológicos / comerciales
 
- Reproducibilidad como criterio de publicación científica- Requerir datos y código (o ejecutables verificables) junto al paper
- Requerir seeds y configuraciones exactas
- Requerir instrucciones de ejecución
- Revisiones por pares que incluyan intento de réplica
- Incentivar repositorios abiertos y DOIs permanentes
- Penalizar prácticas irreproducibles en revistas/conferencias
- Métricas de reproducibilidad declaradas en el artículo
- Cultura de “resultados confiables” más que “resultados espectaculares”
- Facilitar badges / certificaciones de reproducibilidad
- Evitar dependencia de infraestructura propietaria inaccesible al revisor
 
- Sostenibilidad energética del supercómputo- Consumo energético de centros HPC a escala MW
- Eficiencia FLOP/J como métrica clave
- Recuperación y reutilización de calor residual
- Ubicación geográfica con acceso a energía limpia
- Programación de cargas intensivas en horas de menor costo energético
- Ajuste dinámico de frecuencia/voltaje (DVFS) para bajar consumo
- Migración de workloads a hardware más eficiente energéticamente
- Evaluación del costo ambiental de simulaciones gigantes
- Reportes de huella de carbono asociados a publicaciones científicas
- Incentivos institucionales a eficiencia computacional
 
- Huella de carbono del entrenamiento masivo de modelos- Entrenamiento de modelos gigantes (miles de GPUs) y su consumo
- Comparar beneficio científico vs costo ambiental
- Uso de técnicas de eficiencia (pruning, distillation)
- Entrenamiento continuo vs fine-tuning incremental
- Reutilización de modelos pre-entrenados en vez de entrenar desde cero
- Transparencia sobre costo energético declarado en papers
- Optimización de scheduling para energías más limpias
- Diseño de arquitecturas de red más eficientes
- Balance entre precisión marginal y costo energético exponencial
- Políticas institucionales para limitar derroche computacional
 
- Manejo responsable de datos sensibles y confidenciales- Datos biomédicos, climáticos estratégicos, o industriales propietarios
- Controles de acceso estrictos en almacenamiento HPC
- Anonimización / seudonimización de datos
- Cifrado en tránsito y en reposo
- Auditorías de acceso a datasets sensibles
- Cumplimiento regulatorio (privacidad, export controls)
- Limitación de copia / exfiltración de datos
- Entornos aislados para análisis seguro
- Procedimientos de borrado seguro de datos expirados
- Balance entre apertura científica y protección ética/legal
 
- Transferencia tecnológica hacia la industria- Llevar simulación avanzada y HPC del laboratorio a aplicaciones reales
- Validación regulatoria de modelos numéricos para uso industrial
- Creación de herramientas de ingeniería basadas en solvers HPC
- Propiedad intelectual y licenciamiento
- Colaboraciones público-privadas en supercómputo
- Formación de personal técnico especializado transferible a industria
- Democratización de capacidades HPC vía servicios gestionados
- Impacto económico y competitivo de la simulación avanzada
- Responsabilidad sobre decisiones automatizadas basadas en simulación
- Estándares de seguridad, confiabilidad y ética en la adopción industrial
 
 
- Priorización de acceso a recursos de supercómputo
 
- Fundamentos de análisis numérico
13 - Data y machine learning
- Datos y ML- Fundamentos matemáticos y computacionales - Álgebra lineal para datos y modelos- Vectores, matrices y tensores
- Operaciones lineales y productos matriciales
- Dependencia lineal y rango
- Espacios vectoriales y subespacios columna/fila
- Descomposición en valores y vectores propios
- Descomposición SVD y reducción de dimensionalidad
- Proyecciones ortogonales y mínimos cuadrados
- Sistemas sobredeterminados y pseudoinversa
- Estabilidad numérica en álgebra lineal
- Representación dispersa y cómputo eficiente
 
- Cálculo diferencial e introducción a optimización continua- Derivadas parciales y gradiente
- Regla de la cadena en espacios de alta dimensión
- Hessiano y curvatura local
- Óptimos locales y estacionariedad
- Convexidad básica y condiciones de mínimo global
- Funciones de pérdida diferenciables
- Descenso por gradiente básico
- Paso de aprendizaje y estabilidad
- Problemas mal condicionados
- Regularización como término en la función objetivo
 
- Optimización convexa y dualidad (Lagrange, KKT)- Funciones convexas y conjuntos convexos
- Programas cuadráticos y lineales
- Multiplicadores de Lagrange
- Condiciones KKT
- Dualidad primal-dual
- Interpretación económica de las variables duales
- Soft constraints vs hard constraints
- Regularización L1/L2 como restricciones
- Sparsity inducida por L1
- Convergencia garantizada en problemas convexos
 
- Métodos de optimización numérica (gradiente, Newton, quasi-Newton, Adam)- Gradiente descendente estocástico (SGD)
- Momentum y aceleración
- Métodos de segundo orden y Newton
- Métodos quasi-Newton (BFGS, L-BFGS)
- Adam y variantes adaptativas
- Decaimiento del learning rate
- Batch vs mini-batch vs online
- Early stopping como control de sobreajuste
- Paisajes no convexos y mínimos locales planos
- Estabilidad numérica en entrenamiento profundo
 
- Probabilidad básica y variables aleatorias- Espacios de probabilidad y eventos
- Variables aleatorias discretas y continuas
- Funciones de densidad y de distribución
- Esperanza, varianza y covarianza
- Ley de los grandes números
- Teorema central del límite
- Distribuciones comunes (Bernoulli, Normal, Poisson, Exponencial)
- Independencia y correlación
- Probabilidad condicional y Bayes
- Muestreo Monte Carlo básico
 
- Inferencia estadística elemental (muestreo, estimación, sesgo/varianza)- Muestra vs población
- Estimadores puntuales y por intervalo
- Propiedades de un buen estimador
- Sesgo vs varianza
- Reamostrado bootstrap
- Intervalos de confianza
- Test de hipótesis como decisión binaria
- p-value y error tipo I/II
- Corrección por comparaciones múltiples
- Incertidumbre y comunicación de error
 
- Teoría de la información (entropía, divergencia)- Entropía de Shannon
- Información mutua
- Divergencia KL
- Cross-entropy como función de pérdida
- Codificación óptima y compresión
- Redundancia y correlación de atributos
- Selección de variables por información mutua
- Regularización basada en información
- Máxima entropía
- Relación entre entropía y incertidumbre en modelos
 
 
- Álgebra lineal para datos y modelos
- Fundamentos de datos y análisis cuantitativo - Tipos y formatos de datos (estructurados, semiestructurados, no estructurados)- Tabular relacional
- JSON, logs y eventos
- Texto libre
- Imágenes y señales
- Datos de series temporales
- Sensores y telemetría
- Datos geoespaciales
- Datos etiquetados vs no etiquetados
- Datos sintéticos
- Datos sensibles y regulados
 
- Manipulación y transformación de datos- Joins y merges
- Filtrado y selección de columnas
- Agregaciones y group-by
- Pivot y reshaping
- Normalización de unidades y escalas
- Detección de duplicados
- Enriquecimiento con fuentes externas
- Procesamiento batch vs streaming
- Construcción de features derivadas
- Documentación de transformaciones
 
- Limpieza, imputación, normalización y validación- Detección de valores faltantes
- Imputación numérica y categórica
- Outliers y recortes (winsorizing)
- Estandarización y escalamiento
- Codificación categórica
- Validación de rangos y formatos
- Detección de drift en el esquema
- Calidad de etiquetas
- Auditoría de calidad de datos
- Trazabilidad de cambios en datos críticos
 
- Versionado de datos, linaje y reproducibilidad de datasets- Linaje de columnas (origen-transformación-destino)
- Versionado de tablas y snapshots
- Versionado de esquemas y contratos
- Control de acceso a datasets históricos
- Metadatos y catálogo de datos
- Datasets “golden” y certificación
- Reproducibilidad de informes
- Retención y expiración de datos
- Ciclo de vida de datasets críticos
- Auditoría y cumplimiento
 
- Series temporales básicas: agregaciones, ventanas de tiempo, estacionalidad- Ventanas móviles y acumuladas
- Downsampling y resampling
- Estacionalidad diaria / semanal / anual
- Tendencia y nivel
- Suavizamiento exponencial
- Retención de usuarios con ventanas móviles
- Detección de picos y anomalías
- Lag features y lead features
- Forecasting corto plazo vs largo plazo
- Métricas de error en pronóstico
 
- Métricas de negocio y definición de KPI- Métricas de adquisición, activación y retención
- Métricas de conversión y funnel
- Lifetime value (LTV)
- Churn y retención de clientes
- SLA / SLO operacionales
- Métricas de riesgo y fraude
- Métricas de satisfacción / NPS
- Métricas de eficiencia operativa y costo
- Métricas regulatorias
- Alineación métrica-equipo-dirección
 
- Segmentación, cohortes y comportamiento de usuarios- Cohortes por fecha de alta / adquisición
- Segmentación por uso de funcionalidades
- Valor económico por segmento
- Ciclo de vida del usuario
- RFM (recencia, frecuencia, monto)
- Funnels multietapa
- Abandono y puntos de fuga
- Segmentación geográfica
- Segmentación contextual / estacional
- Segmentación dinámica en tiempo real
 
- Analítica de producto y telemetría de uso- Instrumentación de eventos
- Definición de eventos de producto
- Propiedades de evento (metadata)
- Embudos de uso de funcionalidad
- Detección de fricción en la experiencia
- Impacto de nuevas features
- Alertas sobre caídas de uso
- Experimentos con cambios UI/UX
- Métricas de engagement
- Métricas de activación temprana
 
- Análisis geoespacial y datos con localización- Coordenadas y proyecciones
- Map matching y geofencing
- Densidad espacial y heatmaps
- Rutas, trayectorias y movilidad
- Clustering espacial
- Demanda geolocalizada
- Riesgo geográfico y cobertura
- Optimización logística
- Datos satelitales y sensores remotos
- Privacidad en datos de localización
 
- Análisis de riesgo, fraude y anomalías- Patrones transaccionales inusuales
- Umbrales dinámicos vs estáticos
- Reglas heurísticas vs modelos estadísticos
- Modelos de anomalía no supervisados
- Señales agregadas por usuario / dispositivo
- Escalonamiento de alertas
- Validación humana de fraudes
- Costo esperado del falso positivo
- Evasión adversaria
- Reportabilidad / cumplimiento interno
 
- Análisis exploratorio de datos (EDA)- Distribuciones y percentiles
- Relaciones bivariadas
- Correlaciones y multicolinealidad preliminar
- Outliers y colas gruesas
- Separación por subpoblaciones
- Drift temporal de las variables
- Calidad de etiquetado
- Variables candidatas a ser features
- Supuestos del modelo detectables a ojo
- Hallazgos accionables tempranos
 
- Visualización, storytelling con datos y comunicación ejecutiva- Elección de la visualización adecuada
- Minimalismo y señal vs ruido
- Gráficos para tendencias vs instantáneas
- Métricas únicas vs panel comparativo
- Narrativa causal vs narrativa descriptiva
- Comunicación a audiencias no técnicas
- Alertas visuales y semáforos ejecutivos
- Anotaciones y contexto histórico
- Métricas que importan al negocio
- Toma de decisión basada en evidencia
 
 
- Tipos y formatos de datos (estructurados, semiestructurados, no estructurados)
- Estadística, inferencia y causalidad - Estimadores, sesgo y varianza- Consistencia del estimador
- Insesgadez vs baja varianza
- Error cuadrático medio
- Trade-off sesgo/varianza
- Regularización como aumento de sesgo controlado
- Intervalos de error para métricas de negocio
- Estimación empírica vs paramétrica
- Regímenes de pocos datos
- Varianza en modelos complejos
- Incertidumbre comunicable al stakeholder
 
- Intervalos de confianza y tests de hipótesis- Hipótesis nula y alternativa
- Estadístico de prueba
- Distribución nula
- p-value y su interpretación
- Error tipo I y tipo II
- Intervalos de confianza vs tests
- Corrección por múltiples pruebas
- Equivalencia y tests de no-inferioridad
- Test unilateral vs bilateral
- Robustez frente a supuestos no cumplidos
 
- Comparación de grupos (t-test, χ², ANOVA)- Comparación de medias
- Comparación de proporciones
- Varianzas entre grupos
- Tabla de contingencia y χ²
- ANOVA de una vía
- ANOVA multifactorial
- Interacciones entre factores
- Efecto práctico vs efecto estadístico
- Corrección post-hoc
- Selección de la métrica de comparación
 
- Significancia estadística, potencia estadística y tamaño de muestra- Potencia estadística (power)
- Cálculo de tamaño mínimo de muestra
- Detección de efectos pequeños
- Curva ROC estadística de un experimento
- Balance costo/beneficio de experimentar
- Duración mínima de experimentos A/B
- Peeking y riesgo de look-ahead
- Sequential testing
- Stopping rules
- Validez científica vs velocidad de negocio
 
- Regresión lineal y múltiple (interpretación de coeficientes)- Modelo lineal clásico
- Supuestos del modelo lineal
- Coeficientes como efectos marginales
- Intervalos de confianza de coeficientes
- Interacciones y términos cruzados
- Variables categóricas y dummies
- Multicolinealidad en la práctica
- Heterocedasticidad
- Errores correlacionados en el tiempo
- Interpretabilidad ante audiencias ejecutivas
 
- Multicolinealidad y selección de variables- Matriz de correlación
- VIF (Variance Inflation Factor)
- Eliminación hacia atrás / hacia adelante
- Penalizaciones L1 y sparsity
- Selección basada en información mutua
- Selección basada en performance validada
- Variables redundantes
- Variables proxy de sesgos
- Coste de obtener cada variable
- Estabilidad de la selección en el tiempo
 
- Regularización estadística (ridge, lasso)- Ridge y contracción de coeficientes
- Lasso y sparsity
- Elastic Net
- Interpretación geométrica de L1 vs L2
- Evitar sobreajuste en alta dimensión
- Selección automática de variables con L1
- Penalización como control de complejidad
- Validación cruzada para λ óptimo
- Relación con Bayes (priors gaussianos / laplacianos)
- Impacto en interpretabilidad
 
- Inferencia bayesiana aplicada- Priors y posteiores
- Verosimilitud
- Actualización bayesiana con nueva evidencia
- Credible intervals vs confidence intervals
- Map vs MCMC
- Inferencia aproximada y variacional
- Bayes en experimentación online
- Priors informativos vs no informativos
- Mezcla de expertos bayesiana
- Comunicación probabilística a negocio
 
- Análisis causal (confusores, variables instrumentales, correlación vs causalidad)- Causa vs correlación
- Confusores y sesgo de omisión
- Diagramas causales (DAGs)
- Variables instrumentales
- Propensity score matching
- Inverse propensity weighting
- Diferencias en diferencias
- Modelos estructurales causales
- Identificación vs estimación
- Limitaciones prácticas de la inferencia causal
 
- Evaluación de impacto y uplift- Métricas de uplift individual
- Segmentación de tratamiento
- Heterogeneidad del efecto
- Lift de conversión
- ROI incremental
- Selección de población objetivo
- Riesgo regulatorio en targeting diferencial
- Equidad en la asignación de tratamiento
- Priorización operativa de campañas
- Medición post-lanzamiento (observacional vs experimental)
 
 
- Estimadores, sesgo y varianza
- Teoría del aprendizaje automático - Formulación de aprendizaje supervisado, no supervisado y semisupervisado- Objetivos de predicción vs descubrimiento de estructura
- Etiquetas fuertes vs etiquetas débiles
- Dependencia de la señal de entrenamiento
- Supuestos sobre la distribución de datos
- Aprendizaje transductivo vs inductivo
- Riesgo empírico vs riesgo verdadero
- Funciones objetivo típicas por tipo de tarea
- Escenarios con datos limitados o costosos
- Relación con aprendizaje activo
- Transferencia entre paradigmas (pseudo-etiquetado)
 
- Funciones de pérdida y significado estadístico- Pérdida cuadrática y supuestos gaussianos
- Entropía cruzada y clasificación probabilística
- Hinge loss y márgenes
- Pérdidas robustas a outliers (Huber)
- Pérdidas asimétricas y coste-dependientes
- Pérdida ranking / AUC-oriented
- Pérdidas multiclase vs multietiqueta
- Regularización como término en la pérdida
- Pérdidas personalizadas para negocio
- Interpretación probabilística de la pérdida
 
- Generalización: sesgo-varianza, capacidad del modelo y sobreajuste- Curvas de aprendizaje (train vs valid)
- Underfitting vs overfitting
- Capacidad del modelo vs tamaño del dataset
- Complejidad efectiva del modelo
- Regularización para reducir varianza
- Data augmentation para mejorar generalización
- Early stopping como control de sobreajuste
- Cross-validation como estimador de error fuera de muestra
- Detección de fuga de información
- Generalización fuera de distribución
 
- Dimensión VC, márgenes y control de complejidad- Dimensión VC como medida de capacidad
- Separabilidad lineal y margen máximo
- Regularización L2 como control del margen
- Trade-off margen vs error empírico
- Cotas de generalización dependientes del margen
- Complejidad del clasificador no lineal
- Funciones kernel y espacio de alta dimensión
- Capacidad efectiva de modelos profundos
- Sobrecapacidad y memorization
- Interpretación geométrica del sobreajuste
 
- PAC learning (visión conceptual)- Probablemente Aproximadamente Correcto
- Error empírico vs error verdadero
- Tolerancia ε (precisión) y δ (confianza)
- Tamaño de muestra necesario para aprender
- Familias de hipótesis y complejidad
- Consistencia PAC
- Relación con dimensión VC
- Aprendibilidad en el sentido PAC
- Limitaciones prácticas del marco PAC
- Conexiones con bounds modernos en deep learning
 
- Regularización vista como restricción de complejidad- Penalización L2 (weight decay)
- Penalización L1 (sparsity y selección de features)
- Elastic Net como compromiso
- Dropout como ruido estructurado
- Data augmentation como regularización implícita
- Normalización de batch y estabilidad del entrenamiento
- Early stopping como límite de capacidad
- Weight sharing en redes convolucionales
- Cuantización/poda como reducción efectiva de complejidad
- Interpretación bayesiana de la regularización
 
- Paisajes de optimización no convexa en redes profundas- Mínimos locales vs puntos silla
- Mínimos planos vs mínimos afilados
- Robustez de mínimos planos a ruido
- Efecto del tamaño del batch
- Sensibilidad a la inicialización
- Rugosidad del paisaje de pérdida
- Simetrías de parámetros (permutación de neuronas)
- Degradación / explosión de gradientes
- Trayectorias de descenso en alta dimensión
- Convergencia práctica con optimizadores heurísticos
 
- Estabilidad de entrenamiento y ruido- Ruido estocástico en SGD
- Ruido como exploración del paisaje de pérdida
- Robustez frente a datos ruidosos
- Etiquetas incorrectas y su efecto
- Suavizado de etiquetas (label smoothing)
- Normalización y control de escala
- Mezcla de ejemplos (mixup, cutmix)
- Sensibilidad a perturbaciones adversarias
- Estabilidad entre semillas aleatorias
- Estabilidad vs reproducibilidad en entornos reales
 
 
- Formulación de aprendizaje supervisado, no supervisado y semisupervisado
- Machine Learning clásico (ML tradicional) - Regresión lineal y logística- Formulación cerrada vs entrenamiento iterativo
- Interpretación de coeficientes
- Probabilidades calibradas en clasificación
- Regularización ridge / lasso
- Multicolinealidad y condicionamiento numérico
- Interacciones y términos polinomiales
- Detección de outliers en residuales
- Regresión penalizada para alta dimensión
- Regresión logística multinomial
- Limitaciones para fronteras no lineales
 
- k-NN y métodos basados en distancia- Definición de vecindad
- Elección de k
- Métricas de distancia (euclidiana, coseno)
- Efecto de la dimensionalidad alta
- Búsqueda aproximada de vecinos más cercanos
- Clasificación basada en voto ponderado
- Regresión basada en promedio local
- Sensibilidad a ruido y outliers
- Escalamiento / normalización previa
- Uso en recomendación basada en similitud
 
- Máquinas de soporte vectorial (SVM)- Máximo margen
- Soft margin y parámetro C
- Funciones kernel (lineal, RBF, polinomial)
- Clasificación binaria y multiclase
- SVM para regresión (SVR)
- Interpretación geométrica de los support vectors
- Escalamiento de features
- Costo computacional en datasets grandes
- Selección de hiperparámetros (C, gamma)
- Robustez en alta dimensión con pocos datos
 
- Árboles de decisión- Criterios de partición (gini, entropía, mse)
- Profundidad máxima y sobreajuste
- Interpretabilidad visual
- Manejo de variables categóricas
- Manejo de valores faltantes
- Árboles de regresión vs clasificación
- Podado (pruning)
- Inestabilidad frente a pequeñas variaciones
- Leakage por splits mal construidos
- Árboles como bloques base de ensembles
 
- Bosques aleatorios- Bootstrap aggregating (bagging)
- Selección aleatoria de features por split
- Reducción de varianza
- Importancia de variables (feature importance)
- Robustez al ruido
- Estimación de error fuera de bolsa (OOB)
- Control de profundidad y cantidad de árboles
- Detección de overfitting residual
- Manejo de alta dimensionalidad
- Limitaciones en extrapolación continua
 
- Ensembles y Gradient Boosting (XGBoost, LightGBM)- Boosting vs bagging
- Árboles débiles como aprendices base
- Tasa de aprendizaje (learning rate)
- Profundidad de árbol en boosting
- Regularización en boosting
- Importancias de características por ganancia
- Manejo de clases desbalanceadas
- Interpretabilidad parcial (partial dependence)
- Overfitting en boosting agresivo
- Uso industrial en tabular prediction
 
- Selección de variables y feature engineering- Creación de variables agregadas
- Variables cruzadas (feature crosses)
- Transformaciones log, box-cox, binning
- Encoding categórico (one-hot, target encoding)
- Selección basada en importancia del modelo
- Selección basada en estabilidad temporal
- Eliminación de leakage
- Ingeniería de variables temporales (lags, rolling stats)
- Normalización / estandarización
- Documentación y gobierno de features
 
- Balanceo de clases y manejo de desbalance extremo- Reponderación de clases (class weights)
- Submuestreo de la clase mayoritaria
- Sobremuestreo de la clase minoritaria
- SMOTE y variantes
- Métricas robustas al desbalance (PR AUC)
- Ajuste de umbral de decisión
- Cost-sensitive learning
- Riesgo regulatorio en falsos negativos/positivos
- Evaluación por subpoblaciones
- Monitoreo del desbalance en el tiempo
 
- Clustering (k-means, jerárquico, DBSCAN)- k-means y su objetivo
- Elección de k (inercia, silhouette)
- Inicialización (k-means++)
- Clustering jerárquico y dendrogramas
- Distancias y enlaces (linkage)
- DBSCAN y densidad
- Ruido y puntos frontera
- Clusters de forma arbitraria
- Escalamiento a datasets grandes
- Uso en segmentación de clientes
 
- Modelos de mezcla y clustering probabilístico- Modelos de mezcla gaussiana
- Expectation-Maximization (EM)
- Soft clustering vs hard clustering
- Estimación de densidad
- Selección del número de componentes (BIC/AIC)
- Interpretación probabilística de pertenencia
- Mezclas no gaussianas
- Mezclas para datos categóricos
- Mezclas en series temporales
- Limitaciones en alta dimensión
 
- Reducción de dimensionalidad (PCA, t-SNE, UMAP)- PCA lineal y varianza explicada
- Componentes principales interpretables
- Efecto de escalamiento previo
- t-SNE para visualización
- UMAP y preservación de estructura local
- Ruido vs señal en alta dimensión
- Compresión de features
- Preprocesamiento para clustering
- Reducción para visualización ejecutiva
- Pérdida de interpretabilidad
 
- Detección de anomalías y outliers- Modelos estadísticos univariados
- Distancia en espacio de features
- Isolation Forest
- Local Outlier Factor
- Modelos de densidad
- Anomalías en series temporales
- Uso en fraude y seguridad
- Trade-off sensibilidad vs falsas alarmas
- Validación humana de alertas
- Adaptación a nuevos patrones de ataque
 
- Series temporales con ML tradicional (ARIMA, SARIMA, Holt-Winters, VAR)- Estacionariedad y diferenciación
- Estacionalidad y SARIMA
- Holt-Winters (tendencia y estacionalidad suave)
- VAR para multivariado
- Selección de retardos (lags)
- Métricas de forecasting (MAPE, sMAPE, MASE)
- Roll-forward vs entrenamiento global
- Drift de comportamiento en el tiempo
- Forecast con intervención externa
- Interpretación operativa del pronóstico
 
- Forecasting de demanda y predicción multihorizonte- Predicción a corto vs largo plazo
- Horizonte rodante
- Forecast por segmento / categoría
- Efectos calendario (festivos, campañas)
- Incertidumbre en la predicción
- Predicción probabilística (quantile forecasting)
- Coste de sobrestock vs quiebre de stock
- Agregación jerárquica de pronósticos
- Evaluación financiera del error
- Integración con planeación operativa
 
- AutoML y búsqueda de hiperparámetros / arquitecturas- Búsqueda aleatoria vs grid search
- Optimización bayesiana de hiperparámetros
- Selección automática de modelos candidatos
- Selección automática de features
- Ensamblado automático de pipelines
- Neural Architecture Search (NAS)
- Meta-aprendizaje
- Benchmarks internos de calidad
- Coste computacional y límites prácticos
- Riesgos de caja negra y reproducibilidad
 
- Aprendizaje semisupervisado y débilmente supervisado- Pseudo-etiquetado
- Consistency regularization
- Self-training iterativo
- Weak supervision con reglas heurísticas
- Datasets ruidosos pero masivos
- Reducción de costo de etiquetado humano
- Transferencia entre dominios
- Detección de etiquetas contradictorias
- Evaluación sin gold standard perfecto
- Uso industrial en fraude y moderación
 
 
- Regresión lineal y logística
- Evaluación de modelos y diseño experimental - Partición train/valid/test y validación cruzada- Hold-out simple
- K-fold cross-validation
- Stratified sampling
- Time series split
- Validación anidada (nested CV)
- Fugas temporales en series
- Leakage por usuario
- Conjuntos de test bloqueados
- Reutilización indebida del test set
- Reproducibilidad de splits
 
- Métricas de regresión, clasificación y ranking (ROC, PR, F1, calibración)- RMSE / MAE para regresión
- Accuracy y sus límites
- Precision, recall y F1
- Curva ROC y AUC
- Curva PR y utilidad en clases raras
- Calibración de probabilidades
- Métricas top-K y ranking
- Métricas orientadas a negocio (costo esperado)
- Métricas por subgrupo (fairness)
- Métricas en tiempo real vs batch
 
- Umbrales de decisión y coste esperado- Trade-off falso positivo / falso negativo
- Optimización de umbral por métrica de negocio
- Curva precision-recall como guía de umbral
- Expected value of a prediction
- Cost-sensitive classification
- Umbrales dinámicos según contexto
- Riesgo regulatorio en cierto tipo de error
- Calibración dependiente del segmento
- Aprobación humana en casos borde
- Explicabilidad del umbral ante negocio
 
- Interpretabilidad local y global (importancia de características, SHAP/LIME)- Importancia global de variables
- Dependencia parcial (PDP)
- SHAP para atribución local
- LIME para explicaciones locales aproximadas
- Explicaciones contrafactuales
- Interacciones entre variables
- Transparencia vs performance
- Explicaciones para auditores / regulador
- Explicabilidad en tiempo real al usuario final
- Riesgo de revelar información sensible
 
- Data leakage y fugas de información- Variables que usan información del futuro
- Variables derivadas de la etiqueta
- Variables casi duplicadas de la etiqueta
- Mezcla de usuarios entre train y test
- Mezcla de períodos históricos
- Variables altamente agregadas sin control temporal
- Fugas en feature stores compartidos
- Fugas entre entornos de entrenamiento y producción
- Cómo detectarlo con auditoría de features
- Impacto en métricas infladas artificialmente
 
- Robustez frente a ruido, datos faltantes y cambios de distribución- Evaluación bajo perturbaciones controladas
- Robustez a outliers
- Robustez a imputación agresiva
- Evaluación en subpoblaciones raras
- Shift de dominio (domain shift)
- Shift de concepto (concept drift)
- Adversarial noise básico
- Estabilidad entre réplicas del modelo
- Estimación de incertidumbre en predicción
- Plan de mitigación si el modelo se degrada
 
- A/B testing y experimentación controlada- Grupo control vs treatment
- Aleatorización y estratificación
- Duración mínima del experimento
- Peeking y sesgo temporal
- Métrica primaria y métricas secundarias
- Spillover entre tratamientos
- Pruebas multivariantes (A/B/n)
- Efectos en subsegmentos
- Coste de oportunidad de una variante mala
- Decisión de rollout basada en evidencia
 
- Modelos descriptivos / diagnósticos / predictivos / prescriptivos- Qué pasó (descriptivo)
- Por qué pasó (diagnóstico)
- Qué va a pasar (predictivo)
- Qué deberíamos hacer (prescriptivo)
- Sistemas de alerta temprana
- Priorización de leads / casos
- Sugerencia de acción próxima
- Optimización bajo restricción de recursos
- Medición del impacto real de la acción
- Integración con la operación diaria
 
- Análisis causal aplicado y uplift modeling en producto- Modelos de uplift individual
- Asignación diferencial de tratamiento
- Heterogeneidad del efecto de tratamiento
- Segmentos de alto impacto incremental
- Evitar targeting de usuarios que igual iban a convertir
- Riesgo ético en targeting selectivo
- Evaluación retrospectiva (post-hoc)
- Validación con experimentos A/B
- Comunicación de impacto incremental al negocio
- Uso en marketing, retención y pricing
 
- Detección temprana de degradación (drift de datos y drift de concepto)- Monitoreo de distribución de entrada
- Monitoreo de distribución de salida
- Detección de drift de etiquetas
- Alarmas de performance bajo umbral
- Degradación localizada en un segmento
- Alertas operativas automáticas
- Re-entrenamiento gatillado por drift
- Validación previa al redeploy
- Rollback seguro
- Documentación del incidente de modelo
 
- Aprendizaje en línea y adaptación continua- Entrenamiento incremental
- Actualización de pesos sin reentrenar desde cero
- Feature stores en streaming
- Manejo de concepto cambiante
- Modelos que evolucionan con el usuario
- Riesgo de deriva hacia sesgos
- Métricas en near-real-time
- Seguridad ante inyección maliciosa de datos
- Retención de conocimiento útil antiguo
- Validación continua en producción
 
- Aprendizaje activo (el modelo pide etiquetas donde tiene más incertidumbre)- Estrategias de muestreo por incertidumbre
- Estrategias de muestreo por desacuerdo entre modelos
- Priorización de ejemplos “difíciles”
- Reducción de costo de etiquetado humano
- Bucle humano-en-el-loop
- Mejora dirigida en métricas críticas
- Foco en clases raras / fraude
- Curación progresiva del dataset
- Evaluación del beneficio marginal de cada etiqueta nueva
- Riesgo de sesgar el dataset con feedback iterativo
 
 
- Partición train/valid/test y validación cruzada
- Deep Learning: fundamentos - Neuronas artificiales y perceptrón multicapa- Neurona lineal y función de activación
- Perceptrón simple y límite de separación lineal
- Perceptrón multicapa (MLP)
- Capas ocultas y capacidad de aproximación universal
- Tamaño de capa vs capacidad del modelo
- Arquitecturas totalmente conectadas
- Normalización de entrada
- Saturación de activaciones clásicas (sigmoid/tanh)
- Vanishing gradient en redes profundas
- Relación con regresión logística y softmax
 
- Redes densas feed-forward- Capas lineales encadenadas
- Bloque lineal + no lineal como unidad básica
- Profundidad vs ancho
- Funciones de activación modernas (ReLU y variantes)
- Batch-wise training
- Regularización con dropout en capas densas
- Normalización entre capas
- Inicialización adecuada para redes profundas
- Capacidad de memorizar vs generalizar
- Límites en datos estructurados/tabulares
 
- Funciones de activación y normalización- Sigmoid y saturación
- tanh y centrado en cero
- ReLU y variantes (LeakyReLU, GELU)
- Softmax para clasificación multiclase
- Batch Normalization
- Layer Normalization
- Normalización como estabilizador de gradientes
- Efecto en velocidad de convergencia
- Normalización como regularización implícita
- Normalización vs residual connections
 
- Retropropagación del gradiente- Derivadas en capas encadenadas
- Regla de la cadena en alta dimensión
- Forward pass vs backward pass
- Cálculo eficiente con grafos computacionales
- Vanishing / exploding gradients
- Clipping de gradiente
- Retropropagación en redes recurrentes
- Retropropagación en arquitecturas con saltos residuales
- Autograd y frameworks modernos
- Coste computacional y memoria
 
- Inicialización de pesos y estabilidad numérica- Inicialización aleatoria uniforme vs normal
- Xavier/Glorot initialization
- He initialization para ReLU
- Simetría rota entre neuronas
- Escalamiento adecuado por capa
- Profundidad y degradación del gradiente
- Efecto de la inicialización en la velocidad de convergencia
- Semillas aleatorias y reproducibilidad
- Precisión numérica (float32, float16, bfloat16)
- Estabilidad en hardware acelerado (GPU/TPU)
 
- Regularización en redes neuronales (dropout, weight decay)- Dropout como ruido estructurado
- Weight decay como penalización L2
- Early stopping
- Data augmentation
- Label smoothing
- Mixup y variantes
- Normalización como regularización implícita
- Sparsity inducida
- Control de sobreajuste en datasets pequeños
- Impacto en interpretabilidad
 
- Ajuste de hiperparámetros en redes profundas- Learning rate y schedulers
- Tamaño de batch
- Elección de optimizador (SGD, Adam, AdamW)
- Profundidad y ancho de la red
- Dropout rate y regularización
- Número de épocas
- Warmup de learning rate
- Grid search vs búsqueda bayesiana
- Tuning específico por tarea (visión, NLP)
- Tuning bajo restricción de cómputo
 
- Funciones de pérdida para clasificación y regresión- Cross-entropy (clasificación multiclase)
- Binary cross-entropy (clasificación binaria)
- Softmax + NLLLoss
- MSE / MAE (regresión)
- Huber / Smooth L1
- Triplet loss y contrastive loss
- Focal loss para clases desbalanceadas
- Pérdidas orientadas a ranking
- Pérdidas multitarea
- Pérdidas personalizadas por negocio
 
 
- Neuronas artificiales y perceptrón multicapa
- Arquitecturas profundas avanzadas - Redes convolucionales (CNN) para visión- Convolución como extracción local de patrones
- Filtros / kernels y canales
- Receptive field y profundidad
- Invariancia traslacional
- Arquitecturas clásicas (LeNet, AlexNet)
- Arquitecturas modernas (ResNet, EfficientNet)
- BatchNorm en visión
- Data augmentation en visión
- Entrenamiento con datasets grandes vs pequeños
- Transfer learning en visión
 
- Pooling, padding y bloques tipo ResNet- Max pooling vs average pooling
- Stride y downsampling espacial
- Padding y preservación de tamaño
- Problema del gradiente en redes muy profundas
- Saltos residuales (skip connections)
- Bloques básicos y bottleneck blocks
- Normalización dentro del bloque residual
- Profundidad extrema (50+ capas)
- Eficiencia computacional y memoria
- Estabilidad de entrenamiento con residuals
 
- Redes recurrentes (RNN, LSTM, GRU)- Modelado secuencial explícito
- Exploding/vanishing gradients en RNN clásicas
- Celdas LSTM y compuertas
- GRU como versión simplificada
- Estado oculto como memoria
- Procesamiento paso a paso vs batching
- Modelos many-to-one / many-to-many
- Limitaciones en secuencias largas
- Regularización en RNNs (dropout recurrente)
- Aplicaciones en series temporales y texto
 
- Temporal Convolutional Networks- Convoluciones causales
- Campos receptivos dilatados
- Paralelismo frente a RNN secuenciales
- Estabilidad del gradiente en secuencias largas
- Predicción multihorizonte
- Uso en forecasting temporal
- Aplicación en señales industriales
- Comparación con LSTM
- Limitaciones con dependencias muy largas
- Híbridos TCN + atención
 
- Mecanismos de atención y self-attention- Atención como ponderación contextual
- Query, Key, Value
- Atención escalada por producto punto
- Multi-Head Attention
- Atender largas secuencias
- Atención causal vs bidireccional
- Atención cruzada (cross-attention)
- Coste cuadrático y variantes eficientes
- Interpretabilidad de mapas de atención
- Atención en visión y audio
 
- Transformers y arquitecturas encoder-decoder- Encoder puro (BERT-like)
- Decoder puro (GPT-like)
- Encoder-decoder (T5, seq2seq moderna)
- Positional encoding
- Normalización por capa
- Máscaras de atención y control de contexto
- Tareas de completado y traducción
- Scaling law y tamaño de modelo
- Fine-tuning vs prompting
- Limitaciones de contexto
 
- Modelos generativos (autoencoders, GANs, modelos de difusión)- Autoencoder clásico (reconstrucción)
- Autoencoder variacional (VAE)
- Latent space continuo
- GANs: generador vs discriminador
- Inestabilidad de entrenamiento en GANs
- Difusión directa e inversa (denoising diffusion)
- Control de estilo y condicionamiento
- Generación de imagen y audio
- Deepfakes y ética de generación
- Métricas de calidad generativa (FID, IS)
 
- Modelos multimodales (imagen-texto, audio-texto, fusión sensorial)- Alineamiento entre modalidades (CLIP-style)
- Representaciones compartidas entre texto e imagen
- Audio-texto y ASR neuronal
- Video + texto + contexto temporal
- Fusión sensorial (imagen + LiDAR)
- Aprendizaje contrastivo multimodal
- grounding en el mundo físico
- Captura de contexto situacional
- Limitaciones de sesgo modal
- Aplicaciones en robótica y percepción autónoma
 
 
- Redes convolucionales (CNN) para visión
- Transfer learning, auto-supervisión y modelos fundacionales - Transfer learning clásico (pre-entrenar y ajustar)- Fine-tuning completo vs capas congeladas
- Reutilización de features visuales
- Adaptación de modelos de texto a dominios específicos
- Reaprovechamiento en datasets pequeños
- Catastrophic forgetting al ajustar demasiado
- Selección de capa de corte
- Adaptación de salida (head) a nueva tarea
- Curva de datos requeridos vs tamaño del modelo
- Riesgos de overfitting en dominios niche
- Métricas para validar transferencia exitosa
 
- Aprendizaje auto-supervisado (contrastive, enmascarado, predicción de la siguiente parte)- Pretexto sin etiquetas humanas
- Masked language modeling
- Contrastive learning (SimCLR, InfoNCE)
- Predict-the-next-token
- Bootstrap sin negativos explícitos
- Pre-entrenamiento en visión sin etiquetas
- Representaciones invariantes a augmentations
- Reducción del costo de etiquetado
- Generalización a múltiples tareas downstream
- Limitaciones por sesgos del corpus
 
- Modelos fundacionales y LLMs como base generalista- Escalamiento de parámetros y datos
- Capacidades emergentes
- In-context learning
- Razonamiento encadenado (chain-of-thought, a alto nivel)
- Uso como motor semántico general
- Adaptación a múltiples tareas sin reentrenar
- Riesgos de alucinación
- Riesgos de filtrado de datos sensibles
- Dependencia de infraestructura grande
- Impacto en ciclos de desarrollo de productos
 
- Fine-tuning eficiente (LoRA, adapters, distillation)- LoRA y baja-rango en matrices de atención
- Adapters como capas insertables
- Pocas actualizaciones de pesos (PEFT)
- Distillation professor-student
- Compresión de modelos grandes a modelos ligeros
- Coste de inferencia reducido
- Ajuste rápido por cliente / vertical
- Reentrenamiento frecuente con poco cómputo
- Preservación del conocimiento base
- Riesgos de degradación de calidad
 
- Continual learning y olvido catastrófico- Catastrophic forgetting en ajuste secuencial
- Regularización para retener conocimiento previo
- Rehearsal y memoria episódica
- Métodos basados en importancia de parámetros
- Adaptación incremental de dominio
- Lifelong learning
- Aprendizaje personalizable por usuario
- Control de deriva semántica
- Riesgos de sesgo temporal
- Métricas para medir retención vs adaptación
 
 
- Transfer learning clásico (pre-entrenar y ajustar)
- Lenguaje natural, recuperación aumentada y agentes - Representaciones de texto (TF-IDF, embeddings)- Bolsa de palabras y conteo de términos
- TF-IDF como ponderación de relevancia
- Word embeddings densos (word2vec, GloVe)
- Subword embeddings
- Contextual embeddings (transformers)
- Espacios semánticos y similitud coseno
- Reducción de dimensionalidad en texto
- Detección de sinónimos / relaciones semánticas
- Limitaciones en polisemia
- Sesgos lingüísticos en embeddings
 
- Modelos de lenguaje (n-gramas, RNNs, Transformers)- Modelos de n-gramas y probabilidad condicional
- Suavizado (smoothing) en n-gramas
- Modelos recurrentes para texto
- Atención en secuencias largas
- Transformers autoregresivos
- Modelos enmascarados tipo BERT
- Perplejidad como métrica de calidad
- Modelos generativos vs clasificadores
- Control de estilo / tono
- Costos de entrenamiento de LM
 
- Modelos de lenguaje grandes (LLMs) y alineación básica- Instrucción y ajuste con feedback humano
- RLHF (refuerzo con feedback humano) a alto nivel
- Seguridad y filtrado de output
- Mitigación de toxicidad y bias
- Control de tono institucional / compliance
- Control de alucinaciones
- Uso como asistente interno especializado
- Riesgos de fuga de información confidencial
- Evaluación cualitativa vs cuantitativa
- Evaluación por panel humano
 
- Adaptación de dominio y fine-tuning instruccional- Especialización a un vertical (legal, salud, finanzas)
- Ajuste de vocabulario técnico
- Ajuste de estilo y formato de salida
- Incorporación de políticas internas
- Inyección de documentación propietaria
- Control de tono hacia cliente final
- Personalización por segmento de usuario
- Mitigación de contradicciones internas
- Evaluación con datos de dominio
- Riesgos legales de datos sensibles
 
- Resumen automático, QA, NER y extracción de información- Resumen extractivo vs abstractivo
- Pregunta-respuesta factual
- QA abierta vs QA cerrada a un corpus
- Reconocimiento de entidades (NER)
- Relación entre entidades (RE)
- Extracción de eventos
- Clasificación de intención
- Detección de sentimiento / toxicidad
- Evaluación de precisión factual
- Uso en automatización operativa
 
- Recuperación aumentada de contexto (búsqueda semántica, RAG)- Indexación vectorial
- Similaridad semántica
- Recuperación de contexto relevante
- Inyección de contexto en el prompt
- Grounding en datos internos
- Actualización sin reentrenar el modelo base
- Control de alucinación vía evidencia recuperada
- Privacidad y control de acceso al corpus
- Latencia de recuperación vs latencia de respuesta
- Trazabilidad y citabilidad de la respuesta
 
- Orquestación de agentes que usan herramientas externas (tool-use)- LLM como planificador de alto nivel
- Llamadas a APIs externas
- Razonamiento paso a paso condicionado por feedback
- Recuperación iterativa de información
- Acciones autónomas con confirmación humana
- Enrutamiento de consultas a la herramienta correcta
- Memoria a corto plazo del agente
- Memoria a largo plazo del agente
- Rastreabilidad de decisiones del agente
- Riesgos de acción no autorizada
 
- Seguridad y alucinación- Alucinación factual
- Respuesta inventada con tono seguro
- Inyección de prompt maliciosa
- Jailbreaks y extracción de instrucciones internas
- Filtrado de respuestas sensibles
- Controles de compliance en entornos regulados
- Limitación de alcance (scoping) del agente
- Reducción de fuga de datos internos
- Métricas de seguridad de output
- Auditoría humana continua
 
 
- Representaciones de texto (TF-IDF, embeddings)
- Visión computacional y aprendizaje en grafos - Aumentación y preprocesamiento de imágenes- Normalización y estandarización de píxeles
- Aumentación geométrica (rotar, escalar, recortar)
- Aumentación fotométrica (brillo, contraste, ruido)
- Aumentación específica de dominio (defectos industriales, clima)
- Balanceo de clases mediante aumentación
- Redimensionamiento y recorte consistente
- Limpieza de datos corruptos / etiquetado dudoso
- Preprocesamiento para inferencia en tiempo real
- Data augmentation agresiva vs estabilidad del modelo
- Estandarización de pipelines de preprocesamiento
 
- Clasificación, detección y segmentación de objetos- Clasificación de imagen completa
- Localización con bounding boxes
- Detección de objetos (one-stage vs two-stage)
- Segmentación semántica
- Segmentación instancia y panóptica
- Métricas tipo IoU / mAP
- Manejo de clases raras y objetos pequeños
- Inferencia en tiempo real (cámaras, móviles)
- Uso en visión industrial / inspección
- Tracking de objetos persistentes
 
- Visión 3D, nubes de puntos y seguimiento en video- Nubes de puntos (LiDAR, depth cameras)
- Reconstrucción 3D aproximada
- Estimación de pose 3D
- Estimación de flujo óptico y movimiento
- Seguimiento multi-objeto en video
- Percepción para conducción autónoma / robótica
- Representaciones voxel vs point-based
- Limpieza de ruido en sensores físicos
- Sincronización de frames y sensores
- Métricas de estabilidad temporal
 
- Fusión sensorial (imagen + LiDAR)- Calibración entre sensores
- Sincronización temporal multi-sensor
- Proyección de nube de puntos al espacio imagen
- Late fusion vs early fusion
- Representaciones multimodales compartidas
- Manejo de sensores faltantes / degradados
- Detección robusta en condiciones adversas (noche, lluvia)
- Redundancia para seguridad
- Uso en robótica móvil y vehículos autónomos
- Coste computacional en el borde (edge)
 
- Representación de grafos (nodos, aristas, atributos)- Grafos homogéneos y heterogéneos
- Grafos dirigidos vs no dirigidos
- Atributos en nodos y aristas
- Subgrafos y vecindarios k-hop
- Caminos, ciclos y conectividad
- Embeddings iniciales de nodos
- Grafos dinámicos / temporales
- Desbalance de grado y hubs
- Normalización estructural
- Coste de muestrear vecindarios grandes
 
- Redes neuronales en grafos (message passing, GCN, GAT)- Message passing neural networks
- GCN (Graph Convolutional Networks)
- GAT (Graph Attention Networks)
- Pooling en grafos
- Graph readout global
- Grafos inducidos por similitud
- Grafos espaciotemporales
- Escalabilidad a grafos gigantes
- Over-smoothing en capas profundas
- Regularización estructural
 
- Aplicaciones en química, fraude, redes sociales y recomendación- Predicción de propiedades moleculares
- Descubrimiento de fármacos
- Detección de fraude transaccional
- Detección de comunidades y colusión
- Recomendación basada en grafo usuario-item
- Análisis de influencia social
- Moderación y seguridad en plataformas
- Detección de bots y actividad coordinada
- Análisis de conectividad crítica (infraestructura)
- Ranking contextualizado por red social
 
 
- Aumentación y preprocesamiento de imágenes
- Series de tiempo avanzadas y señales - Estacionalidad, tendencia y descomposición- Descomposición aditiva vs multiplicativa
- Tendencia a largo plazo
- Efectos estacionales fijos y móviles
- Efectos calendario (fines de semana, festivos)
- Cambios estructurales y rupturas
- Señales de saturación / madurez
- Ajuste estacional previo al modelado
- Reversión de tendencia (ciclos)
- Interpretación de estacionalidad ante negocio
- Comparación entre segmentos o regiones
 
- Forecasting probabilístico y multihorizonte- Predicción puntual vs distribución completa
- Intervalos de predicción y cuantiles
- Predicción a distintos horizontes (1h, 24h, 7d)
- Forecast jerárquico (categoría → producto)
- Forecast agregable por región / canal
- Penalización por sobreestimación vs subestimación
- Métricas (MAPE, sMAPE, MASE)
- Ensembles de modelos de forecasting
- Validación temporal rolling-origin
- Evaluación financiera del error de forecast
 
- Detección de anomalías en tiempo real- Umbrales dinámicos dependientes del contexto
- Modelos de predicción + error residual
- Señales multivariantes correlacionadas
- Alertas tempranas vs ruido operativo
- Confirmación humana en loop
- Priorización según impacto
- Reducción de falsas alarmas
- Persistencia de anomalía vs pico aislado
- Anomalías estacionales esperables
- Auditoría y etiquetado continuo de eventos raros
 
- Transformers temporales y predicción secuencial multivariante- Atención en series largas
- Manejo de múltiples variables simultáneas
- Encoding temporal / posicional para tiempo continuo
- Predicción multihorizonte con un solo modelo
- Captura de dependencias no lineales complejas
- Manejo de datos faltantes en streams
- Regularización en tareas con poco histórico
- Transferencia entre series similares
- Coste de inferencia en tiempo real
- Interpretabilidad de atención temporal
 
- Monitoreo operacional en streaming (alertas, SLA de detección)- Ingesta de datos en vivo
- Extracción de features en línea
- Inferencia en baja latencia
- Alarmas automáticas y escalamiento
- SLAs de detección y respuesta
- Trazabilidad de incidentes
- Versionado de reglas / modelos en producción
- Re-entrenamiento continuo con datos recientes
- Métricas near-real-time para negocio
- Integración con dashboards y on-call
 
 
- Estacionalidad, tendencia y descomposición
- Aprendizaje por refuerzo y control - Formulación MDP (estados, acciones, recompensas)- Estado, observación y estado parcial
- Política como función de decisión
- Retorno descontado
- Recompensas escasas vs denso-recompensadas
- Horizonte finito vs infinito
- Exploración vs explotación
- Determinístico vs estocástico
- Entornos simulados vs reales
- Modelos off-policy vs on-policy
- Ingeniería de la recompensa
 
- Métodos tabulares (Q-Learning, SARSA)- Tabla Q como aproximación de valor acción-estado
- Actualización incremental de Q
- ε-greedy como política exploratoria
- SARSA vs Q-Learning
- Convergencia en espacios pequeños
- Limitaciones en espacios grandes / continuos
- Trade-off velocidad / exploración
- Variantes con decaimiento de ε
- Ruido en la estimación de valor
- Problemas clásicos tipo gridworld
 
- Deep Q-Networks (DQN)- Aproximación con red neuronal del valor Q
- Replay buffer
- Target network
- Estabilidad de entrenamiento
- Generalización entre estados parecidos
- Acción discreta vs continua
- DQN extendido (Double DQN, Dueling DQN)
- Sample efficiency
- Escalado a entornos complejos (juegos, control)
- Riesgos de sobreajuste al simulador
 
- Policy Gradient y actor-critic (PPO)- Optimizar la política directamente
- Gradiente de la expectativa de retorno
- Variancia alta del estimador
- Baselines y reducción de varianza
- Actor-critic (actor actualiza política, critic evalúa)
- PPO (Proximal Policy Optimization)
- Restricción de actualización para estabilidad
- Continuous control y acciones continuas
- Sample efficiency en tareas físicas
- Robustez frente a pequeñas perturbaciones
 
- Control continuo y robótica- Espacios de acción continuos
- Control motor fino
- Políticas reactivas vs planeamiento
- Imitation learning / behavioral cloning
- Sim2Real (transferencia simulador → mundo real)
- Seguridad física y límites de fuerza
- Retroalimentación sensorial ruidosa
- Latencia y control en tiempo real
- Fallos catastróficos y fallback seguro
- Optimización energética y eficiencia mecánica
 
- Multiagente y coordinación- Juegos de suma cero vs cooperación
- Políticas independientes vs coordinadas
- Comunicación explícita entre agentes
- Equilibrios y estrategias estables
- Transferencia de políticas entre agentes
- Escalamiento con número de agentes
- Incentivos mal diseñados (colusión, abuso)
- Credit assignment multiagente
- Emergencia de roles especializados
- Aplicaciones en logística y sistemas distribuidos
 
- Seguridad, exploración controlada y alineación en RL- Exploración segura en entornos físicos
- Restricciones duras (safety constraints)
- Penalización de acciones peligrosas
- Protección frente a recompensas mal definidas
- Catastrophic actions y apagado seguro
- Interpretabilidad de la política aprendida
- Supervisión humana en el loop
- Especificación de objetivos alineados
- Fallos éticos en entornos sociales simulados
- Transferencia a entornos reales regulados
 
 
- Formulación MDP (estados, acciones, recompensas)
- Sistemas de recomendación y personalización - Segmentación de usuarios y clustering aplicado- Segmentación demográfica
- Segmentación por comportamiento de uso
- Segmentación por valor económico
- Segmentación por riesgo / churn
- Clustering clásico (k-means) aplicado a usuarios
- Cohortes temporales
- Microsegmentación dinámica
- Actualización periódica vs en línea
- Privacidad e identificación indirecta
- Uso para campañas y targeting
 
- Filtrado colaborativo y factorización matricial- Matriz usuario–ítem
- Relleno de entradas faltantes
- Descomposición en factores latentes
- SVD y variantes implícitas
- Cold start de usuarios nuevos
- Cold start de ítems nuevos
- Sesgos de popularidad
- Regularización de factores
- Evaluación tipo top-N recomendados
- Escalamiento a catálogos grandes
 
- Modelos basados en contenido y señales de contexto- Perfilado del ítem (tags, texto, metadata)
- Perfilado del usuario (historial, preferencias)
- Contexto temporal (hora del día, estacionalidad)
- Contexto espacial / geográfico
- Contexto del dispositivo / canal
- Recomendación contextualizada
- Explicabilidad basada en atributos
- Sesgo de exposición (lo que muestras condiciona lo que clickean)
- Personalización sensible a la situación
- Riesgos de filtrado burbuja
 
- Ranking, CTR prediction y métricas top-K- Modelos de predicción de probabilidad de clic (CTR)
- Score de relevancia
- Ordenar resultados como problema de ranking
- Métricas top-K (recall@K, precision@K)
- Diversidad vs precisión pura
- Serendipia y novedad
- Calibración de la probabilidad de clic
- Positional bias y corrección
- Aprendizaje a partir de feedback implícito
- Evaluación online vs offline en recomendación
 
- Recomendadores secuenciales y en tiempo real- Modelado de la secuencia de interacción
- RNN / Transformers para sesiones de usuario
- Predicción del próximo ítem
- Recomendación contextual en vivo
- Latencia extrema (ms-level)
- Actualización continua de embeddings de usuario
- Multi-armed bandits para exploración
- Protección contra loops de auto-refuerzo
- Detección de comportamiento fraudulento
- Escalamiento en catálogos masivos y rotación rápida
 
- Personalización dinámica en producto- Contenido dinámico por usuario
- Reordenamiento de UI / feed personalizado
- Ofertas / precios personalizados
- Priorización de alertas / notificaciones
- Experiencias adaptativas (onboarding inteligente)
- Recomendación contextual en distintas superficies (web, móvil, correo)
- Controles de usuario (opt-out, afinamiento manual)
- Riesgos regulatorios en personalización
- Impacto en métricas de retención y conversión
- Auditoría de sesgo y trato diferencial
 
- Interpretabilidad y explicabilidad para equipos de negocio- “Te recomendamos esto porque…”
- Destacar atributos relevantes del ítem
- Transparencia regulatoria (por qué recibí esta oferta)
- Explicar ranking a stakeholders no técnicos
- Métricas de salud del sistema de recomendación
- Fairness entre segmentos de usuarios
- Auditoría de auto-refuerzo de contenido
- Riesgo reputacional de malas sugerencias
- Controles humanos sobre recomendaciones críticas
- Documentación y accountability del motor de recomendación
 
 
- Segmentación de usuarios y clustering aplicado
- Ingeniería de datos y plataformas de datos - Modelado analítico orientado a negocio- Identificación de métricas clave del negocio
- Modelos de datos centrados en preguntas reales
- Definición única de verdad (single source of truth)
- KPI operativos vs KPI estratégicos
- Métricas derivadas vs métricas fundamentales
- Trazabilidad desde métrica hasta tabla origen
- Diseño pensando en stakeholders no técnicos
- Versionado semántico de métricas
- Alineación entre analítica y reporting financiero
- Gobierno de definiciones métricas
 
- Modelado dimensional (hechos y dimensiones)- Tablas de hechos (transacciones, eventos)
- Tablas de dimensiones (quién, qué, dónde)
- Dimensiones lentamente cambiantes (SCD)
- Granularidad de los hechos
- Métricas aditivas, semiaditivas y no aditivas
- Conformidad de dimensiones entre dominios
- Join patterns estándar
- Minimizar duplicación en data marts
- Documentación de llaves de negocio
- Impacto del modelado dimensional en performance BI
 
- Data warehouse, data lakes y lakehouses- Almacén estructurado vs repositorio crudo
- ETL hacia warehouse vs ELT en lake
- Lakehouse como capa unificada
- Tablas gobernadas vs zonas “raw”
- Gestión de esquemas en zonas crudas
- Costos de almacenamiento vs costos de consulta
- Seguridad y acceso por capa
- Uso analítico vs uso ML
- Catálogo centralizado de datasets productivos
- Evolución histórica de warehouse → lake → lakehouse
 
- Formatos columnares y almacenamiento orientado a análisis- Columnar vs row-oriented
- Formatos tipo Parquet / ORC
- Compresión y particionamiento
- Pruning de columnas para queries analíticas
- Z-Ordering / clustering físico
- Almacenamiento frío vs caliente
- Trade-off costo/latencia acceso
- Indexación secundaria
- Time-partitioned tables
- Impacto en costos de exploración ad-hoc
 
- Catálogo de datos, linaje y descubribilidad- Metadatos técnicos y de negocio
- Quién usa qué tabla
- Linaje columna a columna
- Búsqueda semántica de datasets
- Clasificación de sensibilidad
- Owners y stewards de datos
- Calidad declarada vs medida
- Deprecación y archivado controlado
- Auditoría de accesos
- Discovery self-service para analistas
 
- Gobernanza de acceso y control de permisos- Control de acceso basado en roles
- Enmascaramiento de columnas sensibles
- Segmentación por dominio/área de negocio
- Separación entre ambientes (dev / prod)
- Auditoría de consultas sensibles
- Acceso temporal / Just-In-Time
- Revocación automatizada
- Registros de cumplimiento normativo
- Data sharing interno controlado
- Data sharing externo (partners, clientes)
 
- Retención, archivado y ciclo de vida de los datos- Políticas de retención legal
- Borrado seguro / derecho al olvido
- Datos fríos / históricos vs datos activos
- Archivado en capas de bajo costo
- Snapshots históricos para auditoría
- Versiones congeladas para reproducibilidad
- Limpieza de datos obsoletos
- Riesgos regulatorios por sobre-retención
- Impacto en costos de almacenamiento largo plazo
- Estrategias de restore ante incidentes
 
- Integración con herramientas de BI y tableros ejecutivos- Dashboards operativos vs ejecutivos
- Métrica única y consistente entre tableros
- Control de acceso a dashboards sensibles
- Alertas automáticas y umbrales
- Versionado de dashboards
- Catálogo de reportes oficiales
- Autoservicio para analistas
- Storytelling visual para directores
- Paneles regulatorios / auditoría
- Métricas en “tiempo casi real” para negocio
 
- Exposición de datos como servicio (APIs analíticas)- APIs para consumo analítico interno
- Limitar filtrado pesado en cliente
- Agregaciones precomputadas
- Controles de acceso por token / rol
- Cuotas y rate limiting
- Versionado de endpoints
- Estabilidad contractual de la respuesta
- Auditoría de uso de APIs
- Latencia objetivo de las respuestas
- Exposición de features a sistemas ML online
 
- ETL / ELT y pipelines reproducibles y declarativos- Extracción desde fuentes heterogéneas
- Transformaciones determinísticas
- Declaratividad vs scripting imperativo
- Infra como código para pipelines
- Control de versiones del pipeline
- Idempotencia de tareas
- Gestión de dependencias entre pasos
- Rollback de pipelines defectuosos
- Auditoría de ejecuciones
- Testing automatizado de transformaciones
 
- Procesamiento batch a gran escala- Ingesta nocturna / periódica
- Ventanas de corte (close of business)
- Reprocesamiento histórico
- Control de costos en batch jobs pesados
- Fallos intermedios y reintentos
- Paralelización horizontal
- Orden de dependencia entre jobs
- SLA de disponibilidad de datos batch
- Validación de integridad al final del job
- Publicación de resultados listos para consumo
 
- Procesamiento streaming y datos en flujo continuo- Ingesta en tiempo real (event buses)
- Transformación en streaming
- Computo ventana fija / sliding window
- Estado en streaming (stateful operators)
- Deduplicación en tiempo real
- Aseguramiento “exactly-once” vs “at-least-once”
- Latencia extremo a extremo
- Alertas inmediatas y detección temprana
- Enriquecimiento con datos de referencia
- Publicación a dashboards en vivo
 
- Orquestación de tareas y scheduling de flujos- DAGs de dependencias
- Schedulers declarativos
- Retries y backoff exponencial
- Prioridades de ejecución
- Alertas en falla
- Auditoría de ejecuciones históricas
- Deploy controlado de nuevas versiones de flujo
- Separación de entornos (dev / staging / prod)
- Gobernanza de quién puede editar qué
- Escalamiento horizontal de workers
 
- Optimización y perfilado de pipelines- Perfilado de pasos costosos
- Cuellos de botella de I/O
- Optimización de joins caros
- Reducción de shuffle / movimiento de datos
- Pruning de columnas no usadas
- Indexación / particionamiento adecuado
- Reuso de resultados intermedios cacheados
- Costeo por pipeline / job
- Alertas por degradación de performance
- Budgeting de cómputo por equipo
 
- Pruebas de calidad, contratos de datos y SLAs de datos- Tests de esquema (tipos, nullability)
- Tests de rangos / dominio válido
- Tests de unicidad y llaves
- Tests de completitud mínima
- Alertas por caída de calidad
- Contratos de datos entre equipos (data contracts)
- SLAs de frescura y disponibilidad
- Versiones incompatibles de columnas
- Gestión de breaking changes
- Reportes semanales de salud de datos
 
- Observabilidad de datos (frescura, completitud, anomalías)- Monitoreo de latencia de ingesta
- Monitoreo de tasa de llegada de eventos
- Detección de huecos en datos
- Detección de outliers estadísticos en métricas clave
- Alarmas de ruptura de tendencia
- Panel de salud de tablas críticas
- Auditoría de acceso no esperado
- Alertas de PII fuera de lugar
- Gestión de incidentes de datos
- Postmortems y acciones correctivas
 
- Data mesh y dominios de datos- Dominio de datos como “producto” interno
- Propiedad distribuida por equipo de negocio
- Estándares comunes de calidad y acceso
- SLA de datos por dominio
- Descubribilidad federada
- Interoperabilidad entre dominios
- Gobernanza federada vs centralizada
- Reducción de cuellos de botella del “equipo de datos central”
- Escalamiento organizacional y autonomía
- Riesgos de inconsistencia métrica entre dominios
 
 
- Modelado analítico orientado a negocio
- Big Data y computación distribuida - Concepto de big data (volumen, velocidad, variedad, veracidad, valor)- Volumen: datasets masivos
- Velocidad: ingestión en tiempo casi real
- Variedad: fuentes heterogéneas
- Veracidad: ruido y calidad dudosa
- Valor: utilidad económica real
- Datos estructurados vs logs crudos
- Limitaciones de herramientas tradicionales
- Trade-off latencia vs costo
- Casos que realmente requieren big data
- Antipatrones de “big data por moda”
 
- Arquitecturas distribuidas de datos- Clusters escalables horizontalmente
- Procesamiento paralelo tipo map/shuffle/reduce
- Separación cómputo/almacenamiento
- Elasticidad bajo demanda
- Fault tolerance y replicación
- Balanceo de carga
- Alta disponibilidad
- Consistencia eventual vs fuerte
- Escalamiento multi-región
- Costeo de infraestructura compartida
 
- Sistemas de archivos distribuidos- Almacenamiento en bloques replicados
- Metadatos centralizados vs distribuidos
- Acceso concurrente masivo
- Tolerancia a fallos de nodo
- Localidad de datos y afinidad de tareas
- Jerarquías de almacenamiento (SSD/HDD/objeto)
- Integración con motores de cómputo
- Evolución de HDFS a almacenamiento de objetos
- Control de permisos en almacenamiento distribuido
- Borrado seguro y cumplimiento normativo
 
- Motores de consulta distribuida y SQL distribuido- Procesamiento paralelo de queries
- Pushdown de filtros/proyecciones
- Optimización de planes de ejecución
- Joins distribuidos y shuffle
- Caching intermedio
- Cost-based optimization
- Federated query sobre múltiples fuentes
- Latencia vs throughput
- Aislamiento entre workloads analíticos
- Multitenancy y fairness de recursos
 
- Buses de eventos y colas de mensajería- Publicación/suscripción (pub/sub)
- Particionamiento por clave
- Orden relativo por partición
- Retención por ventana temporal
- Reproceso de historial de eventos
- Backpressure y control de flujo
- Garantías de entrega (at-most-once, at-least-once, exactly-once)
- Monitorización de lag del consumidor
- Aislamiento de productores “ruidosos”
- Integración con pipelines streaming
 
- Procesamiento en tiempo real para decisiones operativas- Enriquecimiento de eventos entrantes con contexto
- Scoring en vivo con modelos ML
- Alertas operativas automáticas
- Detección temprana de fraude / intrusión
- Reacción automática (bloqueo, throttling)
- Monitorización de SLAs operativos
- Dashboards en vivo para turno operativo
- Registro auditable de decisiones en línea
- Sistemas de baja latencia (<100 ms)
- Trade-off precisión vs inmediatez
 
- Integración de telemetría de producto y métricas de negocio a escala- Instrumentación de eventos de uso masivo
- Envío confiable desde clientes distribuidos
- Alineación de datos de producto con datos financieros
- Enriquecimiento con atributos de usuario / cuenta
- Métricas de salud del producto en vivo
- Correlación entre performance técnica y métricas de negocio
- Detección de regresiones tras deploys
- Alertas de caída de engagement
- Visibilidad unificada para producto / datos / operaciones
- Priorización de incidentes según impacto económico
 
 
- Concepto de big data (volumen, velocidad, variedad, veracidad, valor)
- Puesta en producción de modelos (MLOps / LLMOps) - Ciclo de vida del modelo: entrenamiento, validación, despliegue, rollback- Entrenamiento reproducible
- Validación previa al deploy
- Publicación a un entorno de inferencia
- Canary release / lanzamiento gradual
- Rollback seguro y rápido
- Versionado del modelo desplegado
- Gestión de entornos (dev/staging/prod)
- Control de dependencias y librerías
- Documentación del cambio de modelo
- Trazabilidad completa de qué modelo tomó qué decisión
 
- Tracking de experimentos y versionado de artefactos- Registro de hiperparámetros y métricas
- Comparación entre runs
- Registro de datasets usados
- Versionado del código de entrenamiento
- Checkpoints de modelos
- Artefactos de preprocesamiento
- Retención de modelos obsoletos
- Auditoría científica / reproducibilidad
- Firma y certificación de modelos aprobados
- Control de acceso a modelos sensibles
 
- Gestión de características (feature stores)- Definición única y reutilizable de features
- Cálculo batch vs cálculo en línea
- Consistencia train/serve (offline vs online)
- Versionado de features
- Catálogo de features aprobadas
- Control de acceso a features sensibles
- Documentación semántica de cada feature
- Monitoreo de drift por feature
- Latencia de lectura en producción
- Reutilización entre equipos / modelos
 
- Servir modelos en batch y en tiempo real- Scoring batch programado
- Scoring bajo demanda (online inference)
- Endpoints de predicción
- Latencia objetivo por caso de uso
- Escalamiento horizontal / autoscaling
- Tolerancia a fallos del servicio
- Versionado y enrutamiento de modelos
- Logging de requests y respuestas
- Seguridad y control de acceso a inferencia
- Costeo por predicción / por request
 
- Inferencia de baja latencia y costo por predicción- Cuantización de modelos
- Compilación / optimización para hardware específico
- Batch interno para throughput
- Cacheo de resultados frecuentes
- Despliegue en edge / on-device
- Balance entre precisión y latencia
- Trade-off costo cloud vs on-prem
- Timeouts y degradación controlada
- Elasticidad ante picos de tráfico
- Políticas de priorización de requests críticos
 
- Monitorización de deriva y degradación de modelos- Drift de datos de entrada
- Drift de la distribución de predicciones
- Drift de la relación input→output (concept drift)
- Métricas de performance en vivo
- Alarmas de performance bajo umbral
- Evaluación por subpoblación
- Métricas de fairness en producción
- Alertas on-call para incidentes de modelo
- Registro de incidentes y RCA (root cause analysis)
- Plan de respuesta y contención
 
- Retraining continuo y loops de realimentación- Recolección automática de nuevos datos etiquetados
- Curación de ejemplos difíciles
- Retraining programado vs bajo demanda
- Validación automática post-retraining
- Aprobación humana previa al redeploy
- Gestión de versiones consecutivas
- Evitar drift hacia sesgos no deseados
- Limpieza de datos tóxicos / adversarios
- Documentación de cambios de comportamiento
- Evaluación de impacto tras el redeploy
 
- Testing de modelos antes del rollout y validación de seguridad- Tests unitarios de preprocesamiento
- Tests de consistencia de features
- Tests de estabilidad numérica
- Tests de rendimiento en carga
- Tests de fairness / sesgo
- Tests de “no romper métricas clave”
- Evaluación en datos sintéticos adversarios
- Red teaming de prompts / modelos de lenguaje
- Validación legal / compliance
- Firma de aprobación antes de producción
 
- A/B testing en producción y medición de impacto- Traffic splitting entre modelos
- Métrica primaria de éxito
- Monitoreo en vivo del experimento
- Detección de efectos secundarios negativos
- Spillover entre variantes
- Duración mínima confiable
- Decisión de adopción / rollback
- Documentación de resultados
- Comunicación del impacto a negocio
- Reutilización de aprendizajes para próximos lanzamientos
 
- Observabilidad operativa (latencia, throughput, errores)- Métricas de infraestructura (CPU, memoria, GPU)
- Latencia p50 / p95 / p99
- Throughput sostenido vs pico
- Tasa de error / timeouts
- Saturación de colas
- Caídas de dependencia externa
- Alertas en tiempo real
- Dashboards para on-call
- Registro histórico para auditoría
- Priorización de incidentes críticos
 
- SLOs y SLAs para servicios de inferencia- Definición de SLO técnico (latencia, uptime)
- Definición de SLA contractual
- Alertas al romper SLO
- Penalidades por incumplimiento de SLA
- SLOs distintos para clientes internos vs externos
- Aislamiento de workloads críticos
- Planes de contingencia
- Backoff / degradación graciosa
- Escalamiento operativo formal
- Reportes ejecutivos de cumplimiento
 
- Documentación y tarjetas de modelo (model cards)- Descripción de propósito del modelo
- Dataset(s) de entrenamiento y sus sesgos
- Poblaciones donde funciona bien / mal
- Métricas de rendimiento declaradas
- Riesgos conocidos y limitaciones
- Consideraciones éticas y legales
- Requisitos de monitoreo post-despliegue
- Controles humanos requeridos
- Historial de versiones del modelo
- Contacto responsable / ownership claro
 
 
- Ciclo de vida del modelo: entrenamiento, validación, despliegue, rollback
- Escalamiento, eficiencia y despliegue en el borde - Entrenamiento distribuido (data parallelism, model parallelism, sharding)- Paralelismo de datos vs paralelismo de modelo
- Sharding de parámetros y activaciones
- All-reduce y sincronización de gradientes
- Desacople comunicación / cómputo
- Entrenamiento en múltiples GPUs / nodos
- Balance de carga entre workers
- Checkpointing distribuido tolerante a fallos
- Elastic training (recursos que entran/salen)
- Estrategias de escalamiento de lotes (batch size scaling)
- Costos de red como cuello de botella
 
- Mezcla de expertos y arquitecturas escalables- Mezcla de expertos (MoE) dispersa
- Ruteo condicional de tokens / entradas
- Escalar parámetros sin escalar cómputo por token
- Balance de carga entre expertos
- Sparsity estructurada
- Especialización de expertos por dominio
- Colapso de expertos y mitigaciones
- Mezcla de expertos en visión, texto y multmodal
- Inferencia distribuida con MoE
- Impacto en coste de servir LLMs gigantes
 
- Cuantización, poda y compresión de modelos- Cuantización a menor precisión (fp16, int8, int4)
- Poda estructurada y no estructurada
- Pruning de canales / neuronas menos útiles
- Factorización de matrices de pesos (low-rank)
- Distillation (teacher-student)
- Minimizar memoria en inferencia
- Minimizar latencia en dispositivos edge
- Trade-off compresión vs pérdida de calidad
- Técnicas post-training vs durante el entrenamiento
- Re-entrenamiento fino tras compresión
 
- Compiladores y runtimes optimizados (GPU / TPU / ASIC)- Graph compilers y optimización de grafos computacionales
- Fusión de operadores (op fusion)
- Reordenamiento de operaciones para locality de memoria
- Kernel tuning específico de hardware
- Aceleradores especializados (TPU / NPU / ASIC)
- Scheduling heterogéneo CPU+GPU
- Compilación ahead-of-time vs just-in-time
- Auto-tuning basado en profiling
- Cuellos de botella de memoria, no de FLOPs
- Portabilidad entre proveedores de hardware
 
- Inferencia en el borde (edge AI, TinyML, microcontroladores)- Modelos ultra ligeros
- Memoria extremadamente limitada (KB/MB)
- Latencia dura (tiempo real físico)
- Ejecución offline sin red
- Consumo energético mínimo (batería / IoT)
- Seguridad y privacidad on-device
- Inferencia en sensores industriales / robots
- Actualización remota de modelos en campo
- Detección local de eventos críticos
- Validación y certificación en entornos regulados
 
- Limitaciones de memoria, energía y latencia dura- Presupuestos de energía por inferencia
- Latencia máxima tolerable por la aplicación
- Tamaño máximo del modelo permitido
- Gestión térmica en hardware embebido
- Balance precisión vs consumo energético
- Inferencia determinista y tiempo garantizado
- Degradación controlada bajo sobrecarga
- Priorización de tareas críticas en edge
- Caching local de resultados frecuentes
- Trade-offs entre enviar al servidor o decidir local
 
- Costos energéticos y sostenibilidad del cómputo en IA- Huella energética del entrenamiento de modelos grandes
- Costos de refrigeración y data center
- Uso de hardware eficiente vs hardware genérico
- Reutilización de modelos vs entrenamiento desde cero
- Compresión para reducir consumo en inferencia masiva
- Balance entre batch offline y online scoring
- Métricas de eficiencia energética por predicción
- Regulaciones y reporting ambiental
- Incentivos económicos para modelos más pequeños
- Diseño responsable de workloads intensivos
 
 
- Entrenamiento distribuido (data parallelism, model parallelism, sharding)
- Ética, seguridad, privacidad y gobernanza - Privacidad de datos personales y minimización de uso- Minimización de retención de PII
- Principio de “necesidad de conocer”
- Anonimización y seudonimización
- Riesgo de reidentificación
- Separación de datos personales y operacionales
- Propósito declarado vs uso real
- Transparencia frente al usuario
- Derecho al olvido y borrado selectivo
- Restricciones de uso secundario de datos
- Auditorías de acceso
 
- Privacidad diferencial y aprendizaje federado- Ruido calibrado a nivel estadístico
- Garantías formales de privacidad
- Ataques de reconstrucción de datos
- Membership inference attacks
- Entrenamiento en el dispositivo del usuario
- Agregación segura de gradientes
- No compartir datos crudos entre nodos
- Riesgos de fuga mediante el modelo
- Trade-off privacidad / performance
- Uso en salud y finanzas
 
- Gobernanza, trazabilidad y auditoría de datos y modelos- Linaje de datos crítico (origen → transformación → decisión)
- Quién entrenó el modelo y con qué datos
- Historial de versiones del modelo en producción
- Registro de cambios de features
- Auditoría externa regulatoria
- Auditoría interna de cumplimiento
- Evidencia para peritaje legal
- Firma / certificación de modelos aprobados
- Control de acceso basado en rol
- Responsables claros (“owner” del modelo)
 
- Cumplimiento normativo y marcos legales- Regulaciones sectoriales (finanzas, salud, etc.)
- Restricciones de uso de datos sensibles
- Reportabilidad obligatoria de decisiones automáticas
- Explicabilidad legalmente exigible
- Limitaciones al profiling individual
- Retención mínima / máxima legal
- Transferencia internacional de datos
- Consentimiento informado vs interés legítimo
- Sanciones por incumplimiento
- Actualización continua por cambios regulatorios
 
- Control de acceso, clasificación de datos y dominios de seguridad- Clasificación por sensibilidad
- Segmentación de entornos (prod vs analítica)
- Enmascaramiento dinámico de campos sensibles
- Accesos temporales / justificados
- Registro de accesos privilegiados
- Hardening de entornos de inferencia
- Gestión de llaves y secretos
- Aislamiento de workloads regulados
- Cumplimiento de políticas internas
- Detección de abuso interno
 
- Sesgos algorítmicos, equidad y no discriminación- Bias en datos históricos
- Variables proxy de atributos sensibles
- Métricas de fairness por subgrupos
- Disparidad de falsos positivos/negativos
- Impacto distributivo en poblaciones vulnerables
- Auditoría periódica de sesgos
- Mitigación de sesgos en entrenamiento
- Mitigación en post-procesamiento
- Obligación ética de corrección
- Documentación del riesgo residual
 
- Explicabilidad y justificabilidad de decisiones automatizadas- Explicar por qué se tomó una decisión
- Explicabilidad global vs local
- Explicaciones contrafactuales (“qué habría pasado si…”)
- Interpretabilidad para auditores/autoridades
- Interpretabilidad para usuarios finales
- Límites técnicos de interpretabilidad en deep learning
- Transparencia de criterios de scoring
- Riesgos de revelar demasiado (gaming del sistema)
- Trazabilidad de la decisión hasta el input
- Registro accesible para defensa legal
 
- Riesgo reputacional y deepfakes / desinformación sintética- Generación de contenido engañoso
- Suplantación de identidad
- Manipulación de audio/video
- Atribución de autoría falsa
- Detección de contenido sintético
- Watermarking y firmas de procedencia
- Moderación de contenido automatizada
- Riesgo de viralización y daño reputacional
- Uso malicioso interno vs externo
- Políticas de respuesta a incidentes públicos
 
- Transparencia frente a usuarios y stakeholders- Declarar uso de IA en decisiones críticas
- Explicar límites y posibles errores
- Canales de apelación humana
- Control del usuario sobre sus datos
- Visibilidad de métricas de calidad
- Disclosure ante clientes corporativos
- Comunicación de incidentes de datos
- Lenguaje claro no técnico
- Requerimientos de confianza en sectores regulados
- Expectativas éticas de clientes y sociedad
 
- Reproducibilidad científica y versionado de datasets/modelos- Versionado de datasets de entrenamiento
- Congelamiento de snapshots de datos
- Versionado de código y configuración
- Fijación de seeds y determinismo
- Documentación de ambiente de ejecución
- Comparación justa entre modelos
- Evidencia de replicabilidad
- Auditoría post-mortem de fallos
- Portabilidad entre entornos
- Conservación de experimentos históricos
 
- Gobernanza del ciclo de vida completo del dato y del modelo- Flujo dato → feature → modelo → predicción → acción
- Dueños claros para cada etapa
- Políticas de aprobación en cada cambio
- Monitoreo continuo post-despliegue
- Evaluación de impacto social antes del lanzamiento
- Retiro responsable de modelos obsoletos
- Controles de rollback ético
- Gestión de deuda técnica y deuda ética
- Documentación para auditoría externa
- Apoyo ejecutivo / comité de riesgo
 
- Políticas internas de aprobación y revisión humana obligatoria- Casos donde no se permite decisión 100% automática
- Umbrales que gatillan revisión humana
- Registro de intervenciones humanas
- Trazabilidad de overrides
- Revisión ética de nuevos casos de uso
- Revisión legal / compliance previa al despliegue
- Aprobación ejecutiva en casos críticos
- Revocación de modelos ante mal uso
- Mecanismos de denuncia interna
- Accountability final explícito
 
- Continuidad operativa y resiliencia ante fallos del modelo en producción- Modos degradados seguros
- Fallback a reglas heurísticas
- Rollback inmediato a versión anterior
- Plan de contingencia ante ataque adversario
- Desconexión rápida ante comportamiento tóxico
- Alertas on-call 24/7 para servicios críticos
- Simulacros de desastre algorítmico
- Comunicación de incidentes a stakeholders
- Plan de remediación y mejora
- Gestión reputacional post-incidente
 
 
- Privacidad de datos personales y minimización de uso
- Aplicaciones verticales y casos de uso - Analítica de negocio y optimización operacional- Medición de eficiencia operativa
- Identificación de cuellos de botella
- Priorización de iniciativas de mejora
- Scorecards y accountability interno
- Automatización de reporting operativo
- Alertas sobre SLAs rotos
- Optimización de pricing/promociones
- Predicción de demanda de capacidad interna
- Detección de ineficiencias de procesos
- Soporte de decisiones tácticas diarias
 
- Detección de fraude, scoring de riesgo y cumplimiento financiero- Scoring crediticio
- Señales de comportamiento atípico
- Alertas de fraude en tiempo real
- Clasificación de transacciones sospechosas
- Modelos antifraude adaptativos
- Explicabilidad requerida por cumplimiento regulatorio
- Revisión humana de alertas de alto riesgo
- Prevención de lavado de dinero (AML)
- Auditoría y trazabilidad de decisiones de riesgo
- Balance falso positivo vs costo de fraude
 
- Personalización, recomendación y priorización de leads- Lead scoring comercial
- Priorización automática de outreach
- Ofertas y mensajes personalizados
- Recomendación de producto / contenido
- Retención de usuarios en riesgo de churn
- Up-selling / cross-selling inteligente
- Secuencias de contacto multicanal
- Optimización de funnel de conversión
- Evaluación incremental (uplift en ventas)
- Riesgos éticos de segmentación agresiva
 
- Salud y biomedicina asistida por IA- Ayuda al diagnóstico clínico asistido
- Análisis de imágenes médicas
- Alarmas tempranas en UCI
- Priorización de casos críticos
- Modelos de riesgo de rehospitalización
- Descubrimiento de fármacos y screening molecular
- Privacidad y datos altamente sensibles
- Validación clínica y regulación sanitaria
- Toma de decisión asistida, no autónoma
- Responsabilidad legal y ética del soporte de IA
 
- Retail, demanda y logística predictiva- Forecast de demanda por tienda / SKU
- Optimización de inventario
- Prevención de quiebre de stock
- Optimización de reposición
- Ruteo de entrega y última milla
- Detección de fraude en devoluciones
- Segmentación de clientes por valor de vida útil
- Personalización de promociones
- Pricing dinámico según demanda
- Evaluación del impacto en margen
 
- Industria y mantenimiento predictivo (gemelos digitales)- Sensores IoT industriales
- Modelos de fallo inminente
- Mantenimiento preventivo vs predictivo
- Gemelos digitales de equipos críticos
- Optimización energética de planta
- Seguridad industrial y fallos catastróficos
- Programación automática de mantención
- Priorización de alertas operativas
- Diagnóstico remoto en terreno
- Trazabilidad completa de eventos de falla
 
- Ciencia y simulación asistida por datos (clima, materiales, física)- Modelado climático / pronóstico de variables ambientales
- Descubrimiento de nuevos materiales
- Modelos de dinámica molecular asistidos por ML
- Aceleración de simulaciones numéricas costosas
- Ajuste de parámetros físicos vía optimización bayesiana
- Fusión de datos experimentales + simulación
- Reducción de modelos complejos a emuladores rápidos
- Cuantificación de incertidumbre científica
- Reproducibilidad científica
- Uso ético en modelamiento de riesgo climático
 
- Agentes autónomos, robótica y control continuo- Percepción integrada (visión + sensores)
- Navegación y evitación de obstáculos
- Manipulación robótica con feedback sensorial
- Control en bucle cerrado en tiempo real
- Aprendizaje por refuerzo en simulación
- Transferencia Sim2Real
- Coordinación multi-robot
- Seguridad operacional y “botón rojo”
- Cumplimiento normativo en entornos humanos
- Responsabilidad en caso de accidente
 
- Asistentes conversacionales y copilotos para trabajo humano- Asistencia al flujo de trabajo (resúmenes, drafting)
- Recuperación aumentada de contexto interno
- Razonamiento paso a paso guiado
- Integración con herramientas corporativas
- Automatización de tareas repetitivas
- Soporte en atención al cliente
- Riesgo de alucinación en dominios críticos
- Escalamiento del humano (augmentación, no reemplazo)
- Medición de valor real (tiempo ahorrado, calidad mejorada)
- Supervisión humana obligatoria en decisiones sensibles
 
- Automatización de decisiones en línea dentro del flujo de negocio- Scoring en tiempo real dentro del producto
- Priorización automática de casos operativos
- Control dinámico de riesgo
- Moderación y filtrado de contenido en vivo
- Prevención de abuso y spam
- Detección temprana de incidentes operativos
- Ajuste automático de precios / límites / acceso
- Integración con sistemas transaccionales
- Auditoría de cada decisión automatizada
- Estrategia de rollback rápido ante decisiones dañinas
 
 
- Analítica de negocio y optimización operacional
 
14 - Seguridad
- Seguridad- Seguridad de aplicaciones y servicios - Superficie de ataque en aplicaciones web y microservicios- Enumeración y descubrimiento de endpoints
- Exposición de metadatos e información sensible en respuestas
- Errores de configuración y defaults inseguros
- Fugas en mensajes de error y stack traces
- Dependencias externas y librerías de terceros
- Gestión insegura de versiones y parches
 
- Principales vectores de ataque en aplicaciones web- Inyección de código y comandos
- Cross-Site Scripting (XSS)
- Cross-Site Request Forgery (CSRF)
- Deserialización insegura
- Abuso de autenticación y fuerza bruta
- Directory traversal y lectura arbitraria de archivos
- Explotación de APIs mal definidas o sobrepermisivas
- Elevación de privilegios a través de endpoints internos
 
- Criptografía práctica y hashing seguro- Hashing de contraseñas con algoritmos resistentes (bcrypt, scrypt, Argon2)
- Firmas digitales y verificación de integridad
- Claves simétricas vs. asimétricas
- Cifrado autenticado (AEAD)
- Derivación segura de claves (KDF)
- Rotación y expiración de claves criptográficas
- Evitar algoritmos criptográficos obsoletos e inseguros
 
- Canales seguros y certificados- Cifrado en tránsito (TLS)
- Certificados válidos y planes de rotación
- Pinning de certificados y mitigación de MITM
- Cifrado extremo a extremo en servicios críticos
- Uso de HTTPS estricto y redirecciones seguras
- Seguridad en APIs públicas y privadas
 
- Protección contra ataques comunes en la web- Validación estricta del input del usuario
- Sanitización y escape de salida (output escaping)
- Tokens antifraude y antifalsificación de intención (CSRF tokens)
- Políticas de contenido (Content Security Policy)
- Rate limiting y protección contra fuerza bruta
- Evitar ejecución arbitraria de código en el servidor
- Protección contra replay attacks
- Restricción de métodos HTTP peligrosos
 
- Autenticación y autorización- Modelos de autenticación basados en contraseñas
- Autenticación multifactor y factores contextuales
- Tokens de sesión y tokens firmados (JWT, PASETO)
- Tiempo de expiración y renovación de tokens
- Modelos de autorización basados en roles (RBAC)
- Modelos de autorización basados en atributos (ABAC)
- Autorización a nivel de objeto y a nivel de campo
- Federación de identidad (OAuth2, OpenID Connect, SAML)
- Single sign-on en entornos corporativos
 
- Manejo seguro de credenciales, llaves y secretos- Almacenamiento de secretos en bóvedas seguras
- Inyección de secretos en tiempo de ejecución
- Evitar secretos en repositorios de código
- Rotación automática de llaves de acceso
- Segmentación de secretos por entorno
- Uso de identidades de máquina vs. secretos estáticos
 
- Seguridad en bases de datos y control de acceso a datos sensibles- Acceso mínimo necesario a tablas y vistas
- Separación de credenciales por servicio
- Consultas parametrizadas y ORM seguro
- Mascaramiento, tokenización y anonimización de datos
- Cifrado de campos sensibles
- Protección de datos personales e identificables
- Registro de accesos y consultas a datos críticos
 
- Registro de eventos de seguridad y trazabilidad- Registro de intentos de autenticación
- Registro de cambios de permisos
- Registro de acceso a datos sensibles
- Registro de acciones administrativas
- Retención y protección de logs
- Correlación de logs con identidad del usuario o servicio
 
- Sanitización y validación de entrada- Whitelists vs. blacklists
- Validación de tipos, rangos y formatos
- Normalización de input para evitar bypasses
- Evitar la ejecución de input del usuario como código
- Limpieza de HTML, JSON y payloads binarios
- Limitación de tamaño de input
 
- Modelado de amenazas y pruebas básicas de penetración- Análisis de activos críticos
- Identificación de actores de amenaza relevantes
- Modelos STRIDE y DREAD
- Priorización de escenarios de ataque
- Pruebas de penetración internas
- Revisión manual de endpoints sensibles
 
- Gestión de sesiones y mitigación de secuestro de sesión- Cookies seguras y con flags de protección
- Tiempo de expiración y revocación
- Protección contra fijación de sesión
- Detección de uso simultáneo anormal
- Reasignación segura de sesión tras elevar privilegios
 
- Política de mínimo privilegio en componentes internos- Separación de responsabilidades entre servicios
- Ejecución con identidades técnicas de bajo privilegio
- Limitación de recursos accesibles por proceso
- Restricción de comandos del sistema operativo
- Minimización de permisos en llamadas internas
- Control de acceso entre microservicios
 
 
- Superficie de ataque en aplicaciones web y microservicios
- Seguridad de infraestructura y plataforma - Aislamiento entre servicios y entornos- Separación entre producción, staging y desarrollo
- Aislamiento de datos reales vs. datos de prueba
- Limitación de accesos cruzados entre entornos
- Entornos efímeros y de pruebas aisladas
 
- Endurecimiento (hardening) de sistemas operativos, contenedores y runtimes- Reducción de la superficie de ataque del sistema base
- Eliminación de paquetes innecesarios
- Usuarios no root en contenedores
- Políticas de seccomp, AppArmor y SELinux
- Contenedores inmutables y con firma verificable
- Control de capacidades del kernel
 
- Seguridad en redes- Segmentación interna de la red
- Firewalls entre zonas de distinta criticidad
- Zonas de confianza y redes de alta sensibilidad
- Restricción de acceso público a servicios internos
- Filtrado de tráfico saliente y entradas restringidas
 
- Control de tráfico interno entre servicios- Autenticación mutua entre servicios (mTLS)
- Políticas de red declarativas
- Service mesh y control de identidades de servicio
- Detección de tráfico inusual entre microservicios
- Limitación de llamadas laterales no autorizadas
 
- Seguridad en la nube- Configuración segura de recursos gestionados
- Aislamiento de cuentas y proyectos por entorno
- Políticas de acceso basadas en identidad de servicio
- Protección de buckets y almacenamiento de objetos
- Exposición pública controlada y explícita
- Monitoreo de configuración drifteada
 
- Protección de datos en reposo- Cifrado en disco a nivel de volumen
- Cifrado a nivel de archivo u objeto
- Gestión de llaves de cifrado centralizada
- Segmentación de datos altamente sensibles
- Eliminación segura y verificada de datos
 
- Seguridad de la cadena de suministro de software- Verificación de integridad de dependencias
- Firmado de artefactos de build
- Control de procedencia (provenance) de builds
- Validación de imágenes de contenedor
- Revisión de librerías de terceros y binarios precompilados
- Prevención de inyección de dependencias maliciosas
 
- Escaneo de vulnerabilidades en dependencias, imágenes y artefactos- Análisis de dependencias conocidas vulnerables
- Escaneo de imágenes de contenedor antes del deploy
- Escaneo recurrente de entornos en producción
- Priorización basada en criticidad y exposición
- Remediación y seguimiento de CVEs
 
- Gestión de parches y actualizaciones de seguridad- Calendario de aplicación de parches
- Parches críticos fuera de ciclo
- Compatibilidad y pruebas previas a despliegue
- Automatización de actualizaciones en infraestructura
- Documentación de excepciones y justificaciones técnicas
 
- Backups seguros y recuperación ante desastres- Políticas de respaldo periódico
- Cifrado de respaldos en reposo y en tránsito
- Almacenamiento fuera de línea o fuera de región
- Pruebas regulares de restauración
- Plan de recuperación ante desastres
- Continuidad de servicios críticos en caso de pérdida total
 
 
- Aislamiento entre servicios y entornos
- Identidad, acceso y control de privilegios - Gestión de identidad y acceso (IAM)- Identidades humanas vs. identidades de servicio
- Control centralizado de permisos
- Políticas de acceso con alcance limitado
- Evitar cuentas compartidas
- Revisión periódica de permisos asignados
 
- Autenticación multifactor (MFA)- Factores de posesión, inherencia y conocimiento
- MFA obligatorio en accesos administrativos
- MFA adaptativo basado en riesgo
- Registro y renovación de factores
 
- Rotación periódica de credenciales y llaves- Política de expiración de contraseñas privilegiadas
- Rotación automática de llaves de API
- Revocación activa tras incidentes
- Eliminación de credenciales huérfanas
 
- Delegación de permisos y roles granulares- Roles mínimos y específicos por tarea
- Delegación temporal de privilegios
- Separación entre permisos de lectura y escritura
- Acceso controlado a acciones destructivas
 
- Acceso just-in-time y acceso de emergencia controlado- Elevación temporal de privilegios bajo solicitud
- Flujo de aprobación y justificación
- Cierre automático de accesos temporales
- Canales auditados para accesos de emergencia
 
- Auditoría de quién accede a qué y cuándo- Registro de acciones administrativas
- Registro de acceso a datos sensibles
- Seguimiento de accesos privilegiados
- Revisión post-evento de accesos inusuales
 
- Separación de funciones críticas (segregation of duties)- División entre desarrollo y despliegue
- División entre operación y auditoría
- Restricción de self-approval de cambios
- Independencia en tareas de control financiero o de datos regulados
 
- Gobierno de cuentas de servicio y claves de API- Ciclo de vida de cuentas de servicio
- Asignación de permisos mínimos a cuentas técnicas
- Rotación y almacenamiento de claves de API
- Revocación de cuentas de servicio no utilizadas
 
- Revocación y desactivación segura de accesos- Baja inmediata de cuentas de personas que salen de la organización
- Cierre de llaves comprometidas
- Desactivación de roles temporales expirados
- Verificación de que no quedan accesos residuales
 
 
- Gestión de identidad y acceso (IAM)
- Monitoreo, detección y respuesta temprana - Detección de comportamientos anómalos y abuso- Detección de patrones fuera de lo esperado por usuario
- Análisis de volumen y frecuencia de llamadas
- Identificación de patrones automatizados o de scraping agresivo
- Señales de actividad robótica o scripts maliciosos
 
- Alertas de actividad sospechosa en autenticación y uso de APIs- Intentos de login fallidos repetidos
- Accesos desde ubicaciones inesperadas
- Uso de tokens expirados o revocados
- Variación súbita de privilegios
 
- Correlación de eventos de seguridad en logs centralizados- Agregación de logs de múltiples servicios
- Normalización y etiquetado de eventos
- Contexto temporal y causal entre eventos
- Enriquecimiento con datos de identidad y permisos
- Creación de timelines para investigación
 
- Protección contra fuga de datos y exfiltración- Monitoreo de descargas masivas inusuales
- Control de exportación de datos sensibles
- Alertas por movimientos de datos hacia destinos externos
- Bloqueo de canales de extracción no autorizados
 
- Trazabilidad completa de acciones de alto riesgo- Registro de operaciones administrativas destructivas
- Confirmación explícita para operaciones irreversibles
- Asociación entre acción y actor verificable
- Sellado temporal e integridad del registro
 
- Simulación de incidentes (ejercicios tipo “fire drill”)- Juegos de guerra de seguridad
- Roles y responsabilidades durante un ataque simulado
- Validación de tiempos de reacción
- Evaluación de planes de comunicación interna
 
- Detección de escalamiento lateral interno- Uso indebido de credenciales internas
- Acceso inesperado a servicios colaterales
- Creación no autorizada de nuevas identidades técnicas
- Detección de túneles laterales y pivoteo
 
- Señales tempranas de compromiso en entornos críticos- Modificaciones de configuración sin registro
- Activación de capacidades avanzadas o experimentales en producción
- Nuevos binarios o procesos desconocidos
- Persistencia no autorizada en servicios críticos
- Cambios en reglas de red o firewall sin justificación
 
 
- Detección de comportamientos anómalos y abuso
- Respuesta a incidentes y continuidad operativa - Plan de respuesta a incidentes de seguridad- Definición formal de incidente
- Criterios de severidad y priorización
- Equipo responsable y cadena de escalamiento
- Procedimientos documentados paso a paso
 
- Contención, erradicación y recuperación- Aislamiento de sistemas comprometidos
- Corte de accesos maliciosos activos
- Eliminación de persistencia del atacante
- Restauración segura al estado confiable
- Validación posterior al restablecimiento
 
- Análisis forense y preservación de evidencia técnica- Captura de memoria y discos
- Preservación de logs relevantes
- Cadena de custodia de evidencia técnica
- Reconstrucción de línea de tiempo del ataque
- Identificación de punto inicial de entrada
 
- Postmortems de seguridad sin cultura de culpa- Documentación del incidente y causa raíz
- Hallazgos técnicos y organizacionales
- Acciones correctivas y preventivas
- Seguimiento de mejoras comprometidas
- Lecciones aprendidas compartidas con el equipo
 
- Comunicación interna y externa durante incidentes- Canales internos de emergencia
- Comunicación con liderazgo y dirección
- Comunicación con clientes y usuarios
- Coordinación con equipos externos relevantes
- Gestión de mensajes públicos y reputación
 
- Planes de continuidad operativa y recuperación de negocio- Definición de servicios críticos
- Objetivos de tiempo de recuperación
- Objetivos de punto de recuperación de datos
- Procedimientos alternativos manuales o degradados
- Escenarios de pérdida parcial y pérdida total
- Ejecución de failover a infraestructura secundaria
 
- Gestión coordinada con legal, compliance y stakeholders críticos- Requerimientos de notificación a autoridades
- Obligaciones contractuales con clientes
- Gestión de responsabilidad legal y reputacional
- Participación de compliance en la evaluación de impacto
- Coordinación con liderazgo ejecutivo y directorio
 
 
- Plan de respuesta a incidentes de seguridad
- Cumplimiento y riesgo organizacional - Políticas internas de seguridad y uso aceptable- Definición de conducta esperada en sistemas internos
- Reglas de uso de información sensible
- Reglas de despliegue y operación en producción
- Control de herramientas externas y shadow IT
- Procedimientos disciplinarios por uso indebido
 
- Clasificación y manejo de datos sensibles- Identificación de datos personales y datos críticos
- Etiquetado de niveles de sensibilidad
- Reglas de retención y descarte
- Restricciones de copia y exportación
- Desidentificación y anonimización para análisis
 
- Requisitos regulatorios y normativos aplicables- Regulaciones de protección de datos
- Obligaciones de privacidad y consentimiento
- Restricciones de almacenamiento geográfico de datos
- Estándares de la industria aplicables
- Requisitos de trazabilidad y auditoría
 
- Revisión periódica de riesgos y exposiciones- Evaluación de superficie de ataque actualizada
- Análisis de nuevas dependencias críticas
- Identificación de single points of failure
- Evaluación de madurez de controles existentes
- Priorización de esfuerzos de mitigación
 
- Evaluación de terceros y proveedores- Riesgo de cadena de suministro
- Evaluación de seguridad de servicios externos críticos
- Validación de cumplimiento de estándares mínimos
- Dependencia operativa y lock-in tecnológico
- Plan de contingencia ante falla de proveedor
 
- Controles preventivos y controles compensatorios- Controles técnicos preventivos
- Controles organizacionales y de proceso
- Controles compensatorios documentados cuando falta un control ideal
- Evaluación de efectividad de controles aplicados
 
- Trazabilidad, reportabilidad y obligaciones de notificación- Registro de incidentes de seguridad
- Umbrales de severidad que obligan a reportar
- Plazos de notificación a clientes y autoridades
- Pruebas de capacidad de respuesta organizacional
- Conservación de evidencia y documentación legalmente exigible
 
- Cultura de seguridad- Concientización y formación continua del equipo
- Prácticas seguras incorporadas al ciclo de desarrollo
- Canales abiertos para reporte de vulnerabilidades internas
- No normalización de desvíos de seguridad “temporales”
- Incentivos alineados con la seguridad operativa
 
 
- Políticas internas de seguridad y uso aceptable
 
15 - Calidad y auditoría
- Calidad y auditoría- Verificación formal y métodos formales - Especificación formal- Lógicas temporales (LTL, CTL)
- Propiedades de seguridad vs vivacidad
- Modelado de sistemas concurrentes
- TLA+ y lenguajes de especificación de sistemas distribuidos
 
- Model checking- Búsqueda exhaustiva de estados
- Verificación de protocolos concurrentes y distribuidos
- Abstracción para reducir el espacio de estados
- Detección automática de violaciones de invariantes
 
- Pruebas asistidas por SMT/SAT- SMT solvers (Z3, CVC4)
- Satisfacibilidad con teoría de enteros, arreglos, memoria
- Chequeo automático de pre/post-condiciones
- Bounded model checking
 
- Demostración asistida (proof assistants)- Coq / Isabelle / Lean
- Pruebas de corrección funcional de algoritmos críticos
- Extracción de código certificado
- Verificación de propiedades criptográficas
 
- Aplicaciones prácticas de métodos formales- Verificación de hardware (circuitos, buses)
- Protocolos criptográficos y de consenso
- Sistemas de control industrial y automoción
- Software de infraestructura crítica (aviación, salud, nuclear)
 
 
- Especificación formal
- Testing y aseguramiento de calidad - Pruebas unitarias- Pruebas de funciones puras y lógica de negocio local
- Aislamiento de dependencias mediante mocks y stubs
- Estructura AAA (Arrange / Act / Assert)
- Casos borde y entradas inválidas
- Diseño orientado a test (TDD)
 
- Pruebas de integración- Integración entre módulos internos
- Integración con servicios externos reales o simulados
- Pruebas con base de datos en entorno controlado
- Migraciones de esquema y compatibilidad de datos
- Configuración, semillas y limpieza de datos entre pruebas
 
- Pruebas de extremo a extremo- Flujos completos de usuario
- Validación de requisitos funcionales
- Escenarios críticos de negocio
- Ambientes lo más cercanos a producción
- Automatización de journeys repetibles
 
- Pruebas de contrato entre servicios- Productor vs consumidor
- Versionamiento de contratos y compatibilidad retroactiva
- Validación de esquemas y payloads
- Fallos ante cambios no autorizados en la API
- Publicación y validación automática en CI
 
- Pruebas basadas en instantáneas y estados esperados- Captura de salidas esperadas complejas
- Control de regresiones visuales / estructurales
- Revisión y actualización intencional de snapshots
- Limitaciones y falsos positivos
 
- Simulación de dependencias externas y uso de dobles de prueba- Stubs, mocks, spies y fakes
- Simulación de errores remotos, timeouts y latencia
- Emulación de colas, storage, servicios externos
- Test harnesses para componentes desacoplados
 
- Pruebas basadas en propiedades- Generación aleatoria de entradas
- Invariantes y leyes que siempre deben cumplirse
- Minimización de casos que fallan (shrinking)
- Detección de clases de comportamiento inesperadas
 
- Métricas de cobertura y criterios de calidad- Cobertura de líneas, ramas, paths lógicos y mutación
- Umbrales mínimos aceptables
- Cobertura útil vs cobertura artificial
- Detección de código muerto o no ejercitado
 
- Análisis estático y linters- Análisis sintáctico y estilo
- Análisis semántico y tipos
- Detección temprana de errores comunes
- Reglas personalizadas alineadas a la guía interna
- Integración con el flujo de desarrollo
 
- Análisis de seguridad automatizado- Escaneo de dependencias vulnerables
- Detección de secretos en repositorios
- Validación de políticas de autenticación y autorización
- Pruebas dinámicas de seguridad (DAST)
- Endurecimiento de superficie de ataque en CI/CD
 
- Ejecución automática de pruebas en pipelines de entrega- Gates de calidad antes de desplegar
- Matrices de entornos / versiones / configuraciones
- Paralelización y reducción de tiempos de feedback
- Reportes automáticos y bloqueo en caso de fallos
- Reejecución selectiva de suites relevantes
 
 
- Pruebas unitarias
- Procesos de calidad y auditoría - Integración continua y despliegue continuo- Validación automática por commit / merge request
- Políticas de ramas, versionado y tagging
- Despliegues progresivos, canary y blue/green
- Rollbacks controlados y reversibilidad segura
 
- Control de versiones de dependencias externas- Fijación de versiones (pinning)
- Auditoría de cambios en librerías y SDKs
- Renovación y caducidad de dependencias
- Gestión de SBOM (Software Bill of Materials)
 
- Revisión de código estructurada y guías internas- Estándares de revisión técnica y funcional
- Reglas de aprobación mínima y roles responsables
- Comentarios accionables y trazables
- Prevención de deuda técnica introducida
 
- Auditorías de seguridad y cumplimiento normativo- Revisión de superficie de ataque
- Gestión de accesos, llaves y secretos
- Modelado de amenazas y evaluación de riesgo
- Verificación de procesos frente a regulaciones aplicables
 
- Aseguramiento de calidad (QA) y control de calidad (QC)- QA como prevención de defectos
- QC como detección de defectos
- Estrategias de validación manual y exploratoria
- Priorización de defectos según impacto
 
- Métricas de calidad operacional- Densidad de defectos
- Tasa de fallos por despliegue
- MTTR (tiempo medio de recuperación)
- Disponibilidad y SLO/SLA cumplidos
 
- Pruebas de aceptación y regresión- Validación contra criterios de negocio acordados
- Suites de regresión automatizadas
- Prevención de reaparición de bugs antiguos
- Validación previa a hitos de lanzamiento
 
- Estándares de codificación y criterios de aprobación- Convenciones de estilo y formato
- Reglas de documentación mínima por cambio
- Política de logging y manejo de errores
- Restricciones de complejidad ciclomática y acoplamiento
 
- Pruebas no funcionales- Pruebas de rendimiento y latencia
- Pruebas de carga, estrés y escalabilidad
- Pruebas de resiliencia y tolerancia a fallos
- Pruebas de consumo de recursos y costos
 
- Documentación de calidad y trazabilidad- Registro de decisiones técnicas (ADR)
- Historial de cambios funcionales y de infraestructura
- Evidencia de validación y certificación
- Mapeo requisito → prueba → resultado
 
- Cumplimiento de marcos y certificaciones de la industria- Controles y requisitos regulatorios aplicables
- Estándares de seguridad y privacidad de datos
- Ciclos de reevaluación y recertificación
- Responsabilidades legales y de auditoría externa
 
- Evaluaciones posteriores al lanzamiento y mantenimiento preventivo- Post-mortems y análisis de incidentes
- Gestión de deuda técnica acumulada
- Planificación de parches y actualizaciones rutinarias
- Observabilidad continua y alertas tempranas
 
 
- Integración continua y despliegue continuo
 
16 - Operación en producción
- Operación en producción- Concurrencia y rendimiento - Modelos asíncronos y bucles de eventos- Estructura del loop de eventos
- Tareas cooperativas y awaitables
- Programación sin bloqueo de E/S
- Multiplexación de sockets y file descriptors
- Límite de una sola hebra en el bucle de eventos
- Integración de código síncrono dentro de un contexto asíncrono
- Cancelación de tareas asíncronas y limpieza
 
- Paralelismo con hilos y procesos- Paralelismo CPU-bound vs I/O-bound
- Planificación de hilos del sistema operativo
- Pools de hilos y pools de procesos
- Competencia por el intérprete e impacto del bloqueo global
- Aislamiento de memoria entre procesos
- Compartición de datos y pasos de mensaje entre procesos
- Sincronización entre hilos y condiciones de carrera
 
- Tareas diferidas y trabajo en segundo plano- Ejecución fuera de la ruta crítica de la request
- Programación de trabajos periódicos
- Retries automáticos y colas de reintento diferido
- Trabajos de alta latencia y pipelines batch
- Priorización de tareas y niveles de servicio
- Confirmación explícita de trabajo completado
 
- Futuros, promesas y unidades de trabajo asíncronas- Estados de una promesa (pendiente, resuelta, rechazada)
- Encadenamiento de callbacks y composición
- Recolección de resultados concurrentes
- Sincronización mediante espera conjunta de múltiples tareas
- Propagación de errores a través de futuros
- Cancelación y tiempo de espera sobre futuros
 
- Caching en memoria y distribuido- Caches locales en proceso
- Caches compartidas entre réplicas
- Estrategias de expiración y TTL
- Invalidación de caché y coherencia de datos
- Memoización de cálculos costosos
- Cacheo de resultados de consultas externas
- Efectos del caché en la latencia percibida
 
- Perfilado de CPU y memoria- Muestreo estadístico de uso de CPU
- Rastreo de asignaciones de memoria
- Identificación de fugas de memoria
- Coste de boxing, copying y serialización
- Impacto de estructuras de datos en consumo
- Hot paths y funciones críticas
- Optimización guiada por perfiles reales
 
- Cuellos de botella de entrada/salida frente a cómputo- Saturación de disco
- Saturación de red
- Bloqueo en llamadas a servicios externos
- Limitaciones de CPU vectorial o SIMD
- Latencia de memoria RAM y cachés L1/L2/L3
- Balance carga I/O-bound y CPU-bound en arquitectura mixta
 
- Medición de rendimiento y benchmarking- Microbenchmarks de funciones críticas
- Benchmarks de throughput y latencia de extremo a extremo
- Pruebas en frío vs calentamiento de procesos
- Variabilidad estadística y repetibilidad
- Límites sostenibles vs picos transitorios
- Degradación bajo estrés prolongado
 
- Estrategias de escalado horizontal y vertical- Escalado vertical por recurso (CPU, RAM)
- Escalado horizontal por réplicas idénticas
- Balanceadores de carga y distribución uniforme
- Sesiones pegajosas vs estado compartido
- Sharding lógico por clave
- Replicación activa-activa y activa-pasiva
 
- Colas de trabajo y orquestadores de tareas- Productores y consumidores desacoplados
- Confirmación explícita de mensaje procesado
- Reintentos con backoff exponencial
- Detección de mensajes envenenados
- Dead-letter queues y cuarentena
- Balanceo de carga entre workers
 
- Control de tasa y mecanismos de alivio de presión- Limitación de solicitudes por unidad de tiempo
- Ventanas deslizantes y contadores de tokens
- Priorización por tipo de cliente
- Rechazo temprano y respuestas degradadas
- Colas de espera controladas
- Circuit breaking por sobrecarga
 
- Bloqueos, semáforos y estructuras de sincronización- Exclusión mutua y regiones críticas
- Lectores-escritores y acceso concurrente
- Semáforos contadores y control de recursos limitados
- Barreras de sincronización y fases de cómputo
- Deadlocks, livelocks y inanición
- Diseño lock-free y wait-free
 
 
- Modelos asíncronos y bucles de eventos
- Infraestructura y operaciones - Estrategias avanzadas de control de versiones y ramas- Ramas de larga duración y ramas efímeras
- Estrategias trunk-based y release branches
- Versionado semántico y etiquetado de releases
- Cherry-pick y backport controlado
- Políticas de revisión y protección de ramas
- Lineaje de cambios y auditoría de commits
 
- Integración continua / entrega continua en entornos reales- Pipelines automatizados de build y test
- Validaciones de seguridad en el pipeline
- Gates de calidad y cobertura
- Artefactos versionados y promoción entre entornos
- Deploy continuo vs deploy bajo aprobación
- Rollback automatizado ante fallos
 
- Contenedores y definición de entornos portables- Aislamiento de dependencias y librerías del sistema
- Imágenes reproducibles y deterministas
- Reducción de superficie de ataque en la imagen
- Versionado y cache de capas
- Inmutabilidad del runtime empaquetado
- Compatibilidad multiplataforma y arquitectura CPU
 
- Despliegue de múltiples servicios coordinados- Versionado independiente por servicio
- Contratos de API y compatibilidad hacia atrás
- Orquestación de despliegues dependientes
- Sincronización de cambios de esquema de datos
- Migraciones transicionales y ventanas de mantenimiento
- Estrategias de despliegue gradual por servicio
 
- Orquestación de contenedores y planificación de cargas- Schedulers y asignación de pods/tareas
- Afinidad y anti-afinidad de nodos
- Probes de liveness y readiness
- Autoescalado controlado por métricas
- Actualizaciones rolling y despliegues canary
- Gestión de estado en cargas stateful
 
- Monitoreo de infraestructura y paneles de visualización- Métricas de CPU, memoria, disco y red
- Estado de nodos, contenedores y pods
- Alarmas de capacidad y saturación
- Paneles en tiempo real y paneles ejecutivos
- Históricos de rendimiento para análisis de tendencias
- Correlación entre eventos de infraestructura y fallas
 
- Infraestructura como código- Declaratividad y convergencia de estado
- Versionado y auditoría de cambios infra
- Validación y pruebas de plantillas
- Reutilización de módulos y componentes
- Gestión de múltiples entornos desde el mismo código
- Destrucción controlada y limpieza de recursos
 
- Plataformas en la nube (cómputo, redes, almacenamiento)- Máquinas virtuales y capacidad reservada
- Redes virtuales, subredes y reglas de ingreso
- Balanceadores gestionados y gateways
- Almacenamiento en bloque y archivos compartidos
- Replicación entre zonas y regiones
- Políticas de alta disponibilidad geográfica
 
- Almacenamiento de objetos, ejecución sin servidor, monitoreo gestionado- Buckets de objetos y políticas de retención
- Funciones bajo demanda y cómputo sin servidor
- Límites de tiempo de ejecución y memoria por invocación
- Integración con colas y eventos
- Servicios gestionados de logging y métricas
- Persistencia eventual y consistencia leída-despues-de-escritura
 
- Gestión de configuración y secretos centralizados- Variables de entorno y configuración externa
- Inyección dinámica de secretos en runtime
- Rotación de llaves y credenciales
- Control de acceso basado en roles
- Versionado de configuración y rollback
- Separación configuración por entorno y por región
 
- Monitoreo activo y alertas operacionales- Probes sintéticos de disponibilidad
- Verificación de SLA y SLO
- Alertas por latencia y tasa de errores
- Alertas por backlog de colas y congestión
- Alertas de costos y sobregasto proyectado
- Rutas de escalamiento y on-call
 
- Optimización de costos y escalado automático- Rightsizing de instancias y contenedores
- Uso de instancias reservadas y spot/preemptibles
- Escalado basado en métricas de negocio
- Programación horaria de apagado de recursos
- Compresión y ciclo de vida de almacenamiento
- Reducción de duplicación de datos y tráfico innecesario
 
 
- Estrategias avanzadas de control de versiones y ramas
- Observabilidad, logs y métricas - Logging estructurado y contextualizado- Campos clave/valor y trazabilidad por request
- Correlación con IDs de sesión, usuario y transacción
- Niveles de severidad y filtrado
- Retención, rotación y archivado de logs
- Mascaramiento de datos sensibles
- Búsqueda y agregación en grandes volúmenes
 
- Monitoreo del desempeño de las aplicaciones (APM)- Métricas de latencia por endpoint
- Métricas de throughput y saturación
- Errores por tipo y frecuencia
- Seguimiento de dependencias externas
- Degradación progresiva bajo carga
- Detección temprana de regresiones de rendimiento
 
- Trazas distribuidas de extremo a extremo- Propagación de contexto entre servicios
- Spans anidados y timeline de la request
- Identificación del servicio lento en la cadena
- Cuellos de botella inter-servicio
- Muestreo y retención de trazas
- Análisis de latencia percibida por el usuario final
 
- Métricas personalizadas y verificaciones de salud- Métricas técnicas (cola, memoria, GC)
- Métricas funcionales (pedidos/minuto, pagos fallidos)
- Endpoints de healthcheck internos y públicos
- Señales de degradación temprana
- Alarmas por cambio relativo, no solo absoluto
- Métricas de disponibilidad percibida
 
- Alertas basadas en umbrales y tendencias- Umbrales estáticos vs umbrales dinámicos
- Alertas por anomalías estadísticas
- Tendencias de crecimiento de error rate
- Alertas de saturación inminente
- Priorización y severidad de alertas
- Gestión de fatiga de alertas y ruido
 
- Auditoría y reconstrucción de incidentes- Registro inmutable de acciones relevantes
- Línea de tiempo del incidente
- Evidencia para análisis post-mortem
- Identificación del punto de quiebre
- Acceso a datos históricos consistentes
- Mejora continua basada en lecciones aprendidas
 
 
- Logging estructurado y contextualizado
- Resiliencia - Tolerancia a fallos y aislamiento- Aislamiento por servicio y dominio funcional
- Aislamiento de recursos críticos compartidos
- Redundancia activa y pasiva
- Degradación controlada de características no críticas
- Limitación del radio de explosión ante fallas
- Failover automatizado entre réplicas
 
- Control de latencia y tiempo de espera- Timeouts por operación y por dependencia
- Presupuestos de latencia por request
- Cancelación proactiva de operaciones lentas
- Respuestas parciales bajo presión
- Fast-fail frente a recursos saturados
- Evitar bloqueo cascada por espera
 
- Reintentos seguros- Idempotencia de operaciones
- Backoff exponencial y jitter aleatorio
- Detección de errores transitorios vs permanentes
- Evitar tormentas de reintentos coordinados
- Límite máximo de reintentos y corte temprano
- Registro de reintentos para auditoría
 
- Protección contra sobrecarga- Circuit breakers y apertura de circuito
- Rechazo controlado de tráfico en picos
- Colas limitadas y shedding de carga
- Modos degradados de servicio
- Cuotas por cliente o tenant
- Protección contra picos maliciosos o anómalos
 
- Salud del servicio y autosanación- Detección automática de instancias defectuosas
- Reinicio y reemplazo automático de réplicas
- Reconciliación con estado declarado
- Rotación de nodos no saludables
- Limpieza de recursos colgados o zombificados
- Autorrecuperación sin intervención humana
 
- Recuperación y continuidad- Backups consistentes y verificados
- Restauración probada y documentada
- Planes de recuperación ante crisis
- Ingeniería del caos
 
 
- Tolerancia a fallos y aislamiento
 
17 - Gestión técnica
- Gestión técnica- Cultura técnica y gestión del equipo - Revisión de código efectiva y empática- Objetivos de la revisión de código- Calidad funcional y corrección
- Seguridad y cumplimiento
- Legibilidad y mantenibilidad
- Consistencia con guías internas
 
- Estilos de feedback y tono profesional
- Criterios de aprobación y bloqueo de PR
- Rotación de revisores y reparto de carga
- Uso de herramientas automatizadas en PR
- Detección temprana de problemas de arquitectura
- Revisión de seguridad y cumplimiento
 
- Objetivos de la revisión de código
- Gestión de deuda técnica- Catalogación y visibilidad de deuda técnica- Registro en backlog técnico
- Etiquetado en tickets y PR
- Mapas de riesgo por servicio
- Responsables de remediación
 
- Priorización basada en impacto y riesgo
- Refactorizaciones planificadas vs refactorizaciones oportunistas
- Deuda de arquitectura vs deuda de implementación
- Métricas de salud técnica y tech radar interno
- Ventanas de hardening y estabilización
 
- Catalogación y visibilidad de deuda técnica
- Mentoría y liderazgo técnico- Acompañamiento uno a uno
- Transferencia de contexto histórico del sistema
- Desarrollo de criterio de arquitectura- Patrones aceptados internamente
- Antipatrones comunes y alertas tempranas
- Evaluación de impacto sistémico
 
- Crecimiento de juniors hacia roles de mayor autonomía
- Delegación responsable y ownership progresivo
- Feedback constructivo y planes de mejora técnica
 
- Respuesta a incidentes en producción- Roles durante un incidente (comandante, comunicaciones, scribe, resolutores)
- Canales de comunicación interna y externa
- Escalamiento técnico y toma de decisiones bajo presión
- Contención temporal vs solución raíz
- Registro cronológico del incidente
- Criterios de severidad y prioridad- Impacto en usuarios
- Pérdida de datos o seguridad
- Impacto financiero directo
- Riesgo reputacional
 
- Manejo de incidentes repetidos
 
- Postmortems y análisis de causa raíz sin culpas- Estructura del postmortem- Timeline del incidente
- Impacto medido
- Causas técnicas
- Causas organizacionales
- Próximos pasos
 
- Árbol de causas raíz y factores contribuyentes
- Acciones correctivas y dueños claros
- Priorización de acciones de seguimiento
- Revisión de efectividad de acciones previas
- Compartir aprendizajes con toda la organización
- Evitar cultura de culpa y protección psicológica
 
- Estructura del postmortem
- Estándares internos de código y guías- Guías de estilo y formato- Formato automático y linters
- Estructura de carpetas
- Nombres de variables, clases y módulos
- Estándares de documentación en el código
 
- Reglas de seguridad y manejo de secretos
- Patrones de diseño aprobados
- Uso recomendado de librerías y frameworks
- Versiones soportadas y políticas de deprecación
- Convenciones de nombres y estructura de repositorios
- Contratos de APIs internas
 
- Guías de estilo y formato
- Comunicación con producto y otros equipos- Traducción de necesidades de negocio a requerimientos técnicos
- Expectativas realistas de plazos y riesgos- Costos técnicos ocultos
- Costos operacionales futuros
- Trade-offs de calidad vs velocidad
 
- Manejo de alcance y cambios de último minuto
- Transparencia en bloqueos y dependencias
- Gestión de prioridades en conflicto
- Educación técnica básica hacia stakeholders no técnicos
- Coordinación con QA, datos, seguridad y soporte
 
- Planificación de iteraciones y lanzamientos- Diseño de milestones y objetivos claros
- Definición de alcance mínimo viable
- Control de congelamiento de features antes de release
- Coordinación entre múltiples equipos para un release común
- Gestión de ramas y ventanas de merge
- Estrategias de rollout gradual y feature flags- Lanzamiento por porcentaje de usuarios
- Canarios y entornos sombra
- Rollback controlado
- Kill switches
 
- Criterios de listo para producción
 
- Evaluación de decisiones técnicas y trade-offs- Costo de complejidad futura vs velocidad inmediata
- Evaluación de lock-in tecnológico
- Impacto en observabilidad y operabilidad
- Sostenibilidad de mantenimiento a largo plazo
- Compatibilidad con la visión arquitectónica global
- Reversibilidad de la decisión- Costos de salida
- Tiempo de migración estimado
- Impacto de rollback en usuarios
 
 
- Hoja de ruta técnica y visión de plataforma- Línea base de arquitectura actual
- Objetivos de evolución tecnológica
- Plan de consolidación y reducción de complejidad
- Inversión en plataformas internas reutilizables
- Planes de eliminación de sistemas legacy- Identificación de componentes críticos
- Migración gradual sin downtime
- Congelamiento de cambios en legacy
- Fecha objetivo de retiro
 
- Estándares de interoperabilidad entre servicios
- Estrategia de observabilidad y gobernanza técnica
 
- Cultura de documentación viva- Documentación técnica como parte de la entrega
- Procesos de actualización continua de documentación
- Fuentes únicas de verdad (runbooks, ADRs, diagramas)- ADRs (Architecture Decision Records)
- Mapas de servicios y dependencias
- Runbooks de soporte nivel 1
- Flujos de escalamiento
 
- Versionado y trazabilidad de decisiones
- Documentación operativa para guardias e incidentes
- Documentación de onboarding para nuevos integrantes
 
- Inclusión, colaboración y seguridad psicológica- Prácticas de colaboración respetuosa
- Espacios seguros para hacer preguntas técnicas
- Normalización de pedir ayuda
- Manejo de conflicto técnico sin confrontación personal
- Equidad en distribución de tareas visibles vs invisibles- Trabajo de mantenimiento y soporte
- Trabajo de innovación y features clave
- Reconocimiento y visibilidad interna
 
- Prevención de burnout y carga cognitiva excesiva
 
- Gestión del conocimiento y rotación de contexto- Rotaciones de guardia y soporte- Cobertura horaria y distribución justa
- Handover documentado
- Capacitación previa a la rotación
 
- Shadowing y pairing estructurado
- Sesiones internas de transferencia de conocimiento
- Registro de decisiones históricas
- Reducción de single points of failure humanos
- Planes de back-up de expertise crítico
 
- Rotaciones de guardia y soporte
 
- Revisión de código efectiva y empática
- Gestión y liderazgo técnico - Gestión de proyectos- Definición de alcance y objetivos medibles
- Estructuración en entregables incrementales
- Seguimiento de hitos y progreso- Roadmaps con fechas explícitas
- Burndown y burnup charts
- Estado de bloqueos críticos
 
- Gestión de cambios de alcance
- Coordinación entre múltiples squads
- Cierre formal y retrospectiva del proyecto
 
- Estimación de esfuerzo y planificación técnica- Modelos de estimación (puntos de historia, t-shirt sizing)- Estimación relativa vs absoluta
- Sesiones de planeación colectiva
- Sesgos comunes al estimar
 
- Análisis de complejidad técnica
- Validación de supuestos técnicos
- Rangos de incertidumbre y buffers
- Revisión y ajuste continuo de estimaciones
 
- Modelos de estimación (puntos de historia, t-shirt sizing)
- Gestión de riesgos y dependencias entre equipos- Identificación temprana de dependencias críticas
- Análisis de impacto de retrasos externos
- Planes de contingencia técnica- Rutas alternativas de implementación
- Feature flags para aislar afectación
- Estrategias de degradación controlada
 
- Priorización basada en riesgo operativo
- Gestión de bloqueos inter-equipo
 
- Priorización de deuda técnica frente a features- Argumentación basada en riesgo futuro
- Costos operacionales acumulados- Tiempo de soporte no planificado
- Incidentes recurrentes
- Complejidad de despliegue
 
- Costo de oportunidad de no abordar la deuda
- Negociación con producto sobre qué entra en cada iteración
- Métricas de impacto en velocidad del equipo
 
- Gestión de releases y control de cambios- Políticas de branching y merge
- Versionado semántico y etiquetado
- Ventanas de freeze y release cut
- Checklist previo a release- Cobertura de tests mínima
- Migraciones de base de datos revisadas
- Configuración de alertas lista
- Documentación operativa actualizada
 
- Rollback y post-release monitoring
- Coordinación multi-servicio en releases acoplados
 
- Comunicación transversal (producto, QA, operaciones, datos)- Canales formales de coordinación
- Rondas de alineación técnica
- Gestión de expectativas externas
- Traducción de riesgos técnicos a impacto negocio- Impacto financiero potencial
- Impacto en experiencia de usuario
- Impacto legal o reputacional
 
- Acuerdos de soporte con áreas no técnicas
 
- Desarrollo profesional y mentoría técnica- Planes individuales de crecimiento técnico
- Trayectorias de carrera IC vs management- Staff / Principal Engineer
- Engineering Manager
- Tech Lead / Lead Engineer
 
- Evaluación de habilidades técnicas específicas
- Acceso a proyectos desafiantes
- Rotación estratégica para ampliar experiencia
- Preparación de futuros líderes técnicos
 
- Evaluación de desempeño técnico- Criterios objetivos de impacto técnico- Resultados medibles en producción
- Reducción de riesgo
- Aceleración de otros equipos
 
- Aporte a calidad y fiabilidad
- Colaboración y comportamiento profesional
- Innovación y mejora continua
- Evaluación 360° y feedback cruzado
 
- Criterios objetivos de impacto técnico
- Registro y documentación de decisiones de arquitectura- ADRs (Architecture Decision Records)- Contexto del problema
- Decisión tomada
- Consecuencias esperadas
- Fecha y responsables
 
- Alternativas evaluadas y descarte explícito
- Análisis de impacto técnico y organizacional
- Reversibilidad de la decisión
- Difusión interna y alineamiento
 
- ADRs (Architecture Decision Records)
- Presentación técnica a audiencias no técnicas- Comunicación ejecutiva orientada a resultados
- Visualización de arquitectura y flujos- Diagramas de alto nivel
- Mapas de dependencia simplificados
- Flujos de datos y privacidad
 
- Traducción de riesgo técnico a riesgo negocio
- Narrativa de valor y diferenciación técnica
- Storytelling técnico para dirección y clientes
 
- Cultura de ingeniería basada en aprendizaje continuo- Retroalimentaciones post-release- Qué salió bien
- Qué salió mal
- Qué cambiar para la próxima
 
- Sesiones técnicas internas tipo tech talks
- Lecturas técnicas en grupo y RFC reviews
- Formación cruzada entre equipos
- Espacios para ensayo seguro y sandbox
 
- Retroalimentaciones post-release
- Prácticas de mejora continua tras incidentes- Eliminación sistemática de clases de errores
- Automatización de chequeos preventivos- Tests de regresión
- Monitores sintéticos
- Validaciones previas a deploy
 
- Ajuste de alertas y umbrales
- Reentrenamiento operacional del equipo
- Integración de aprendizajes a los runbooks
 
- Gestión de capacidad y asignación de recursos- Balance entre mantenimiento y desarrollo de features
- Carga operacional del equipo- Rotación de guardias
- Trabajo fuera de horario
- Interrupciones no planificadas
 
- Toma de compromisos basada en capacidad real
- Gestión de cuellos de botella individuales
- Priorización de iniciativas de alto apalancamiento
 
- Estrategia de contratación y onboarding técnico- Definición de perfiles técnicos requeridos
- Diseño de procesos de entrevista técnica
- Evaluación práctica y ejercicios técnicos
- Calidad del onboarding y rampa inicial- Documentación inicial de sistemas críticos
- Primeras tareas guiadas
- Mentor asignado
 
- Integración cultural y valores de ingeniería
- Retención de talento clave
 
- Escalamiento organizacional y delegación- Rol del Tech Lead vs rol del Engineering Manager
- Multiplicadores técnicos y liderazgo distribuido
- Delegación efectiva de toma de decisiones
- Claridad de ownership por servicio o dominio- Responsable técnico primario
- Responsable operativo de guardia
- Mapa de dependencias entrantes y salientes
 
- Definición de interfaces entre equipos
- Diseño de células o squads autónomas
 
 
- Gestión de proyectos
- Operaciones, fiabilidad y excelencia de entrega - SRE interno y propiedad de servicio- Responsabilidad extremo a extremo del servicio- Diseño
- Despliegue
- Operación
- Soporte
 
- Definición clara de dueños por servicio
- Objetivos de confiabilidad alineados a negocio
- Ingeniería de resiliencia y tolerancia a fallos
- Capacitación operativa mínima del equipo de desarrollo
 
- Responsabilidad extremo a extremo del servicio
- Observabilidad organizacional- Métricas, logs y trazas distribuidas
- Dashboards estandarizados por servicio- Salud de dependencias externas
- Errores por endpoint
- Tiempo de respuesta percentil 95/99
 
- Alarmas accionables y libres de ruido
- Trazabilidad de requests y latencia extremo a extremo
- Métricas de experiencia de usuario final
 
- Gestión de SLAs, SLOs y SLIs- Definición de objetivos de disponibilidad
- Error budgets y ritmo de cambio- Política de congelamiento de releases
- Priorización de estabilización
- Responsabilidad compartida entre equipos
 
- Alineación de SLOs con impacto negocio
- Comunicación de cumplimiento a stakeholders
- Ajuste dinámico de objetivos según madurez
 
- Gestión de alertas y fatiga de alarmas- Criterios de severidad y prioridad de alertas
- Ruteo de alertas al equipo correcto
- Reducción de falsos positivos- Ajuste de umbrales
- Correlación de múltiples señales
- Alertas sintéticas de sanidad
 
- Rotación de on-call y balance de carga
- Revisión periódica de políticas de alerta
 
- Ciclos de despliegue seguro- Integración continua y pruebas automatizadas
- Entrega continua y gates de calidad- Validaciones automáticas previas al deploy
- Revisiones manuales para cambios de alto riesgo
- Aprobaciones separadas para cambios sensibles
 
- Despliegues incrementales y canarios
- Rollback rápido y seguro
- Auditoría de cambios en producción
 
- Gestión de entornos (dev, staging, prod)- Paridad entre entornos- Configuración equivalente
- Dependencias simuladas
- Pruebas de performance previas al paso a producción
 
- Datos de prueba y anonimización
- Aislamiento de servicios compartidos
- Versionado de infraestructura
- Gobernanza de cambios de configuración
 
- Paridad entre entornos
- Controles de cambio y auditoría operativa- Registro de quién cambió qué y cuándo
- Autorización y aprobación de cambios sensibles
- Separación de funciones operativas- Desarrollador
- Operaciones
- Seguridad
- Auditoría interna
 
- Políticas de acceso temporal y just-in-time
- Retención de logs para auditoría
 
- Ejercicios de continuidad operacional y DRP- Plan de recuperación ante desastres
- Pruebas periódicas de failover
- Backups y restauración verificada- Frecuencia de backups
- Retención de backups
- Pruebas reales de restauración
- Cifrado de respaldos
 
- Escenarios de pérdida parcial vs total
- Planes de comunicación durante caída mayor
 
- Gestión de incidentes de seguridad- Detección temprana de actividades anómalas
- Contención inmediata y aislamiento- Revocación de llaves comprometidas
- Deshabilitación de cuentas afectadas
- Bloqueo de endpoints comprometidos
 
- Comunicación interna y obligaciones regulatorias
- Análisis forense y aprendizaje
- Políticas de divulgación responsable
 
- Comunicación durante incidentes críticos- Canal oficial único de información
- Actualizaciones periódicas a stakeholders
- Mensajes externos a clientes y usuarios- Estado actual
- Impacto conocido
- Próxima actualización estimada
- Pasos de mitigación sugeridos
 
- Coordinación con legal y cumplimiento
- Evitar saturación de los equipos técnicos
 
- Madurez de procesos DevSecOps- Seguridad integrada en el ciclo de desarrollo
- Escaneo continuo de vulnerabilidades
- Gestión de secretos y credenciales- Rotación automática de llaves
- Almacenamiento cifrado centralizado
- Eliminación de secretos en repositorios de código
 
- Políticas de acceso mínimo necesario
- Infraestructura como código segura
- Automatización de cumplimiento
 
 
- SRE interno y propiedad de servicio
 
18 - Cumplimiento y mejora
- Cumplimiento y mejora- Ética, legalidad y práctica profesional - Responsabilidad profesional en ingeniería de software- Calidad y confiabilidad del producto entregado
- Seguridad de usuarios y datos- Manejo de datos sensibles
- Prevención de abuso de la plataforma
- Respuesta ante vulnerabilidades descubiertas
 
- Transparencia de limitaciones técnicas
- Diligencia debida en cambios de alto impacto
- Deber de escalamiento cuando existe riesgo crítico
 
- Privacidad y manejo responsable de datos- Principios de minimización de datos
- Retención y eliminación segura- Políticas de retención por tipo de dato
- Eliminación verificable
- Registros de eliminación
- Retención legal obligatoria
 
- Consentimiento informado y revocabilidad
- Acceso interno con privilegio mínimo
- Anonimización y seudonimización de datos
- Uso ético de datos de usuarios
 
- Propiedad intelectual y licenciamiento de software- Licencias de código abierto y compatibilidad- Licencias permisivas
- Licencias copyleft
- Restricciones de redistribución
- Obligaciones de atribución
 
- Uso de dependencias de terceros
- Contribuciones internas a OSS
- Reutilización de código interno entre proyectos
- Protección de know-how estratégico
 
- Licencias de código abierto y compatibilidad
- Cumplimiento normativo y estándares de la industria- Estándares de seguridad de información
- Regulaciones sectoriales
- Normas de calidad y certificaciones- Procesos documentados
- Evidencia verificable
- Auditorías recurrentes
 
- Requisitos de auditoría externa
- Trazabilidad y logging de cumplimiento
 
- Riesgos de dependencia de un único proveedor y cierre tecnológico- Evaluación de lock-in en infraestructura
- Portabilidad de datos y servicios- Formatos estándar
- APIs exportables
- Replicación activa
 
- Estrategias multi-cloud o multi-proveedor
- Costos de salida y migración
- Planes de continuidad si el proveedor falla
 
- Sesgos algorítmicos y transparencia en sistemas automatizados- Identificación de sesgos en datos de entrenamiento
- Evaluación de impacto en grupos de usuarios
- Explicabilidad de decisiones automatizadas
- Auditoría continua de modelos en producción- Detección de deriva de datos
- Seguimiento de fairness metrics
- Alarmas de comportamiento anómalo
 
- Mecanismos de apelación y corrección
 
- Accesibilidad e inclusión en diseño y experiencia de usuario- Lineamientos de accesibilidad en interfaces- Navegación por teclado
- Contraste visual adecuado
- Lectores de pantalla
- Alternativas textuales a contenido visual
 
- Diseño inclusivo de flujos críticos
- Soporte multiplataforma y multicanal
- Tests de usabilidad con grupos diversos
- Lenguaje claro y comprensible
 
- Lineamientos de accesibilidad en interfaces
- Gobernanza de software libre y colaboración abierta- Modelos de gobernanza comunitaria
- Políticas de aportes internos a proyectos públicos- Aprobación interna previa
- Revisión legal
- Protección de información sensible
 
- Publicación de herramientas internas reutilizables
- Gestión de vulnerabilidades en dependencias abiertas
- Relaciones con mantenedores externos
 
- Protección de datos personales y trazabilidad de acceso- Control de acceso basado en rol
- Registro de accesos a datos sensibles- Quién accedió
- Cuándo accedió
- Para qué accedió
- Revisión periódica de accesos
 
- Alertas ante acceso inusual
- Separación de datos personales y operacionales
- Principio de menor privilegio
 
- Reproducibilidad técnica y científica- Versionado de código y datos
- Entornos de ejecución controlados- Infraestructura declarativa
- Contenedores versionados
- Dependencias congeladas
 
- Evidencia experimental verificable
- Pipelines deterministas y repetibles
- Publicación interna de resultados replicables
 
- Comunicación honesta y responsable con las partes interesadas- Informe claro de riesgos y limitaciones
- Comunicación temprana de incidentes relevantes- A quién se informa
- Cuándo se informa
- Nivel de detalle compartido
 
- Reportes de estado sin maquillaje técnico
- Mensajes coordinados con liderazgo
- Transparencia frente a fallos de seguridad
 
- Impacto social y ambiental del software- Huella energética de la infraestructura- Consumo energético por carga
- Eficiencia de cómputo
- Optimización de recursos inactivos
 
- Uso responsable de recursos computacionales
- Efectos sociales de la automatización
- Impacto en trabajo humano y mercado laboral
- Externalidades negativas no técnicas
 
- Huella energética de la infraestructura
- Soberanía de datos y cumplimiento regional- Localización geográfica de datos- Regiones permitidas
- Redundancia geográfica
- Jurisdicción aplicable
 
- Restricciones legales internacionales
- Procesamiento transfronterizo de información
- Requisitos de auditoría estatal
- Limitaciones de exportación de datos
 
- Localización geográfica de datos
- Gestión responsable de IA generativa- Uso aprobado de modelos internos y externos
- Protección de información confidencial al usar IA
- Revisión humana obligatoria en decisiones críticas- Decisiones regulatorias
- Decisiones financieras
- Decisiones que afectan usuarios finales
 
- Gestión de propiedad intelectual generada por IA
- Registro de prompts y outputs sensibles
 
 
- Responsabilidad profesional en ingeniería de software
- Innovación, investigación y mejora continua - Evaluación crítica de nuevas tecnologías- Viabilidad técnica y de negocio
- Riesgo de inmadurez tecnológica- Madurez de comunidad
- Estabilidad de APIs
- Soporte a largo plazo
 
- Costos operacionales y de adopción
- Reemplazo de soluciones actuales
- Horizonte temporal de retorno
 
- Prototipos rápidos y pruebas de concepto- Definición clara de hipótesis a validar
- Alcance reducido y enfocado
- Tiempo acotado de experimentación
- Criterios de éxito claros- Métricas técnicas objetivas
- Métricas de negocio
- Validación de usuarios reales
 
- Plan de descarte si no aporta valor
 
- Medición comparativa y benchmarking técnico- Pruebas de rendimiento controladas- Definición de dataset o carga sintética
- Condiciones reproducibles
- Métricas recogidas consistentemente
 
- Consumo de memoria y CPU
- Latencia y throughput
- Escalabilidad horizontal y vertical
- Costos de infraestructura asociados
 
- Pruebas de rendimiento controladas
- Observación de tendencias tecnológicas y estado del arte- Vigilancia tecnológica continua
- Mapeo de tecnologías emergentes relevantes
- Evaluación de disrupciones potenciales
- Relación con academia e investigación aplicada- Colaboraciones formales
- Publicaciones compartidas
- Acceso temprano a resultados de investigación
 
- Identificación de brechas de capacidad interna
 
- Participación en comunidades técnicas y proyectos abiertos- Contribución a proyectos de código abierto- Corrección de bugs
- Nuevas features
- Documentación y ejemplos
- Soporte a otros usuarios
 
- Presentaciones en meetups y conferencias
- Publicación de artículos técnicos
- Revisión de propuestas externas (RFC públicas)
- Reclutamiento técnico basado en reputación comunitaria
 
- Contribución a proyectos de código abierto
- Gestión del conocimiento interno y documentación compartida- Bases de conocimiento internas- Wiki técnica centralizada
- Catálogo de servicios
- Historial de incidentes y aprendizajes
 
- Librerías de patrones reutilizables
- Guías de buenas prácticas por dominio
- Sesiones de transferencia interna formalizadas
- Mecanismos de descubribilidad de información
 
- Bases de conocimiento internas
- Diseño centrado en el usuario para resolver problemas reales- Descubrimiento de necesidades reales del usuario
- Mapeo de journeys críticos- Pasos principales del flujo
- Fricciones actuales
- Riesgos de abandono
 
- Priorización de puntos de dolor
- Prototipos testeables con usuarios finales
- Medición de impacto percibido
 
- Planes de aprendizaje continuo y formación técnica- Programas internos de capacitación técnica- Talleres prácticos
- Laboratorios guiados
- Cursos internos grabados
 
- Presupuesto de formación y certificaciones
- Rotación por proyectos estratégicos
- Coaching entre pares
- Planes de especialización avanzada
 
- Programas internos de capacitación técnica
- Experimentación controlada y despliegues graduales- A/B testing y experimentos controlados- Definición de hipótesis
- Selección de cohortes
- Análisis estadístico
 
- Feature toggles y activación segmentada
- Experimentos en segmentos limitados de usuarios
- Evaluación de impacto en métricas clave
- Rollout progresivo a toda la base de usuarios
 
- A/B testing y experimentos controlados
- Innovación responsable, segura y sostenible- Evaluación de riesgos éticos y legales
- Seguridad por diseño desde prototipo
- Impacto ambiental y consumo de recursos
- Control de abuso y uso malicioso- Límites de uso aceptable
- Prevención de fraude
- Monitoreo de comportamientos tóxicos
 
- Gobernanza del ciclo de vida del experimento
 
- Estrategia de patentes y divulgación científica- Identificación de resultados patentables
- Protección de propiedad intelectual clave
- Decisión entre publicar o patentar- Ventaja competitiva
- Obligaciones de divulgación
- Tiempo de llegada al mercado
 
- Coordinación con legal y compliance
- Difusión académica y reputación científica
 
- Transferencia tecnológica y escalamiento a producción- Paso de prototipo a producto mantenible- Refactorización de código experimental
- Tests automatizados mínimos
- Documentación operativa inicial
 
- Endurecimiento de seguridad y cumplimiento
- Observabilidad desde el día uno
- Costeo y modelo operativo sostenible
- Formación del equipo que operará la solución
 
- Paso de prototipo a producto mantenible
- Cultura interna de experimentación y hack time- Espacios protegidos para exploración técnica
- Hackathons y semanas de innovación- Definición de temáticas estratégicas
- Presentación de resultados ante liderazgo
- Selección de ideas para producción
 
- Rotación de problemas técnicos desafiantes
- Incentivos al aprendizaje y al riesgo calculado
- Publicación interna de experimentos destacados
 
 
- Evaluación crítica de nuevas tecnologías
- Auditoría, métricas y optimización de procesos - Métricas de entrega y flujo de trabajo- Lead time de cambio a producción- Tiempo desde code commit a deploy
- Tiempo de revisión de PR
- Tiempo en QA y validación
 
- Tiempo de ciclo por feature
- Throughput del equipo
- Work in progress (WIP) y límites saludables
- Bloqueos recurrentes y esperas externas
 
- Lead time de cambio a producción
- Métricas de confiabilidad y disponibilidad- Uptime percibido por el usuario
- MTTR (tiempo medio de recuperación)- Diagnóstico inicial
- Contención
- Resolución definitiva
 
- MTTD (tiempo medio de detección)
- Incidentes de severidad alta
- Brechas de SLO
 
- Métricas de calidad de código- Cobertura de tests automática- Cobertura de unidades críticas
- Cobertura de paths de error
- Cobertura de lógica de negocio sensible
 
- Complejidad ciclomatica
- Duplicación de código
- Vulnerabilidades detectadas estáticamente
- Tiempo promedio para corregir bugs críticos
 
- Cobertura de tests automática
- Auditoría de seguridad y cumplimiento- Escaneo de dependencias vulnerables
- Gestión de parches de seguridad- Ventanas máximas de exposición
- Priorización por criticidad
- Seguimiento de parches aplicados
 
- Evaluación de controles de acceso
- Verificación de cifrado en tránsito y reposo
- Validación de cumplimiento regulatorio
 
- Auditoría de acceso y trazabilidad- Registro centralizado de accesos
- Alertas por accesos inusuales
- Revisión periódica de privilegios- Validez del acceso actual
- Necesidad operacional real
- Fecha de última revisión
 
- Ciclo de alta, modificación y baja de cuentas
- Evidencia de auditoría exportable
 
- Procesos de mejora continua tipo Kaizen- Identificación de desperdicios en proceso- Retrabajo
- Espera
- Exceso de proceso
- Movimientos manuales repetitivos
 
- Estandarización de buenas prácticas
- Iteraciones pequeñas y frecuentes
- Ciclos de feedback cortos
- Empoderamiento del equipo para proponer cambios
 
- Identificación de desperdicios en proceso
- Ciclo de retroalimentación con clientes y stakeholders- Captura estructurada de reclamos e incidentes
- Procesamiento de feedback post-release- Clasificación por tipo de problema
- Asignación al equipo responsable
- Seguimiento hasta resolución
 
- Identificación de patrones de fricción
- Priorización basada en severidad percibida
- Comunicación de mejoras entregadas
 
- Health checks organizacionales y madurez técnica- Salud del proceso de desarrollo
- Salud de la calidad del código
- Salud operacional y on-call- Carga de interrupciones fuera de horario
- Severidad promedio de incidentes
- Burnout percibido
 
- Salud cultural del equipo
- Plan de mejora priorizado
 
- Gestión de backlog de mejoras operativas- Registro centralizado de mejoras técnicas pendientes
- Priorización conjunta con liderazgo técnico- Riesgo operativo
- Impacto negocio
- Costo de no hacer
 
- Asignación clara de responsables
- Plazos objetivo de remediación
- Visibilidad ejecutiva de riesgos abiertos
 
- Automatización de controles y reportabilidad- Generación automática de reportes de cumplimiento
- Alertas preventivas ante desvíos de proceso
- Validaciones de seguridad integradas al pipeline- Escaneo de código estático
- Análisis de dependencias
- Pruebas de seguridad dinámicas
 
- Evidencia de auditoría lista para inspección
- Orquestación de flujos repetibles
 
- Transparencia interna y reportes ejecutivos- Cuadros de mando técnicos para liderazgo
- Reportes de confiabilidad de plataforma- Tendencia de incidentes
- Disponibilidad por servicio
- Cumplimiento de SLO
 
- Visibilidad de costos operacionales
- Estado de deuda técnica priorizada
- Roadmap de mitigación de riesgos
 
- Preparación para auditorías externas y certificaciones- Recolección anticipada de evidencia obligatoria
- Simulacros de auditoría- Alcance evaluado
- Gaps encontrados
- Acciones correctivas
 
- Planes de remediación para hallazgos
- Responsables internos por área de control
- Ciclo de renovación de certificaciones
 
 
- Métricas de entrega y flujo de trabajo