HACK A BOSS
FormaciónEvaluacionesPerfil
Volver
  • En directo

System Design intermedio

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • System Design

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Curso intermedio de System Design orientado a perfiles de desarrollo que necesitan participar en el diseño de sistemas de software más allá de la implementación de funcionalidades aisladas. El alumno aprende a convertir una necesidad de negocio en requisitos funcionales y no funcionales, diseñar una arquitectura de alto nivel, razonar sobre escalabilidad y fiabilidad, gestionar integraciones externas y documentar decisiones técnicas de forma revisable por un equipo.

El curso trabaja con casos prácticos de complejidad media, como plataformas de reservas, pedidos, notificaciones, tracking o ecommerce. El foco no está en memorizar patrones ni en elegir servicios cloud concretos, sino en justificar decisiones: qué componentes existen, qué datos fluyen entre ellos, dónde están los límites, qué puede fallar, qué cuellos de botella aparecen y qué trade-offs asume cada alternativa.

Al finalizar, el participante será capaz de producir una propuesta de diseño de sistema clara, defendible y útil para una revisión técnica, incluyendo requisitos, diagrama de arquitectura, supuestos, riesgos, dependencias externas y un plan básico de evolución.

Al finalizar el curso, el participante será capaz de:

  • Documentar requisitos funcionales y no funcionales a partir de una necesidad de negocio, delimitando alcance, supuestos y restricciones del sistema
  • Diseñar una arquitectura de alto nivel con componentes, límites y flujos de datos, justificando trade-offs relevantes para el caso
  • Analizar la escalabilidad de un sistema identificando cargas, cuellos de botella, estrategias de cache, colas y procesamiento asíncrono
  • Diseñar estrategias de fiabilidad para un flujo crítico aplicando timeouts, retries, circuit breakers, idempotencia y degradación controlada
  • Integrar servicios externos definiendo contratos, versionado, dependencias, errores esperados y estrategia de compatibilidad
  • Documentar entregables de system design con diagramas, supuestos, riesgos y plan de evolución básico para revisión de equipo
  1. Requisitos, alcance y contexto de negocio Conversión de una necesidad de negocio en requisitos funcionales y no funcionales; definición de alcance, supuestos, restricciones, objetivos del sistema, métricas de éxito y elementos fuera de la primera versión
  2. Arquitectura de alto nivel Componentes principales, responsabilidades, límites entre sistemas, dependencias internas y externas, flujo de datos, estilos arquitectónicos habituales y trade-offs entre simplicidad, coste, escalabilidad, consistencia y mantenibilidad
  3. Escalabilidad y rendimiento Estimación de carga, usuarios concurrentes, throughput, latencia, recursos críticos, cuellos de botella, escalado horizontal, cache, invalidación, colas, procesamiento asíncrono y métricas para validar hipótesis de capacidad
  4. Fiabilidad y resiliencia Fallos en sistemas distribuidos, timeouts, retries limitados con backoff, circuit breakers, idempotencia, degradación controlada, operaciones críticas y no críticas, prevención de duplicados y reducción de fallos en cascada
  5. Integraciones externas Contratos de API, versionado, compatibilidad, adaptadores, aislamiento de dependencias, errores esperados, rate limits, SLA, credenciales, sandbox, gestión de cambios del proveedor y comportamiento ante indisponibilidad
  6. Entregables revisables Diagramas de contexto y alto nivel, documento de diseño, decisiones técnicas, supuestos, preguntas abiertas, riesgos accionables, plan de evolución por fases y preparación de una revisión técnica con perfiles de producto, backend, frontend y operaciones
  • Editor de texto o documento colaborativo para redactar requisitos, supuestos y decisiones técnicas
  • Herramienta para diagramas, como Mermaid, draw.io, Excalidraw, Miro, Lucidchart o similar
  • Navegador web actualizado para consultar documentación técnica y trabajar con materiales colaborativos
  • Conocimientos básicos de lectura de APIs HTTP y estructuras JSON para razonar sobre contratos e integraciones
  • No se requiere desplegar infraestructura real ni crear cuentas cloud para completar el curso

No hay un curso previo obligatorio asociado a esta competencia. Aunque el nivel es Intermedio, se recomienda que el participante tenga experiencia básica desarrollando aplicaciones o APIs y conozca conceptos generales de HTTP, bases de datos, autenticación, despliegue y trabajo con servicios externos.

Es especialmente útil haber participado en proyectos donde existan requisitos, dependencias entre componentes, persistencia de datos y decisiones técnicas compartidas con otras personas del equipo.