4h/día · Lun–Vie · 6 Ago 2026 → 15 Abr 2027
Backend
Engineering
4 horas diarias, lunes a viernes. 720 horas de contenido en 36 semanas (~8.5 meses). Java + Spring Boot como stack principal (curso base: Hyperskill), con una fase final de Go como segundo paradigma de concurrencia.
0% completado
36
Semanas
720h
Totales
9
Fases
20h
Por semana
Scroll
01 — Fases del programa
Roadmap completo
9 fases progresivas que cubren todo el stack backend, desde Linux hasta sistemas distribuidos, con Java + Spring Boot como stack principal y Go como cierre.
01
Linux & Terminal
Semanas 1–2 · 40h
Sistema de archivos, permisos, procesos, senales, shell scripting, SSH, cron jobs y manejo de logs del sistema.
Proyecto Script bash que automatiza el setup completo de un entorno de desarrollo.
02
Redes & HTTP
Semanas 3–5 · 60h
TCP/IP, DNS, puertos, sockets. HTTP/HTTPS a fondo: verbos, headers, cookies, sesiones. TLS/SSL, WebSockets, CORS y caching HTTP.
Proyecto Analisis con curl + Wireshark del ciclo completo de una request HTTP.
03
Bases de Datos
Semanas 6–11 · 120h
Modelado relacional, normalizacion, ACID, indices, query planner. NoSQL: cuando y como. Migraciones, backups, replicacion, connection pooling. ORM y Query Builders para integración programática.
Proyecto BD completa de una app de facturacion freelance con migraciones versionadas.
04
Diseno de APIs
Semanas 12–16 · 100h
Framework backend (Java + Spring Boot), REST a fondo, idempotencia, autenticacion JWT y OAuth 2.0, versionado, paginacion, rate limiting. GraphQL y cuando tiene sentido.
Proyecto API REST completa con JWT, Swagger, manejo de errores y rate limiting.
05
Seguridad
Semanas 17–19 · 60h
OWASP Top 10:2025 (Broken Access Control, Security Misconfiguration, Supply Chain), SQL injection, XSS, CSRF. Hashing de contrasenas, manejo de secretos, HTTPS en produccion y headers de seguridad.
Proyecto Security audit de la API anterior. Encontrar y corregir vulnerabilidades reales.
06
Arquitectura
Semanas 20–24 · 100h
Clean Architecture, DDD, event-driven, CQRS. Monolito modular vs microservicios. Circuit breaker, retry, timeout y patrones de resiliencia.
Proyecto Refactorizar la API del portafolio aplicando Clean Architecture.
07
Infraestructura & DevOps
Semanas 25–29 · 100h
Docker a fondo, multi-stage builds, Docker Compose. CI/CD con GitHub Actions. VPS + Nginx reverse proxy + SSL. Monitoreo con Grafana y Prometheus.
Proyecto Deploy en VPS real con Docker, Nginx, SSL y pipeline de CI/CD automatico.
08
Escalabilidad & Proyecto Final
Semanas 30–34 · 100h
Load balancing, caching con Redis, Message Queues (Kafka/RabbitMQ), CAP theorem, consistencia eventual, sistemas distribuidos. Backend testing aplicado con JUnit 5/Mockito. Proyecto integrador completo con 1 semana de desarrollo.
Proyecto Final Backend completo de un SaaS: API, BD, auth, deploy en produccion, CI/CD, monitoreo y suite de tests completa.
09
Go — Segundo Paradigma
Semanas 35–36 · 40h
Goroutines, channels y el modelo CSP de concurrencia. net/http, sqlx/GORM, testing nativo y deploy como binario estatico. No reemplaza a Spring Boot: complementa con una perspectiva distinta de concurrencia y footprint minimo.
Proyecto Microservicio en Go que consume un evento de Kafka y expone un endpoint REST — deploy como binario estatico en Docker scratch.
02 — Semana tipo
Distribucion semanal
20 horas semanales en 4 horas diarias, de lunes a viernes. Mismo ritmo que el Frontend. Los 36 modulos de contenido se completan en 36 semanas calendario (~8.5 meses).
Distribucion diaria · 4h · Lunes a Viernes
📖 Lectura, videos y documentacion2h
⌨️ Practica, codigo y experimentacion1h 30min
📝 Notas, resumen y documentar30min
Contenido de la semana
- Jerarquía FHS: /bin, /etc, /var, /home, /proc — qué vive donde y por qué
- Navegación y permisos: ls -la, find, chmod (numérico y simbólico), chown, umask, SUID/SGID/sticky bit
- Gestión de usuarios y grupos: useradd, usermod, passwd, /etc/passwd, /etc/shadow
- Hard links vs symbolic links, redirección y pipes: >, >>, <, |, tee, xargs
- Gestión de procesos: ps aux, top/htop, pgrep, kill, nice/renice, jobs, fg/bg
- Señales UNIX: SIGTERM, SIGKILL, SIGHUP, SIGINT — diferencias y cuándo usar cada una
Fuentes de referencia
Libro
The Linux Command Line
William Shotts. Capítulos 1–9. Navegación, permisos, filesystem y procesos. Gratuito en linuxcommand.org
Abrir →Roadmap
roadmap.sh/linux
Mapa visual interactivo. Nodos: Filesystem, Permissions, Users & Groups, Processes
Abrir →YouTube
LearnLinuxTV
Serie "Linux for Beginners". Ejemplos reales en terminal, progresivo.
Contenido de la semana
- Variables de entorno: PATH, export, /etc/environment, .bashrc vs .bash_profile vs .profile
- Shell scripting: shebang, variables, argumentos ($1, $@, $?), if/for/while, funciones
- Text processing: grep, sed, awk, cut, sort, uniq, wc — pipelines de procesado real
- SSH: generación de claves (Ed25519 vs RSA), ssh-agent, ssh-copy-id, config file (~/.ssh/config)
- sshd_config hardening: deshabilitar root login, cambiar puerto, AllowUsers, autenticación por clave
- Cron y crontab: sintaxis (min hora día mes dow), variables de entorno en cron, logs con journalctl y /var/log
Fuentes de referencia
Libro
The Linux Command Line
Capítulos 10–16. Shell scripting y text processing en profundidad.
Herramienta
ShellCheck
Linter para scripts bash. Detecta errores y malas prácticas automáticamente.
Abrir →YouTube
NetworkChuck — SSH
"SSH in 100 Seconds" y la serie completa de SSH. Muy didáctico y visual.
Contenido de la semana
- Modelo OSI vs TCP/IP: qué pasa realmente en cada capa, dónde viven HTTP, TLS, TCP e IP
- IP addressing: IPv4/IPv6, CIDR notation, subnets, routing basics, NAT
- TCP: three-way handshake (SYN/SYN-ACK/ACK), FIN/RST, flow control, congestion control
- DNS: resolución recursiva, registros A/AAAA/MX/CNAME/TXT, TTL, dig/nslookup/host
- Puertos: well-known (22/80/443/5432), efímeros, netstat/ss, lsof -i
- Wireshark: captura de paquetes, filtros de display (tcp.port == 80), análisis de handshake
Fuentes de referencia
Libro
Computer Networking: A Top-Down Approach
Kurose & Ross, 8ª Ed. Capítulos 1–3. El más riguroso sobre TCP/IP y DNS.
YouTube
ByteByteGo
"How does the internet work?" y "TCP vs UDP explained". Diagramas excelentes.
Docs
Wireshark Documentation
User Guide oficial. Enfocarse en Display Filters y Protocol Dissectors.
Abrir →Contenido de la semana
- Anatomía de una request/response: request line, headers, body, CRLF separators
- Verbos HTTP: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS — semántica e idempotencia
- Status codes: 1xx/2xx/3xx/4xx/5xx — los más importantes y cuándo usarlos correctamente
- Headers críticos: Content-Type, Accept, Authorization, Cache-Control, If-None-Match, ETag
- Cookies: Set-Cookie, HttpOnly, Secure, SameSite (Strict/Lax/None), domain y path
- Sesiones: cookie-based vs token-based, session fixation, gestión de estado en HTTP stateless
Fuentes de referencia
MDN
MDN Web Docs — HTTP
La guía más completa y actualizada. Secciones: HTTP messages, Status codes, Headers.
Abrir →Libro
High Performance Browser Networking
Ilya Grigorik, O'Reilly. Capítulos 1–2. HTTP/1.x en profundidad. Gratuito en hpbn.co
Abrir →YouTube
Traversy Media — HTTP Crash Course
Todos los conceptos HTTP con ejemplos en curl en vivo. Muy práctico.
Herramienta
curl + Postman
curl para entender HTTP raw; Postman para exploración interactiva de APIs.
Contenido de la semana
- TLS handshake: ClientHello, ServerHello, certificate chain, session keys, TLS 1.3 vs 1.2
- Certificados X.509: CA, CN, SANs, OCSP, certificate pinning — cómo verifica el browser
- WebSockets: upgrade handshake HTTP→WS, frames, ping/pong, cuándo usar WS vs SSE vs polling
- CORS: mismo origen, preflight (OPTIONS), Access-Control-* headers, credenciales
- HTTP caching: Cache-Control directivas (max-age, no-store, no-cache, private, public), ETags y 304
- HTTP/3 y QUIC: por qué reemplaza a TCP con UDP, 0-RTT, eliminación de head-of-line blocking
Fuentes de referencia
Libro
High Performance Browser Networking
Capítulos 3–4: TLS, WebSockets. Gratuito en hpbn.co — no cubre HTTP/3, complementar con el recurso siguiente.
Abrir →Libro
HTTP/3 Explained
Daniel Stenberg (autor de curl). Booklet gratuito y actualizado sobre HTTP/3 y QUIC.
Abrir →YouTube
ByteByteGo — How HTTPS works
"HTTPS, SSL, TLS explained" — diagrama del handshake paso a paso.
Herramienta
SSL Labs Server Test
Analiza la configuración TLS de cualquier servidor. Útil para auditoría.
Abrir →Contenido de la semana
- Entidad-Relación (ER): entidades, atributos, cardinalidad (1:1, 1:N, N:M), diagramas
- Normalización: 1NF (atomicidad), 2NF (dependencia total), 3NF (no transitiva), BCNF
- Claves: primaria, foránea, candidata, compuesta, surrogate vs natural key — trade-offs
- Relaciones en SQL: tabla de unión para N:M, ON DELETE (CASCADE/RESTRICT/SET NULL)
- Tipos de datos PostgreSQL: numéricos, text/varchar, timestamp/timestamptz, UUID, JSONB
- DDL básico: CREATE TABLE, ALTER TABLE, constraints (NOT NULL, UNIQUE, CHECK, DEFAULT)
Fuentes de referencia
YouTube
freeCodeCamp — Database Design Course
8 horas. El curso más completo de modelado relacional en YouTube. Gratuito.
Docs
PostgreSQL Documentation — DDL
Capítulo "Data Definition". Cubre tipos, constraints y DDL en profundidad.
Abrir →Libro
Designing Data-Intensive Applications
Martin Kleppmann. Capítulo 2: Data Models and Query Languages — el contexto más amplio.
Contenido de la semana
- JOINs: INNER, LEFT/RIGHT OUTER, FULL OUTER, CROSS, SELF JOIN — cuándo y cómo
- Subqueries: correlated vs non-correlated, EXISTS vs IN, scalar subqueries
- Window functions: ROW_NUMBER(), RANK(), DENSE_RANK(), LAG/LEAD, PARTITION BY
- CTEs (WITH): recursive CTEs para datos jerárquicos, legibilidad vs performance
- Transacciones: BEGIN/COMMIT/ROLLBACK, SAVEPOINT, isolation levels
- ACID: Atomicity, Consistency, Isolation, Durability — qué garantiza y qué no
Fuentes de referencia
Libro
Designing Data-Intensive Applications
Capítulo 7: Transactions. La explicación más clara de ACID e isolation levels.
YouTube
Fireship — SQL Explained
"SQL in 100 Seconds" y la serie extendida de SQL. Muy conciso y visual.
Docs
PostgreSQL — Window Functions
Guía oficial con ejemplos. La referencia definitiva para funciones de ventana.
Abrir →Contenido de la semana
- B-Tree index: estructura interna, cómo acelera lookups y range queries, cuándo no ayuda
- Hash index: solo igualdad, más rápido que B-Tree en selects puntuales
- Composite indexes: orden de columnas, prefix matching, index-only scans
- EXPLAIN ANALYZE: Seq Scan vs Index Scan vs Bitmap Scan, cost, rows, actual time
- Índices parciales y de expresión: WHERE status = 'active', lower(email)
- Bloat, VACUUM, ANALYZE: mantenimiento de índices en tablas con muchos updates/deletes
Fuentes de referencia
Libro
Database Internals
Alex Petrov. Capítulos 1–4. La estructura interna de B-Trees explicada a fondo.
Guía
Use The Index, Luke
Guía gratuita sobre índices SQL. Todos los patrones con ejemplos reales.
Abrir →Docs
PostgreSQL — EXPLAIN
Referencia completa del output de EXPLAIN ANALYZE con interpretación.
Abrir →YouTube
Hussein Nasser — PostgreSQL Performance
Videos sobre indexing, query planning y vacuuming en Postgres real.
Contenido de la semana
- Document stores (MongoDB): flexibilidad de esquema, embedding vs referencing, aggregation pipeline
- Key-value stores (Redis): strings, hashes, lists, sets, sorted sets, TTL, Pub/Sub
- Wide-column (Cassandra): partitioning key, clustering columns, write-heavy workloads
- Time-series (InfluxDB/TimescaleDB): casos de uso, downsampling, retención de datos
- Cuándo NoSQL: alta escritura, esquema dinámico, datos semi-estructurados, geoespaciales
- CAP theorem introducción: Consistency, Availability, Partition tolerance — solo 2 de 3
Fuentes de referencia
Libro
Designing Data-Intensive Applications
Capítulo 2: Data Models — comparativa SQL vs NoSQL más completa del mercado.
YouTube
ByteByteGo — NoSQL Databases
"NoSQL explained" y "Redis vs Memcached". Diagramas de arquitectura comparativos.
Interactivo
MongoDB University
Cursos gratuitos oficiales: M001 (basics) y M121 (aggregation pipeline). Catálogo vigente en learn.mongodb.com.
Abrir →Docs
Redis Documentation
redis.io/docs — Commands y Data Types. Imprescindible para la fase de Escala.
Abrir →Contenido de la semana
- Estrategias de migración: expand-contract (backwards-compatible), blue-green schema changes
- Herramientas: Flyway (SQL files versionados) y Liquibase (XML/YAML/SQL) — ambas con integración nativa en Spring Boot
- Backups: pg_dump (logical), pg_basebackup (physical), PITR (Point-in-Time Recovery), 3-2-1
- Replicación streaming: primary-replica, WAL shipping, pg_replication_slot, lag monitoring
- Connection pooling: por qué Postgres crea un proceso por conexión, PgBouncer transaction mode
- pg_stat_activity: monitorear conexiones activas, idle, locks y long-running queries
Fuentes de referencia
Libro
Designing Data-Intensive Applications
Capítulo 5: Replication. El mejor recurso sobre primary-replica y consistency.
Docs
PostgreSQL — Backup and Restore
Guía oficial de backup, WAL archiving y Point-in-Time Recovery.
Abrir →YouTube
Hussein Nasser — PostgreSQL Replication
Videos específicos sobre replicación streaming y connection pooling con PgBouncer.
Docs
PgBouncer Documentation
Configuración de connection pooling. Enfocarse en transaction mode vs session.
Abrir →Contenido de la semana
- JPA (Jakarta Persistence API): entities con @Entity/@Id/@Column, ciclo de vida (transient/managed/detached/removed)
- Hibernate como implementación de JPA: EntityManager, Session, dirty checking, first-level cache
- Relaciones con anotaciones: @OneToMany, @ManyToOne, @ManyToMany, mappedBy, cascade types, orphanRemoval
- Fetch strategies: FetchType.LAZY vs EAGER — por qué LAZY debe ser el default casi siempre
- N+1 problem en JPA: cómo detectarlo con logs de Hibernate, solución con @EntityGraph, JOIN FETCH o fetch join en JPQL
- Spring Data JPA: interfaces de repositorio (JpaRepository), query methods derivados, @Query con JPQL/SQL nativo, transacciones con @Transactional
Fuentes de referencia
Docs
Spring Data JPA Reference
Documentación oficial — repositorios, query methods, paginación y proyecciones.
Abrir →Docs
Hibernate ORM User Guide
Referencia oficial de Hibernate — entities, fetch strategies, caching y JPQL.
Abrir →Curso
Hyperskill — Java Backend Developer
Módulos de Spring Data JPA y persistencia del track principal de este roadmap.
Abrir →Blog
Vlad Mihalcea — High-Performance Java Persistence
Blog de referencia sobre el N+1 problem, fetch strategies y performance de Hibernate.
Abrir →Contenido de la semana
- JVM y el modelo de concurrencia: threads del pool (Tomcat), garbage collector, por qué Java es multi-threaded por defecto
- Maven/Gradle: gestión de dependencias, ciclo de vida de build, BOM de Spring Boot, wrapper (mvnw/gradlew)
- Spring IoC container: ApplicationContext, beans, ciclo de vida, scopes (singleton/prototype/request)
- Spring Boot autoconfiguration: starters, @SpringBootApplication, @EnableAutoConfiguration, condicionales (@ConditionalOnClass)
- Estereotipos y DI: @RestController, @Service, @Repository, @Component — inyección por constructor vs @Autowired
- Request lifecycle: DispatcherServlet, HandlerMapping, interceptors (HandlerInterceptor), @Valid + Bean Validation (JSR 380)
Fuentes de referencia
Curso
Hyperskill — Java Backend Developer (Spring Boot)
Curso principal seguido en este roadmap. Track project-based: Spring Core, Spring MVC, Spring Data JPA y Spring Security con proyectos reales.
Abrir →Docs
Spring Boot Reference Documentation
Documentación oficial — Core Features, Web, Data Access. La referencia definitiva.
Abrir →Libro
Spring in Action, 6ª Ed.
Craig Walls, Manning 2022. El libro de referencia para entender el IoC container y Spring MVC a fondo.
Blog
Baeldung — Spring Boot
Artículos técnicos profundos con ejemplos ejecutables sobre cada pieza del framework.
Abrir →Contenido de la semana
- Richardson Maturity Model: niveles 0–3 — la mayoría de APIs están en nivel 2, no en 3
- Diseño de URIs: recursos (sustantivos), jerarquía, pluralización, /users/:id/posts
- Idempotencia: GET/PUT/DELETE son idempotentes, POST no — implicaciones en retries
- Manejo de errores consistente: RFC 7807 Problem Details, estructura de error response
- Content negotiation y versioning: Accept/Content-Type, versioning por header vs URI vs query param
- REST vs GraphQL: over/underfetching, N+1 y DataLoader — cuándo GraphQL aporta (agregación de fuentes heterogéneas) y cuándo es sobre-ingeniería para el caso de uso
Fuentes de referencia
Libro
API Design Patterns
JJ Geewax, O'Reilly. Capítulos 1–4: resource naming, standard methods, errors.
Docs
restfulapi.net
Referencia rápida de principios REST con ejemplos concretos y bien explicados.
Abrir →RFC
RFC 7807 — Problem Details
Estándar de error responses en APIs REST. Leer la spec completa.
Abrir →Docs
graphql.org/learn
Tutorial oficial de GraphQL. Suficiente para decidir con criterio cuándo usarlo frente a REST.
Abrir →Contenido de la semana
- JWT: estructura (header.payload.signature), algoritmos (HS256 vs RS256), claims estándar
- Refresh token rotation: access token (15m) + refresh token (7d), detección de reuse attacks
- OAuth 2.0: flujos (Authorization Code + PKCE, Client Credentials, Device Flow) — cuándo cada uno
- OIDC (OpenID Connect): ID token, /userinfo endpoint, scopes (openid, profile, email)
- API Keys: generación segura, hashing antes de almacenar, rate limiting por key
- Gestión de sesiones: cookie-based vs token-based, CSRF protection, SameSite
Fuentes de referencia
YouTube
ByteByteGo — OAuth 2.0
"OAuth 2.0 explained with examples" — el diagrama de flujos más claro disponible.
Docs
Auth0 Docs — JWT & OAuth
Artículos técnicos profundos sobre JWT, OAuth 2.0 y OIDC con diagramas.
Abrir →Roadmap
roadmap.sh/backend
Sección "Authentication" — JWT, OAuth, session-based, recursos por subtema.
Abrir →Contenido de la semana
- Estrategias de versionado: URI (/v1/users), header, query param — trade-offs reales
- Cursor pagination vs offset pagination: performance en tablas grandes, estabilidad de resultados
- Filtros y sorting: query params (?status=active&sort=-createdAt), validación, SQL injection prevention
- OpenAPI 3.x: spec YAML/JSON, paths, schemas, components, security schemes, examples
- springdoc-openapi: generación automática de spec desde controllers, @Operation, @ApiResponse, Swagger UI embebido
- Generación de clientes: openapi-generator, SDK autogenerado desde el spec expuesto por Spring Boot
Fuentes de referencia
Libro
API Design Patterns
JJ Geewax. Capítulos sobre versioning, pagination y filtering.
Docs
OpenAPI Specification
Spec oficial de OpenAPI 3.1. Referencia para escribir documentación completa.
Abrir →Docs
springdoc-openapi
Integración de OpenAPI/Swagger UI con Spring Boot. Configuración y anotaciones paso a paso.
Abrir →YouTube
freeCodeCamp — API Documentation
Tutorial completo de documentación de APIs con Swagger y OpenAPI.
Contenido de la semana
- Rate limiting: token bucket vs leaky bucket vs sliding window — algoritmos y trade-offs
- Implementación: Resilience4j RateLimiter o Bucket4j (token bucket sobre Redis para rate limiting distribuido), respuesta 429 + Retry-After
- @ControllerAdvice + @ExceptionHandler: mapeo centralizado de excepciones de dominio a HTTP, ProblemDetail (RFC 7807 nativo desde Spring 6)
- Logging estructurado: JSON logs con Logback + logstash-encoder, SLF4J como fachada, niveles (debug/info/warn/error)
- Correlation IDs: X-Request-ID header, propagación a través de servicios para trazabilidad
- Distributed tracing intro: span, trace, OpenTelemetry SDK — base para observabilidad en Fase 7
Fuentes de referencia
Docs
Spring — Error Handling con ProblemDetail
@ControllerAdvice, @ExceptionHandler y RFC 7807 nativo. Guía oficial con ejemplos.
Abrir →YouTube
ByteByteGo — Rate Limiting
"Rate Limiting explained" — los 5 algoritmos con animaciones claras.
Docs
Resilience4j Documentation
RateLimiter, CircuitBreaker, Retry y Bulkhead — la librería estándar de resiliencia en Java.
Abrir →Contenido de la semana
- OWASP Top 10:2025 (vigente desde nov. 2025): qué cambió vs 2021 — Security Misconfiguration sube al #2, SSRF se integra en Broken Access Control, y aparecen dos categorías nuevas: Software Supply Chain Failures y Mishandling of Exceptional Conditions
- A01 Broken Access Control: IDOR, privilege escalation, RBAC mal implementado, SSRF — cómo testear cada uno
- A02 Security Misconfiguration: headers por defecto inseguros, servicios expuestos innecesariamente, mensajes de error verbosos, CORS/cloud permisivo
- A03 Software Supply Chain Failures (nueva en 2025): dependencias comprometidas, typosquatting en npm, lockfiles, provenance y firma de paquetes
- A05 Injection: SQL injection (union-based, blind, time-based), command injection, prevención con parámetros
- npm audit, Snyk, Dependabot y SBOM (Software Bill of Materials) — supply chain security aplicada en CI
Fuentes de referencia
OWASP
OWASP Top 10:2025
La lista oficial vigente, con descripción, ejemplos y mitigaciones por categoría.
Abrir →Labs
PortSwigger Web Security Academy
Gratuito. Labs interactivos por vulnerabilidad. El mejor recurso para practicar.
Abrir →Libro
Alice and Bob Learn Application Security
Tanya Janca, 2020. OWASP explicado para developers, no para pentesters.
Herramienta
Snyk + npm audit
Escaneo de dependencias y supply chain en CI. Detecta paquetes comprometidos antes del deploy.
Abrir →Contenido de la semana
- A06 Insecure Design: threat modeling básico (STRIDE), fail securely by default, menor privilegio desde el diseño
- A07 Authentication Failures: credential stuffing, fuerza bruta, gestión de sesiones débil, MFA como mitigación
- Hashing vs encryption vs encoding: diferencias fundamentales y cuándo usar cada uno
- bcrypt (salt rounds, timing attacks) vs argon2id (memory/iterations/parallelism, ganador del PHC) — cuál usar y por qué
- Gestión de secretos: .env solo en desarrollo, HashiCorp Vault, AWS/GCP Secrets Manager
- Rotación de credenciales: estrategia blue-green para DB passwords sin downtime
Fuentes de referencia
Libro
Alice and Bob Learn Application Security
Capítulos sobre criptografía práctica y gestión de secretos para developers.
OWASP
OWASP Password Storage Cheat Sheet
Guía definitiva sobre hashing de contraseñas con recomendaciones actualizadas.
Abrir →YouTube
Computerphile — How bcrypt works
Explicación del algoritmo bcrypt. Esencial para entender el por qué del salt.
Docs
HashiCorp Vault Documentation
Gestión de secretos en producción. Getting Started + Secrets Engines.
Abrir →Contenido de la semana
- Let's Encrypt y certbot: instalación, renovación automática, certificados wildcard con DNS challenge
- Security headers: HSTS (max-age, includeSubDomains, preload), CSP, X-Frame-Options — configuración vía Spring Security HttpSecurity DSL
- A09 Security Logging and Alerting Failures: qué loguear (nunca secretos/PII), alertas accionables vs ruido
- A10 Mishandling of Exceptional Conditions (nueva en 2025): errores no manejados que filtran stack traces o dejan el sistema en estado inconsistente
- CORS en producción: lista blanca de orígenes, preflight caching, credenciales
- OWASP ZAP: automated scan, active vs passive scan, interpretación y priorización de reportes
Fuentes de referencia
Herramienta
Mozilla Observatory
Analiza security headers de cualquier URL. Score y recomendaciones de mejora.
Abrir →Labs
PortSwigger Web Security Academy
Labs de CORS y security headers con exploits reales para entender el impacto.
Abrir →Docs
Spring Security — Security HTTP Headers
Configuración de HSTS, CSP y demás headers vía HttpSecurity en Spring Security.
Abrir →Docs
Let's Encrypt Documentation
Guía completa de certbot y renovación automática de certificados SSL.
Abrir →Contenido de la semana
- La regla de dependencia: outer layers dependen de inner layers, nunca al revés
- Entities (Enterprise Business Rules): objetos de dominio puros, sin dependencias externas
- Use Cases (Application Business Rules): orquestan entities, definen la lógica de aplicación
- Interface Adapters: controllers, presenters, gateways — traducen entre use cases y el exterior
- Ports & Adapters (Hexagonal): ports son interfaces, adapters son implementaciones intercambiables
- Inversión de dependencias en Spring: interfaces + constructor injection, testing con mocks de adapters vía Mockito
Fuentes de referencia
Libro
Clean Architecture
Robert C. Martin. Capítulos 15–22: The Clean Architecture. Lectura obligatoria.
YouTube
CodeOpinion — Clean Architecture
Derek Comartin. Serie crítica y práctica sobre Clean Architecture en .NET/Node.
Blog
blog.cleancoder.com — The Clean Architecture
Artículo original de Uncle Bob. La fuente primaria del patrón.
Abrir →Roadmap
roadmap.sh/software-design-architecture
Sección "Architectural Patterns" con recursos por patrón.
Abrir →Contenido de la semana
- Lenguaje ubicuo: terminología del dominio compartida entre devs y expertos de negocio
- Entities vs Value Objects: identidad vs igualdad por valor, inmutabilidad de VOs
- Aggregate Root: límite de consistencia transaccional, regla de referencia solo por ID
- Domain Events: eventos que expresan algo que ocurrió en el dominio, desacoplamiento
- Repository pattern: abstracción de persistencia en la capa de dominio, no filtra infraestructura
- Bounded Contexts: límites del modelo, context mapping (shared kernel, anti-corruption layer)
Fuentes de referencia
YouTube
Amichai Mantinband — DDD
La serie más clara de DDD en YouTube. Conceptos agnósticos al lenguaje.
Blog
martinfowler.com — DDD
Artículos de Fowler sobre Bounded Contexts, Aggregates y Domain Events.
Abrir →Libro
Building Microservices
Sam Newman. Capítulos sobre modeling services y bounded contexts.
GitHub
ddd-crew / ddd-starter-modelling
Guía práctica de DDD. Canvas de modelado de dominios gratuito.
Abrir →Contenido de la semana
- Event-driven vs request-response: acoplamiento temporal, tolerancia a fallos, latencia
- Message broker: Kafka (log distribuido, topics, partitions) vs RabbitMQ (exchanges, queues)
- Pub/Sub pattern: publishers y subscribers desacoplados, fan-out, dead letter exchange
- Outbox pattern: garantía de at-least-once delivery sin pérdida en transacciones
- Event Sourcing: estado como log de eventos, snapshots, replay, casos de uso reales
- CQRS intro: separar modelos de lectura y escritura — cuándo tiene sentido y cuándo no
Fuentes de referencia
Libro
Designing Data-Intensive Applications
Capítulo 11: Stream Processing. La explicación más profunda de event-driven.
YouTube
ByteByteGo — Event-Driven Architecture
"Event-Driven Architecture explained" y "Kafka in 100 Seconds". Excelentes.
Blog
martinfowler.com — Event Sourcing
Artículo definitivo de Fowler sobre Event Sourcing con patrones relacionados.
Abrir →Docs
CloudEvents Specification
Estándar CNCF para formato de eventos entre servicios. Referencia de interoperabilidad.
Abrir →Contenido de la semana
- Monolito modular: módulos con límites claros, dependencias internas controladas, shared DB
- Microservicios: servicios independientes, datos propios, deploys independientes, comunicación en red
- Cuándo NO hacer microservicios: equipos pequeños, dominio no claro, falta de DevOps maduro
- Strangler fig pattern: migración incremental sin big bang, anti-corruption layer
- API Gateway: point of entry único, routing, auth, rate limiting, circuit breaking
- Service discovery: Consul, Kubernetes DNS, cuándo necesitas descubrimiento dinámico
Fuentes de referencia
Libro
Building Microservices
Sam Newman 2ª Ed. 2021. Capítulos 1–5: qué son, cómo modelarlos, pros y contras.
YouTube
TechWorld with Nana — Microservices
"Microservices explained" — comparativa clara con monolito con diagramas.
Blog
martinfowler.com — Microservices
Artículo original de Fowler y Lewis que definió el término. Lectura obligatoria.
Abrir →Blog
martinfowler.com — Strangler Fig
Patrón de migración de monolito a microservicios sin big bang.
Abrir →Contenido de la semana
- CQRS completo: command handlers, query handlers, event bus, proyecciones de lectura
- Saga pattern: coreografía (eventos) vs orquestación (saga orchestrator), compensating transactions
- Circuit Breaker: estados (closed/open/half-open), threshold, timeout, fallback — Resilience4j CircuitBreaker
- Retry con backoff exponencial: Resilience4j Retry, jitter, idempotency keys para reintentos seguros
- Bulkhead: aislar fallos por servicio, Resilience4j Bulkhead (semaphore vs thread pool) — evitar cascade failures en microservicios
- Timeout patterns: connection timeout vs read timeout, fail fast vs wait-and-retry
Fuentes de referencia
Libro
Designing Data-Intensive Applications
Capítulos 8–9: problemas en sistemas distribuidos y garantías de consistencia.
YouTube
ByteByteGo — Circuit Breaker Pattern
"Circuit Breaker Design Pattern" — animación del ciclo de estados open/closed.
Docs
Resilience4j Documentation
Circuit Breaker, Retry y Bulkhead en un solo módulo, con integración nativa Spring Boot.
Abrir →Contenido de la semana
- Dockerfile: FROM, RUN, COPY, WORKDIR, EXPOSE, CMD vs ENTRYPOINT — diferencias importantes
- Layer caching: orden de instrucciones para maximizar cache hits, cuándo se invalida
- Multi-stage builds: build stage + production stage, reducción drástica de tamaño de imagen
- Volúmenes: named volumes vs bind mounts, cuándo usar cada uno, datos persistentes entre reinicios
- Redes Docker: bridge (default), host, none, comunicación entre contenedores por nombre
- Seguridad en imágenes: user no-root, minimal base images (alpine/distroless), Docker Scout scanning
Fuentes de referencia
Libro
Docker Deep Dive
Nigel Poulton, 2025 Edition. Incluye Docker Scout, Debug e Init. El libro más actualizado sobre Docker.
Docs
Docker Documentation
Dockerfile reference y Best practices guide — la fuente oficial completa.
Abrir →YouTube
TechWorld with Nana — Docker Tutorial
Curso completo de Docker desde cero hasta multi-stage builds en producción.
Contenido de la semana
- docker-compose.yml: services, networks, volumes — formato Compose v2
- depends_on + healthcheck: orden de arranque con condición de salud real del servicio
- Environment variables: .env file, env_file, variable substitution, secretos en compose
- Profiles: servicios opcionales (monitoring, herramientas) activados por perfil
- Override files: docker-compose.override.yml para dev, .prod.yml para producción
- Caso real: app + PostgreSQL + Redis + PgAdmin + Mailhog en un único compose local
Fuentes de referencia
Docs
Docker Compose Documentation
Compose file reference completa. La sección de Networking es crítica.
Abrir →YouTube
TechWorld with Nana — Docker Compose
"Docker Compose Tutorial" — del YAML al entorno completo en minutos.
GitHub
docker/awesome-compose
Colección oficial de ejemplos de compose para múltiples stacks de tecnología.
Abrir →Libro
Docker Deep Dive
Nigel Poulton, 2025 Edition. Capítulos sobre Docker Compose y multi-container applications.
Contenido de la semana
- Workflow syntax: on (push, pull_request, schedule), jobs, steps, uses vs run
- Actions Marketplace: checkout, setup-java, actions/cache (dependencias Maven/Gradle), docker/build-push-action
- Secrets y environments: GITHUB_TOKEN, secrets.MY_SECRET, environments con protección y revisores
- Matrix builds: test en múltiples versiones de Java (LTS) y OS simultáneamente
- Deployment jobs: deploy a VPS via SSH, Docker Hub push, deploy condicional por rama
- Reusable workflows: DRY en pipelines, composite actions, llamadas entre workflows
Fuentes de referencia
Docs
GitHub Actions Documentation
Workflow syntax reference completa — el recurso principal y más actualizado.
Abrir →YouTube
TechWorld with Nana — GitHub Actions
Curso completo de GitHub Actions CI/CD desde cero hasta deploy automatizado.
Roadmap
roadmap.sh/devops
Mapa completo de DevOps — CI/CD, containers, orchestration con recursos.
Abrir →Contenido de la semana
- Configuración inicial de VPS: SSH hardening, firewall (ufw), usuarios no-root, fail2ban
- Nginx como reverse proxy: server blocks, proxy_pass, upstream, load balancing básico
- SSL/TLS con Let's Encrypt: certbot --nginx, renovación automática con systemd timer
- Health check endpoints: /health (liveness) vs /ready (readiness) — diferencias y uso en LB
- Zero-downtime deploy: rolling restart con systemd o Docker, server.shutdown=graceful (Spring Boot) + SIGTERM
- Monitoreo básico: htop, df, netstat, log de Nginx — antes de Grafana y Prometheus
Fuentes de referencia
Docs
Nginx Documentation
Directives reference y guides de reverse proxy. Referencia oficial completa.
Abrir →Docs
Let's Encrypt — Getting Started
Guía de certbot para Nginx. Cobertura de renovación automática.
Abrir →Docs
Baeldung — Deploy Spring Boot como servicio systemd
Empaquetado del jar, unit file de systemd y Nginx como reverse proxy delante.
Abrir →YouTube
NetworkChuck — Linux Server Setup
Hardening inicial de servidor Linux con ufw, SSH keys y fail2ban.
Contenido de la semana
- Los 3 pilares de la observabilidad: logs (qué pasó), metrics (cuánto), traces (cómo fluye)
- Prometheus: métricas pull-based, scrape config, PromQL queries, tipos (counter, gauge, histogram)
- Grafana: dashboards, data sources, alerting rules, provisioning via YAML
- OpenTelemetry: Java agent para instrumentación automática (sin tocar código), spans, context propagation, exporters
- Log aggregation: Loki + Grafana (stack ligero), ELK (Elasticsearch + Logstash + Kibana)
- Alerting: alertmanager, Slack webhooks, runbooks — qué alertar y qué no
Fuentes de referencia
Docs
OpenTelemetry — Java
Getting started con el Java agent — instrumentación automática de Spring Boot sin cambios de código.
Abrir →Docs
Prometheus Documentation
Getting started, Data model, PromQL. La base de todo el stack de observabilidad.
Abrir →YouTube
TechWorld with Nana — Prometheus & Grafana
Curso completo de setup de Prometheus, Grafana y alerting desde cero.
Contenido de la semana
- Load balancing algorithms: round-robin, weighted, least connections, IP hash — cuándo cada uno
- Nginx como load balancer: upstream block, health_check, sticky sessions
- Redis caching patterns: cache-aside (lazy loading), write-through, write-behind, refresh-ahead
- Cache invalidation: TTL-based, event-based, tag-based — el problema más difícil del caching
- CDN: edge nodes, origin pull, cache-control headers, invalidación, cuándo tiene sentido usarlo
- Session management distribuida: Redis session store, stateless JWT vs stateful sessions
Fuentes de referencia
Libro
Designing Data-Intensive Applications
Capítulos 5–6: Replication y Partitioning — base teórica del escalado horizontal.
Libro
System Design Interview Vol. 1
Alex Xu. Capítulos de caching, CDN y load balancing. Muy visual y práctico.
Docs
Redis Documentation
Data types, Keyspace notifications, Cluster — referencia oficial completa.
Abrir →YouTube
ByteByteGo — Caching Strategies
"Cache Systems Every Developer Should Know" — los 5 patrones con diagramas.
Contenido de la semana
- Kafka internals: topics, partitions, offsets, consumer groups, compaction — por qué es un log
- Kafka producers: acks (0/1/all), retry, idempotent producer, exactly-once semantics
- RabbitMQ: exchanges (direct/fanout/topic/headers), queues, bindings, delivery acknowledgment
- Dead Letter Queue (DLQ): mensajes fallidos, x-dead-letter-exchange, retry con delay exponencial
- Backpressure: qué es, cómo detectarlo, rate limiting de consumidores, circuit breaking
- Spring Kafka / Spring AMQP: @KafkaListener, @RabbitListener, message converters, manejo de errores en listeners
Fuentes de referencia
Libro
Designing Data-Intensive Applications
Capítulo 11: Stream Processing — Kafka explicado como log distribuido inmutable.
YouTube
TechWorld with Nana — Apache Kafka
Curso completo de Kafka — topics, partitions, consumers, producers con demos.
Docs
Apache Kafka Documentation
Introduction, Design, Configuration — la referencia oficial del proyecto.
Abrir →Docs
RabbitMQ Tutorials
7 tutoriales oficiales progresivos: hello world → topics → RPC → dead letters.
Abrir →Contenido de la semana
- CAP theorem en la práctica: CP vs AP — cómo lo aplican PostgreSQL, Cassandra, Redis Cluster
- Consistencia eventual: modelos (monotonic read, read-your-writes, causal), CRDT intro
- Distributed locks: Redis Redlock algoritmo, problemas (clock skew, GC pauses), alternativas
- Two-Phase Commit (2PC): coordinación entre servicios, bloqueo, por qué Saga lo reemplaza
- System Design framework: estimaciones de capacidad, bottlenecks, elección de componentes
- Casos de estudio: URL shortener, feed de redes sociales, sistema de notificaciones real-time
Fuentes de referencia
Libro
Designing Data-Intensive Applications
Capítulos 8–9: Trouble with distributed systems y Consistency and consensus.
Libro
System Design Interview Vol. 1 & 2
Alex Xu. Los casos de estudio prácticos más usados en entrevistas de FAANG.
YouTube
ByteByteGo — CAP Theorem
"CAP Theorem Simplified" y "ACID vs BASE" — los más claros disponibles.
Blog
martinfowler.com — Distributed Systems Patterns
Colección de patrones con implementaciones de referencia y análisis de trade-offs.
Abrir →Contenido de la semana
- Pirámide de testing: unit (muchos) + integration (medios) + E2E (pocos) — proporciones y razones
- JUnit 5: @Test, @ParameterizedTest, @BeforeEach/@AfterEach, ciclo de vida, AssertJ para asserts fluidos
- Mockito: @Mock, @InjectMocks, when/thenReturn, verify — test doubles (mock/stub/spy) en aislamiento del dominio
- Spring Boot Test: @SpringBootTest (contexto completo) vs @WebMvcTest (solo capa web) vs @DataJpaTest (solo persistencia)
- MockMvc: test de endpoints HTTP sin levantar servidor real, perform/andExpect, integración con Spring Security
- Testcontainers: PostgreSQL/Redis reales en Docker para integration tests — sin mocks de infraestructura
- Coverage con JaCoCo: umbral mínimo (≥ 80%) como gate en el build de Maven/Gradle, cobertura de ramas críticas
Fuentes de referencia
Docs
JUnit 5 User Guide
Referencia oficial completa — annotations, extensions, parameterized tests.
Abrir →Docs
Mockito Documentation
Javadoc oficial con ejemplos de stubbing y verificación de interacciones.
Abrir →Docs
Spring Boot — Testing
Guía oficial de @SpringBootTest, @WebMvcTest, @DataJpaTest y MockMvc.
Abrir →Docs
Testcontainers for Java
Módulo original de Testcontainers — PostgreSQL, Kafka y Redis en contenedores reales.
Abrir →Contenido de la semana
- Arquitectura del proyecto final: decisiones de stack, módulos, estructura de repositorio mono/multi
- API REST + JWT auth + refresh tokens + roles + rate limiting — integración de todo lo aprendido
- PostgreSQL con Spring Data JPA/Hibernate: entities finales, migraciones con Flyway, seeds, connection pooling con HikariCP
- Suite de tests: unit (domain logic), integration (API endpoints), cobertura ≥ 80%
- Pipeline CI/CD: lint → test → build → docker build → push → deploy automático en VPS
- Observabilidad: Prometheus + Grafana + alertas + logs estructurados en producción real
Fuentes de referencia
Libro
System Design Interview Vol. 1
Alex Xu. Casos de diseño completos para validar decisiones arquitectónicas del proyecto.
Roadmap
roadmap.sh/backend
Validar que todos los nodos del roadmap están cubiertos en el proyecto final.
Abrir →YouTube
ByteByteGo — System Design
Videos de revisión de arquitectura y decisiones de diseño a nivel sistema.
Todos los recursos
Documentación acumulada del programa
Spring Boot, Docker, GitHub Actions, Prometheus, Redis, PostgreSQL — todo integrado en un proyecto real.
Contenido de la semana
- Por qué Go: segundo paradigma tras la JVM — concurrencia como ciudadano de primera clase, binarios estáticos, sin runtime pesado
- Goroutines y channels (modelo CSP): go func(), channels sin buffer vs buffered, select — comparado con threads/executors de Java
- Manejo de errores explícito: error como valor de retorno, patrón if err != nil, wrapping con fmt.Errorf("%w"), sin excepciones
- Structs e interfaces: composition sobre herencia, interfaces implícitas (duck typing estático), embedding
- net/http estándar: http.HandlerFunc, ServeMux, middleware como funciones que envuelven handlers
- context.Context: cancelación, timeouts y deadlines propagados a través de toda la cadena de llamadas
Fuentes de referencia
Tour
A Tour of Go
Tutorial interactivo oficial. Cubre sintaxis, goroutines y channels con ejercicios en el navegador.
Abrir →Libro
The Go Programming Language
Donovan & Kernighan. El libro de referencia del lenguaje, escrito por uno de los creadores de Unix/C.
Interactivo
Go by Example
Ejemplos anotados y ejecutables de cada feature del lenguaje. Referencia rápida ideal.
Abrir →Contenido de la semana
- Routing HTTP: net/http puro vs chi/gin — cuándo justifica una librería sobre la stdlib
- Acceso a datos: database/sql + sqlx (SQL explícito) vs GORM (ORM) — trade-offs frente a JPA/Hibernate
- Testing nativo: paquete testing, table-driven tests, testify para asserts, httptest para endpoints HTTP
- Concurrency patterns: worker pools, fan-in/fan-out, sync.WaitGroup y sync.Mutex — cuándo channels y cuándo locks
- Build & deploy: go build genera un binario estático único, Docker con imagen scratch/distroless, arranque en milisegundos
- Cuándo elegir Go sobre la JVM: microservicios de alta concurrencia con footprint mínimo, CLIs, sidecars — no reemplaza a Spring Boot, lo complementa
Fuentes de referencia
Docs
sqlx Documentation
Extensión de database/sql con structs scanning, más explícito que un ORM.
Abrir →Docs
Testcontainers for Go
Mismo patrón que en Java: PostgreSQL real en Docker para integration tests.
Abrir →YouTube
Anthony GG — Go backend
Construcción de APIs REST en Go desde cero, con foco en patrones idiomáticos.
03 — Biblioteca de referencia
Libros recomendados
Recursos esenciales organizados por fase del programa.
The Linux Command Line
Fase 1 · LinuxGratuito en linuxcommand.org
How Linux Works
Fase 1 · LinuxComputer Networking: A Top-Down Approach
Fase 2 · RedesHigh Performance Browser Networking
Fase 2 · RedesGratuito en hpbn.co · HTTP/2 y HTTP/3
Designing Data-Intensive Applications
Fases 3 & 8El libro mas importante del plan
Database Internals
Fase 3 · BDAPI Design Patterns
Fase 4 · APIsDesigning Web APIs
Fase 4 · APIsGratuito en O'Reilly Safari
Spring in Action, 6ª Ed.
Fase 4 · APIsReferencia del IoC container y Spring MVC
Alice and Bob Learn Application Security
Fase 5 · SeguridadOWASP moderno con enfoque en developers
Clean Architecture
Fase 6 · ArquitecturaBuilding Microservices
Fase 6 · ArquitecturaDocker Deep Dive
Fase 7 · DevOpsSystem Design Interview Vol. 1 & 2
Fase 8 · EscalaVol. 1 (2020) + Vol. 2 (2022) · Muy visual
The Go Programming Language
Fase 9 · GoEl libro de referencia del lenguaje
04 — Timeline visual
8.5 meses de recorrido
05 — Recursos online
Recursos complementarios
Herramientas y plataformas visuales para complementar el estudio.
Curso principal
Hyperskill — Java Backend Developer
Track project-based de Java + Spring Boot. Base de las Fases 4-6 de este roadmap.
Roadmap interactivo
roadmap.sh/backend
El mapa de referencia de la industria. Actualizado y con recursos por cada nodo.
Roadmap interactivo
roadmap.sh/golang
Mapa completo de Go — sintaxis, concurrencia y ecosistema. Complementa la Fase 9.
Roadmap interactivo
roadmap.sh/linux
Mapa completo de Linux para devs. Complementa la Fase 1.
YouTube + Newsletter
ByteByteGo
Diagramas de sistemas y arquitectura. Esencial para Fases 6-8.
Practica SQL
PostgreSQL Docs
Documentacion oficial. La mejor fuente para entender el query planner.
Seguridad
OWASP Top 10:2025
Gratuito en owasp.org. La lista oficial vigente desde nov. 2025 — reemplaza a la edicion 2021.
Seguridad interactiva
PortSwigger Web Security Academy
Gratuito en portswigger.net/web-security. Labs practicos de los creadores de Burp Suite. Reemplaza al libro desactualizado de Stuttard & Pinto.
CI/CD
GitHub Actions Docs
Documentacion oficial para construir pipelines en la Fase 7.

