01
| Área | Tema Específico | Objetivo | Dif. | Recursos | Proyecto / Validación | Criterio de Éxito |
|---|---|---|---|---|---|---|
| Sintaxis Core | Variables, tipos mutables vs inmutables int, float, str, bool, None — identity vs equality |
Entender cómo Python gestiona objetos en memoria y cuándo dos variables apuntan al mismo objeto. | Fácil | Explicar la diferencia entre is y == con ejemplos de listas mutadas en funciones. |
Predecir correctamente el output de 10 snippets con referencias compartidas. | |
| Sintaxis Core | Control de flujo completo if/elif/else, for/while, break/continue, match-case (3.10+) |
Escribir lógica condicional expresiva evitando anidamiento excesivo (early returns, guard clauses). | Fácil | Refactorizar 5 funciones con if-else anidados usando match-case y early returns. | Código sin más de 2 niveles de indentación en la lógica principal. | |
| Sintaxis Core | Funciones: args, *args, **kwargs, closures Scope LEGB, funciones como ciudadanos de primera clase |
Comprender cómo Python resuelve nombres y cómo las funciones pueden capturar estado externo. | Fácil | Implementar un decorador de logging sin librerías que registre entrada/salida de cualquier función. | Decorador funciona con funciones que tienen cualquier firma (*args/**kwargs). | |
| Sintaxis Core | Comprensiones y expresiones generadoras List/dict/set comprehensions, generator expressions, lazy evaluation |
Transformar bucles imperativos en expresiones declarativas eficientes en memoria. | Fácil | Procesar un CSV de 500k filas con generadores sin cargarlo completo en memoria — medir el delta de RAM. | Uuso de memoria constante O(1) independientemente del tamaño del archivo. | |
| Estructuras de Datos | list, dict, set, tuple — cuándo usar cada uno Complejidad O(n) vs O(1), acceso por índice vs hash, inmutabilidad |
Seleccionar la estructura correcta basándose en el patrón de acceso, no en costumbre. | Fácil | Resolver 10 problemas de LeetCode Easy usando la estructura óptima y justificar la elección con Big-O. | Todas las soluciones con complejidad temporal óptima para el problema dado. | |
| Estructuras de Datos | collections: deque, Counter, defaultdict, OrderedDict Cuándo superar las estructuras built-in |
Conocer la biblioteca estándar para evitar reinventar la rueda en problemas comunes de procesamiento. | Fácil | Analizar logs de acceso a un servidor y calcular top-10 IPs, paths más frecuentes y sliding window de errores. | Uso Counter y deque; no usa sorted() innecesariamente sobre dicts. | |
| OOP | Clases, instancias, métodos, propiedades __init__, self, @property, @classmethod, @staticmethod |
Modelar entidades del dominio con encapsulamiento adecuado y acceso controlado al estado interno. | Medio | Diseñar un sistema de facturación con clases Product, Cart, Invoice con reglas de negocio encapsuladas. |
Estado privado con propiedades; lógica de negocio no expuesta como atributos públicos. | |
| OOP | Herencia, super(), MRO, composición vs herencia Method Resolution Order, mixins, evitar herencia profunda |
Entender cuándo la herencia genera acoplamiento y preferir composición para extensibilidad. | Medio | Refactorizar una jerarquía de 4 niveles usando mixins y composición. Medir reducción de acoplamiento. | Sin más de 2 niveles de herencia; comportamiento compartido como mixins o composición. | |
| OOP | Dunder methods: __str__, __repr__, __eq__, __hash__, __len__ Protocolo de Python, objetos comparables, hashables y serializables |
Hacer que objetos del dominio se integren naturalmente con estructuras de datos nativas de Python. | Medio | Clase Money(amount, currency) que soporte comparación, suma, uso en sets y repr clara para logs. |
Objetos usables en set(), comparables con ==, y con repr() reproducible. |
|
| Manejo de Errores | try/except/else/finally, excepciones personalizadas Jerarquía de excepciones, never catch-all, logging de errores |
Gestionar fallos de forma explícita y construir excepciones de dominio que comuniquen contexto de negocio. | Fácil | Librería CLI de procesamiento de archivos con excepciones propias: FileFormatError, DataValidationError. |
Sin except Exception genérico; cada excepción captura sólo lo que puede manejar. |
|
| I/O y Archivos | File I/O, pathlib, csv, json modules Context managers, encoding, modos de apertura |
Leer y escribir datos estructurados de forma robusta y sin fugas de recursos. | Fácil | ETL script: leer CSVs de múltiples carpetas, transformar y exportar JSON con manejo de encoding UTF-8/Latin-1. | Usa pathlib.Path (no os.path); cierra archivos siempre con context managers. |
|
| HTTP y APIs | Protocolo HTTP: métodos, status codes, headers GET/POST/PUT/PATCH/DELETE, 2xx/4xx/5xx, Content-Type, Auth headers |
Entender la comunicación cliente-servidor para consumir y eventualmente construir APIs correctamente. | Fácil | Cliente CLI que consuma la API de MercadoLibre: buscar productos, filtrar por precio, exportar top 20 en JSON. | Manejo explícito de 429 (rate limit) con retry; nunca ignorar el status code de la respuesta. | |
| HTTP y APIs | Librería requests: sesiones, timeouts, autenticación Session reutilizable, headers por defecto, manejo de errores de red |
Construir clientes HTTP robustos que no fallen silenciosamente ante errores de red. | Fácil | Wrapper sobre una API externa con retry automático (exponential backoff) y timeout configurable. | No usa requests.get() global; usa Session(); siempre especifica timeout. |
|
| Git | Git workflow: branches, commits semánticos, merge vs rebase Conventional Commits, feature branches, resolución de conflictos |
Colaborar en equipos mediante un historial de cambios limpio, rastreable y reversible. | Fácil | Mantener un proyecto de 4 semanas con +20 commits semánticos, 3 feature branches y 1 conflicto resuelto documentado. | Historial lineal legible; commits atómicos con mensaje tipo feat(auth): add JWT validation. |
|
| Calidad de Código | PEP 8, type hints, linting con ruff/flake8 Anotaciones de tipos, mypy básico, docstrings estilo Google |
Escribir código que un colaborador entienda sin explicación verbal y que las herramientas puedan analizar. | Fácil | Pasar ruff check . y mypy . sin errores en un proyecto de 500+ líneas con type hints completos. |
0 errores de linting; todas las funciones públicas con type hints y docstring. |
02
| Área | Tema Específico | Objetivo | Dif. | Recursos | Proyecto / Validación | Criterio de Éxito |
|---|---|---|---|---|---|---|
| FastAPI | Routers, path/query params, request body APIRouter, response_model, status_code, tags para OpenAPI |
Estructurar una API en módulos con separación de responsabilidades desde el primer commit. | Medio | API de e-commerce con módulos products, orders, users — cada uno con su propio router y OpenAPI tags. |
Swagger UI completo y navegable; sin lógica de negocio en los routers directamente. | |
| FastAPI | Dependency Injection: Depends(), lifespan events Gestión del ciclo de vida de conexiones, DB session per request |
Manejar recursos compartidos (DB connections, HTTP clients) de forma eficiente y sin fugas. | Medio | Dependency que provee sesión de DB por request y la cierra al terminar; cliente HTTP reutilizado via lifespan. | Sin session leaks bajo carga; async with lifespan(app) para inicialización global. |
|
| Pydantic v2 | BaseModel, Field, validators, model_config @field_validator, @model_validator, alias, serialización |
Garantizar integridad de datos en el borde de la API con validaciones expresivas y mensajes de error útiles. | Medio | Esquemas para un sistema de pagos: CreatePaymentRequest con validación cruzada de moneda/monto/tarjeta. |
Errores de validación con loc y msg claros; sin validación manual en los endpoints. |
|
| Pydantic v2 | Pydantic Settings: configuración desde env vars pydantic-settings, .env files, SecretStr para secretos |
Separar configuración del código para deploys seguros en múltiples entornos (12-factor app). | Fácil | Configuración tipada que carga de .env en dev y de variables de entorno en producción sin cambiar código. | Cero strings hardcodeadas para config; secrets manejados como SecretStr. |
|
| PostgreSQL | DDL: CREATE TABLE, constraints, índices básicos PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, B-tree index |
Diseñar esquemas relacionales que garanticen integridad de datos a nivel de base de datos, no solo aplicación. | Medio | Esquema para sistema de e-commerce en 3NF: usuarios, productos, categorías, órdenes, ítems de orden. | Constraints a nivel DB; FK con ON DELETE CASCADE donde sea apropiado; índices en columnas de búsqueda. | |
| PostgreSQL | DML: JOINs, GROUP BY, window functions, EXPLAIN INNER/LEFT JOIN, aggregaciones, ROW_NUMBER, EXPLAIN ANALYZE |
Escribir consultas eficientes y diagnosticar el plan de ejecución antes de llegar a producción. | Medio | Report de top 10 productos más vendidos por categoría en el último mes con window function y tiempo < 200ms. | EXPLAIN ANALYZE sin Seq Scan en tablas > 10k filas; query < 200ms en dataset de prueba. | |
| SQLAlchemy 2.0 | Modelos declarativos, relaciones, AsyncSession Mapped[], relationship(), lazy/eager loading, selectin |
Mapear el dominio a tablas relacionales evitando el N+1 query problem desde el diseño. | Medio | ORM completo para el e-commerce con relaciones y carga eficiente de datos: 0 queries N+1 verificados con logging SQL. | Carga con selectin o joined en relaciones; sin lazy="select" en endpoints de listado. |
|
| SQLAlchemy 2.0 | Alembic: migraciones, autogenerate, downgrade env.py, revision heads, data migrations, multi-head |
Evolucionar el esquema de DB sin downtime y con capacidad de rollback documentada. | Medio | Ejecutar 5 migraciones incluyendo una con data migration; downgrade exitoso sin pérdida de datos en todos los casos. | Cada migración probada con upgrade + downgrade en entorno limpio antes de merge. |
|
| Testing | Pytest: fixtures, parametrize, conftest.py Setup/teardown, scope de fixtures, factories con faker |
Construir una suite de pruebas que documente el comportamiento esperado y detecte regresiones automáticamente. | Medio | Suite con +50 tests para la API de e-commerce; cobertura > 80%; factories de datos con Faker para datos realistas. | Tests aislados entre sí; sin orden de ejecución implícito; cobertura verificada con pytest-cov. |
|
| Testing | Mocking: unittest.mock, pytest-mock, AsyncMock patch(), MagicMock, side_effect, httpx mock para APIs externas |
Aislar unidades de código de sus dependencias externas para probarlas de forma determinista y rápida. | Medio | Tests unitarios para un servicio de notificaciones que mockea el cliente SMTP y la API de SMS; sin llamadas reales. | Tests ejecutan en < 2s en total; 0 llamadas a servicios externos en la suite de unit tests. | |
| Docker | Dockerfile: multi-stage builds, capas, .dockerignore Imagen mínima, non-root user, build args vs env vars |
Empaquetar aplicaciones en imágenes reproducibles, seguras y optimizadas para el registry. | Medio | Imagen multi-stage para FastAPI: builder + runtime. Imagen final < 150MB, user no-root, sin secrets en capas. | Audit de seguridad con docker scout sin vulnerabilidades críticas; imagen < 150MB. |
|
| Docker | Docker Compose: servicios, volúmenes, redes, healthchecks depends_on con condition, redes bridge, bind mounts vs volumes |
Levantar un stack local completo (API + DB + cache) reproducible para cualquier miembro del equipo en un comando. | Medio | Compose con FastAPI, PostgreSQL, Redis y pgAdmin; healthchecks en todos los servicios; setup en < 2 min desde cero. | API sólo arranca cuando DB pasa healthcheck; datos de DB persisten entre reinicios. | |
| Auth | JWT: generación, validación, refresh tokens python-jose / PyJWT, payload, expiry, firma asimétrica RS256 |
Implementar autenticación stateless sin comprometer la seguridad del acceso a recursos protegidos. | Medio | Sistema auth completo: registro, login, refresh token rotation, logout con token revocation en Redis. | Access token: 15min TTL; refresh token: httpOnly cookie; revocación funcional sin DB extra. | |
| Logging | Logging estructurado con structlog o logging module JSON logs, correlation ID por request, niveles y handlers |
Producir logs que un sistema de observabilidad pueda indexar, buscar y correlacionar con contexto de negocio. | Fácil | Middleware FastAPI que inyecta request_id en cada log del request; logs en JSON en producción, human-readable en dev. |
Todos los logs de un request comparten el mismo request_id correlacionable en producción. |
03
| Área | Tema Específico | Objetivo | Dif. | Recursos | Proyecto / Validación | Criterio de Éxito |
|---|---|---|---|---|---|---|
| Async / Concurrencia | asyncio: event loop, coroutines, tasks, gather asyncio.create_task(), asyncio.gather(), shield(), timeout() |
Diseñar servicios que manejen miles de conexiones I/O concurrentes sin bloquear el event loop. | Difícil | Agregador de noticias asíncrono que consulte 100 fuentes RSS simultáneamente con timeout por fuente y sem de concurrencia. | Tiempo total ≈ max(fuente más lenta) + overhead; Semaphore(20) para no saturar red. | |
| Async / Concurrencia | asyncio avanzado: Semaphore, Lock, Queue, async generators Backpressure, control de concurrencia, streaming responses |
Controlar el flujo de trabajo concurrente para evitar saturación de recursos downstream. | Difícil | Pipeline de procesamiento de imágenes con Queue para limitar workers concurrentes y backpressure controlado. | Memoria estable bajo carga sostenida; sin deadlocks ni starvation bajo load test de 60s. | |
| Async / Concurrencia | httpx async client: connection pooling, retries, timeouts AsyncClient reutilizable, backoff exponencial, circuit breaker básico |
Construir clientes HTTP asíncronos para comunicación inter-servicio resilientes ante fallos transitorios. | Difícil | Clase ServiceClient genérica con retry exponencial configurable, timeout adaptativo y circuit breaker con tenacity. |
Falla rápido (fail-fast) cuando el servicio upstream está caído; no cuelga el event loop. | |
| Background Jobs | Celery: task definition, routing, retry strategies @shared_task, bind=True, max_retries, eta, countdown |
Desacoplar tareas pesadas del ciclo HTTP para mantener tiempos de respuesta de la API por debajo de 200ms. | Difícil | Sistema de generación de reportes PDF en segundo plano: task con retry, notificación por webhook al completar. | Endpoint retorna en < 50ms; reintento automático con backoff ante fallo; 0 tareas huérfanas. | |
| Background Jobs | Celery Beat: tareas periódicas, monitoreo con Flower crontab schedule, Flower dashboard, worker concurrency |
Orquestar trabajos programados y tener visibilidad operativa del estado de las colas en tiempo real. | Difícil | Job nocturno de reconciliación de inventario con alertas si falla; métricas de throughput visibles en Flower. | Alert en Slack si la tarea no se ejecuta en su ventana esperada; tasa de éxito > 99%. | |
| Redis Avanzado | Redis: pub/sub, streams, sorted sets, TTL patterns Leaderboards, rate limiting, distributed locks, XADD/XREAD |
Usar Redis como plataforma de mensajería y coordinación, más allá del simple caching de key-value. | Medio | Rate limiter por usuario con sliding window counter en Redis; distributed lock para evitar procesamiento duplicado. | Rate limit exacto bajo concurrencia alta (100 req simultáneos); lock libera siempre, incluso ante crash. | |
| Arquitectura | Repository Pattern y Unit of Work Abstracción de persistencia, interfaces, inyección de dependencias |
Separar la lógica de negocio pura de los detalles de almacenamiento para hacerla testeable en aislamiento. | Difícil | Refactorizar un servicio para que su lógica de dominio se pruebe sin base de datos (in-memory repository). | Tests de dominio corren en < 1s sin Docker; intercambiar SQL ↔ MongoDB sin tocar la lógica. | |
| Arquitectura | Principios SOLID en Python: DI, OCP, SRP Protocol typing, ABC, inversión de dependencias con inyección |
Escribir módulos que sean extensibles sin modificación y fáciles de sustituir en pruebas o en evolución del sistema. | Difícil | Diseñar un sistema de notificaciones que soporte Email, SMS y WhatsApp sin modificar el código del servicio core. | Añadir un nuevo canal requiere sólo una nueva clase; 0 cambios en el servicio existente. | |
| Arquitectura | Event-Driven: RabbitMQ o Kafka básico Producers, consumers, dead letter queue, idempotencia de mensajes |
Desacoplar microservicios mediante eventos para lograr consistencia eventual y tolerancia a fallos parciales. | Difícil | Sistema de pedidos donde orders-service publica eventos y inventory-service los consume idempotentemente. |
Mensaje duplicado procesado una sola vez (idempotency key); DLQ configurable con alertas. | |
| CI/CD | GitHub Actions: pipelines, matrix, secrets management Workflows on push/PR, test + lint + build + deploy stages |
Automatizar el ciclo completo de validación y despliegue para eliminar errores manuales y acelerar el delivery. | Medio | Pipeline que ejecuta tests, linting, análisis de seguridad (Trivy) y despliega a staging automáticamente en cada PR aprobado. | PR sin tests verdes no puede hacer merge; deploy automático sólo si todas las checks pasan. | |
| Cloud / AWS | AWS Core: EC2, RDS, S3, ElastiCache, SQS, IAM Roles IAM con least privilege, VPC básica, grupos de seguridad |
Desplegar y conectar los componentes de una aplicación backend en AWS con principios de seguridad mínima. | Medio | Desplegar el stack completo (API en EC2, DB en RDS, caché en ElastiCache) con IAM roles sin claves de acceso hardcodeadas. | Sin credenciales en código o env vars de instancia; acceso a S3 via IAM role; 0 servicios expuestos públicamente sin necesidad. | |
| Cloud / AWS | Terraform básico: providers, resources, variables, state terraform plan/apply, remote state en S3, módulos simples |
Gestionar infraestructura como código para que los entornos sean reproducibles, versionados y auditables. | Medio | Infraestructura completa del stack en Terraform: VPC, subnets, RDS, ElastiCache, EC2 con user_data para la API. | terraform destroy + terraform apply recrea el stack idéntico en < 10 minutos. |
|
| NoSQL / Cache | Estrategias de caché: cache-aside, write-through, invalidación Cache stampede prevention, TTL vs event-based invalidation |
Reducir latencia y carga en DB aplicando la estrategia de caché apropiada para cada patrón de lectura/escritura. | Medio | Capa de caché para la API de productos: reducción medible de latencia P95 en 60%+ para rutas populares bajo load test. | Cache hit ratio > 80% en escenario realista; invalidación correcta al actualizar producto. | |
| NoSQL / Cache | MongoDB: document modeling, aggregation pipeline Embedded vs referenced, índices compuestos, $lookup, $unwind |
Modelar datos no estructurados o con esquema variable eligiendo entre embedding y referencias basándose en patrones de acceso. | Medio | Modelo de catálogo de productos con atributos variables por categoría; aggregation para analytics de ventas por región. | Justificación documentada para embedding vs reference en cada relación; pipeline sin $lookup innecesario. | |
| Load Testing | Locust o k6: escenarios de carga, ramp-up, análisis Virtual users, throughput, P50/P95/P99 latency, bottleneck ID |
Identificar cuellos de botella antes de producción mediante pruebas de carga representativas del tráfico esperado. | Medio | Escenario de 500 usuarios simultáneos sobre la API; identificar y solucionar el cuello de botella principal; re-test. | P95 latency < 500ms bajo 500 usuarios; bottleneck identificado con evidencia y solucionado. |
04
| Área | Tema Específico | Objetivo | Dif. | Recursos | Proyecto / Validación | Criterio de Éxito |
|---|---|---|---|---|---|---|
| System Design | CAP Theorem, consistencia eventual, PACELC CP vs AP trade-offs, read-your-writes, monotonic reads, linearizability |
Tomar decisiones arquitectónicas informadas sobre modelos de consistencia según los requisitos de negocio concretos. | Experto | Diseñar el sistema de inventario de MercadoLibre: justificar si priorizar disponibilidad o consistencia en cada operación. | Documento ADR con análisis de trade-offs para las 3 operaciones críticas del sistema. | |
| System Design | Sharding, particionamiento y replicación de bases de datos Horizontal sharding, consistent hashing, read replicas, replication lag |
Escalar la capa de persistencia más allá de una instancia única sin sacrificar la consistencia de datos críticos. | Experto | Diseño de un sistema de URL shortener a 100M URLs/día con sharding por hash de alias y replicación geográfica. | Diagrama con estrategia de sharding, análisis de hot-spots y plan de rebalanceo. | |
| System Design | API Gateway, BFF, gRPC inter-service Protocol Buffers, streaming bidireccional, service mesh básico |
Diseñar la capa de comunicación entre microservicios eligiendo el protocolo óptimo para cada contrato. | Experto | Comunicación entre orders y payments via gRPC con streaming; API Gateway en Kong o Traefik en el borde. |
Latencia inter-servicio < 5ms en red local; proto contracts versionados con backwards compatibility. | |
| Performance | Python 3.14 free-threading (no-GIL) para CPU-bound threading module sin GIL, shared state safety, benchmarking paralelo |
Explotar paralelismo real en tareas CPU-intensivas que antes requerían multiprocessing o extensiones en C. | Experto | Motor de scoring de recomendaciones: comparar multiprocessing vs free-threading en Python 3.14 con 8 cores. Documentar speedup. | Speedup demostrado ≥ 3x vs single-thread en tarea CPU-bound; análisis de correctitud thread-safe. | |
| Performance | Profiling: py-spy, cProfile, memory-profiler, flamegraphs Sampling vs instrumenting profilers, heap profiling, call stack analysis |
Localizar cuellos de botella con evidencia cuantitativa antes de optimizar, evitando premature optimization. | Experto | Identificar y solucionar los 3 hotspots principales de una API con flamegraph; documentar mejora con benchmarks antes/después. | Reducción de CPU time ≥ 40% en el endpoint más costoso con cambios justificados por flamegraph. | |
| Performance | Database query optimization: EXPLAIN ANALYZE, índices, pgBouncer Connection pooling, prepared statements, partial indexes, BRIN vs B-tree |
Optimizar la capa de base de datos para soportar carga de producción sin escalar hardware innecesariamente. | Experto | Reducir tiempo de query más lenta de una API de analytics de 2s a < 200ms documentando cada cambio con EXPLAIN ANALYZE. | Evidencia de EXPLAIN ANALYZE antes/después; sin Seq Scans en tablas > 100k filas. | |
| Observabilidad | OpenTelemetry: traces, métricas y logs correlacionados Spans, baggage, context propagation, OTLP exporter |
Instrumentar un ecosistema de microservicios para que cualquier petición sea rastreable de extremo a extremo en segundos. | Difícil | 3 microservicios con OTel auto + manual instrumentation; traces completas en Jaeger; correlación trace-log-metric por request_id. | Dada una petición fallida, identificar el servicio y línea causante en < 2 minutos usando sólo la UI de observabilidad. | |
| Observabilidad | Prometheus + Grafana: dashboards, alertas, SLO/SLA RED method (Rate, Errors, Duration), SLO burn rate alerts |
Definir y monitorear Service Level Objectives que reflejen la experiencia real del usuario, no solo que el proceso está vivo. | Difícil | Dashboard con métricas RED para cada servicio; alerta de SLO burn rate que dispara antes de consumir el budget de error. | Alert dispara cuando el error rate consume el 5% del error budget en 1 hora; 0 false positives en 48hs. | |
| Seguridad | OAuth2 / OIDC: Authorization Code Flow, PKCE, token introspection Keycloak o Auth0, scopes, claims, refresh token rotation |
Integrar autenticación delegada con un IdP externo siguiendo los flujos estándar de la industria sin implementar auth casero. | Difícil | API protegida con Keycloak: PKCE flow para SPA, client credentials para M2M, token introspection en el API Gateway. | Tokens de acceso no almacenados en localStorage; refresh rotation funcional; revocación inmediata al logout. | |
| Seguridad | RBAC/ABAC y OWASP Top 10 para APIs Injection, broken object-level auth, SSRF, mass assignment, rate limiting |
Diseñar sistemas de control de acceso granular y blindar la API contra los vectores de ataque más comunes. | Difícil | Audit de seguridad propio sobre la API: identificar y corregir al menos 3 de las OWASP Top 10; reporte con evidencia. | Scan con Snyk + checklist manual OWASP sin vulnerabilidades críticas o altas sin resolver. | |
| Seguridad | Dependency security: dependabot, pip-audit, SBOM CVE scanning, pinning de versiones, Software Bill of Materials |
Gestionar la superficie de ataque de la cadena de suministro de dependencias de forma continua y automatizada. | Difícil | Pipeline con pip-audit en CI que bloquea merge si hay CVE crítica; SBOM generado en cada release. | 0 CVEs críticas sin PR de remediación en < 24hs; SBOM disponible en el registry de artefactos. | |
| Resiliencia | Circuit Breaker, Bulkhead, Retry con backoff tenacity, pybreaker, fallback strategies, chaos engineering básico |
Diseñar servicios que degradan graciosamente ante fallos parciales en lugar de fallar en cascada. | Difícil | Introducir caos (latencia alta, errores aleatorios) en un servicio dependiente y verificar que el sistema principal no cascadea. | Servicio degradado retorna respuesta de fallback en < 500ms; upstream fallo no se propaga al cliente. | |
| Kubernetes | Pods, Deployments, Services, ConfigMaps, Secrets Rolling update, health probes (liveness/readiness/startup), HPA |
Desplegar y escalar aplicaciones en Kubernetes con zero-downtime deployments y autoescalado basado en métricas reales. | Difícil | Deploy de la API en k8s local (minikube): rolling update sin downtime, HPA que escala entre 2-10 pods bajo carga. | 0 requests fallidos durante rolling update; HPA activa en < 60s cuando CPU > 70%. | |
| Liderazgo Técnico | Architectural Decision Records (ADR) y RFC process Formato ADR (context/decision/consequences), revisión por pares técnicos |
Documentar decisiones arquitectónicas con su contexto y consecuencias para evitar repetir debates en el futuro. | Medio | Escribir 3 ADRs para decisiones técnicas reales del equipo; facilitar el proceso de revisión y consenso hasta aprobación. | ADRs con alternativas consideradas, decisión con justificación y consecuencias positivas/negativas explícitas. |
05
| Área | Tema Específico | Objetivo | Dif. | Recursos | Proyecto / Validación | Criterio de Éxito |
|---|---|---|---|---|---|---|
| IA Agentica | LangGraph: state machines, nodos, edges condicionales StateGraph, interrupt_before, human-in-the-loop, streaming events |
Orquestar flujos de trabajo autónomos multi-agente con control de estado explícito y capacidad de intervención humana. | Experto | Agente de customer support que consulta DBs, ejecuta scripts de compensación y escala a humano con contexto completo. | Tasa de resolución autónoma > 70%; escalado a humano con traza completa de lo que intentó el agente. | |
| IA Agentica | PydanticAI: structured tool calling, type-safe agents Agent, Tool, RunContext, structured outputs con Pydantic models |
Construir agentes de IA con outputs estructurados y tipados que se integren limpiamente en backends Python existentes. | Experto | Agente de análisis financiero que extrae datos de DBs, genera reportes tipados en Pydantic y decide acciones de portfolio. | 0 parsing errors de outputs del LLM; outputs validados con Pydantic en 100% de las ejecuciones. | |
| IA Agentica | RAG Systems: vector DBs, chunking, reranking pgvector, Qdrant, embedding models, semantic search, HyDE |
Construir sistemas de retrieval que permitan a los LLMs razonar sobre bases de conocimiento privadas de la empresa. | Experto | RAG sobre documentación técnica interna: precision@10 > 85%; latencia < 2s; evaluación automatizada con RAGAS. | Benchmark con RAGAS: faithfulness > 0.85, answer relevancy > 0.80 en dataset de evaluación de 100 preguntas. | |
| Platform Engineering | Internal Developer Platform (IDP): diseño y adopción Golden paths, Backstage, self-service provisioning, paved roads |
Crear abstracciones que permitan a los equipos de producto crear nuevos servicios con seguridad y observabilidad nativa desde el minuto uno. | Experto | Template de microservicio en Backstage que provisiona: repo, CI/CD, monitoring, secrets, DB y service mesh en < 5 minutos. | Tiempo de creación de nuevo servicio: de días a < 10 minutos; adopción > 80% del engineering team. | |
| Platform Engineering | Kubernetes Avanzado: KEDA, Operators, service mesh (Istio) Event-driven autoscaling, CRDs, traffic management, mTLS entre servicios |
Diseñar la plataforma de cómputo para que los equipos escalen automáticamente basados en señales de negocio, no solo CPU. | Experto | KEDA scaling basado en longitud de cola SQS; Istio con mTLS automático entre todos los servicios; canary deployment para releases. | Scaling reactivo a eventos de negocio en < 30s; 100% de tráfico inter-servicio con mTLS verificado. | |
| Engineering Metrics | DORA Metrics: Deployment Frequency, Lead Time, MTTR, CFR Measurement instrumentation, trend analysis, benchmark vs industria |
Cuantificar la capacidad de entrega del equipo con métricas objetivas para identificar bloqueos sistémicos y priorizar mejoras. | Experto | Dashboard automatizado con DORA metrics desde GitHub + PagerDuty; tendencias de 90 días; actionable insights por squad. | Equipo clasificado en tier "High" DORA; cada métrica con objetivo SMART y dueño asignado. | |
| Engineering Metrics | Developer Experience (DevEx): SPACE framework, feedback loops Satisfaction, Performance, Activity, Communication, Efficiency |
Diseñar el entorno de desarrollo para que los ingenieros puedan entrar en estado de flujo consistentemente sin fricción tooling. | Experto | Survey trimestral de DevEx con SPACE framework; roadmap de mejoras priorizado; métricas antes/después de cada iniciativa. | Mejora estadísticamente significativa en satisfacción del developer después de 2 ciclos de mejora medidos. | |
| Estrategia Técnica | Tech Debt Strategy: ADR repository, cuantificación, roadmap Debt ledger, interest rate calculation, kill-by date, refactor sprints |
Gestionar la deuda técnica como un activo financiero: cuantificarla, priorizarla con el negocio y planificar su amortización. | Experto | Inventario de deuda técnica valorizado en "engineering days"; roadmap de 2 años con ROI estimado por ítem; aprobado por CTO. | Deuda priorizada por impacto en DORA metrics; cada item con fecha de resolución y responsable nombrado. | |
| Estrategia Técnica | Engineering roadmaps: OKR alignment, capacity planning Technical strategy document, build vs buy framework, RFC aprobación |
Traducir la estrategia de negocio en inversiones técnicas concretas con impacto medible y alineación ejecutiva. | Experto | Documento de estrategia técnica de 18 meses: 3 iniciativas con OKRs, análisis de capacidad del equipo y plan de riesgos. | Aprobado en revisión con VPs; tracking trimestral de progreso con datos objetivos publicados al equipo. | |
| Multi-Cloud | Cloud-agnostic architecture: Terraform modules, abstraction layers Provider-agnostic Terraform, CNCF landscape, portabilidad de workloads |
Diseñar la infraestructura para evitar lock-in de proveedor y poder migrar cargas de trabajo según condiciones de negocio. | Experto | Módulos Terraform abstraídos que despliegan el mismo stack en AWS y GCP sin cambios en la lógica de módulo. | Deploy idéntico en ambas nubes en < 30 minutos; 0 recursos cloud-specific en módulos compartidos. | |
| Multi-Cloud | FinOps: cost attribution, rightsizing, spot strategy Cost tagging, budget alerts, reserved vs on-demand, savings plans |
Optimizar el gasto en cloud con visibilidad por producto y equipo para tomar decisiones de arquitectura con consciencia de costo. | Experto | Dashboard de cost attribution por equipo/producto; rightsizing plan que reduzca el bill en > 20% sin degradar SLOs. | Reducción de > 20% en cloud spend; cada squad con visibilidad de su costo y responsabilidad sobre él. | |
| Seguridad Governance | Supply chain security: SLSA, SBOM, SAST/DAST en CI Sigstore, cosign, artifact signing, GitHub OIDC, OSSF Scorecard |
Garantizar la integridad de la cadena de suministro de software desde el commit hasta el artefacto desplegado en producción. | Experto | Pipeline con SLSA Level 2: artefactos firmados con cosign, SBOM publicado en cada release, OSSF Scorecard > 7/10. | Artefacto en producción sólo si firma verificable; OSSF Scorecard público y > 7/10 en el repo principal. | |
| ML Systems | Model serving: MLflow, Ray Serve, feature stores Model registry, A/B testing de modelos, online feature store, drift detection |
Diseñar la infraestructura MLOps que permita a los equipos de data science desplegar y monitorear modelos en producción de forma autónoma. | Experto | Plataforma MLOps: model registry en MLflow, serving en Ray Serve con A/B testing, monitoreo de data drift con Evidently. | Deploy de nuevo modelo en producción en < 30 min via PR; alert automático ante data drift > threshold definido. |