lección 8

Retrospectiva -- Skills ganadas y preparación MediTrack

Reflexión sobre la semana: qué aprendiste, qué harías diferente, cómo el ownership cambió tu forma de trabajar. Preparación para el siguiente reto: datos de salud en MediTrack.

25 min

### Viernes, 17:00 -- Reunión con Marcos

Marcos te cita a las 17:00 en una sala pequeña. Es tu 1:1 de cierre de primera semana. Marcos no es de los que da feedback extenso -- va directo al punto. "Has tenido una buena primera semana. El pipeline funciona, el dashboard de Ana tiene datos reales, sobreviviste Black Friday en tu cuarto día y tienes documentación escrita. Pocas cosas que mejorar."

"Primera: debiste haberme preguntado el viernes pasado cuántos repartidores temporales se activaban para Black Friday. Si lo hubieras sabido, habrías escalado el cluster la noche anterior. No es un fallo grave -- no podías saberlo -- pero como owner del dominio, preguntar proactivamente por picos conocidos es tu responsabilidad a partir de ahora."

"Segunda: el ADR está bien pero le falta un apartado de runbook para on-call. Si te hubieras puesto enfermo el jueves, nadie sabía cómo escalar tu pipeline. Necesito que la semana que viene añadas el runbook con pasos concretos que cualquier DE pueda seguir." Anotado. Marcos se levanta: "Buen primer sprint. El lunes hablamos de las mejoras que quieres hacer la semana que viene." Y se va.

### Lo que construiste esta semana

  1. 01.Pipeline de ETAs real-time: Kafka -> Spark Streaming -> Haversine -> DynamoDB (latencia <30s)
  2. 02.Dashboard de SLAs: tabla de hechos fact_delivery_sla + queries Grafana + vistas materializadas
  3. 03.Limpieza GPS: watermarks (30s) + deduplicación + filtros de sanidad + latest position
  4. 04.Escalado Black Friday: diagnóstico de lag + configuración peak + sink paralelo
  5. 05.Circuit breaker: aislamiento automático de GPSs defectuosos por tasa anómala
  6. 06.Documentación: ADR-007 (pipeline ETAs) + ADR-008 (circuit breaker)
  7. 07.Dashboard configurado en móvil de Ana (Grafana app)

### Skills técnicas ganadas

Si en NeoBank aprendiste streaming SUPERVISADO (Alberto tomaba las decisiones de arquitectura), en FlashRoute aprendiste streaming con OWNERSHIP. La diferencia es enorme: aquí no había nadie que validara tu approach antes de implementarlo. Decidiste Haversine + factor urbano. Decidiste watermark de 30 segundos. Decidiste foreachBatch con sink paralelo. Algunas decisiones fueron óptimas desde el día 1, otras las mejoraste sobre la marcha (como el sink secuencial que se convirtió en paralelo bajo presión de Black Friday).

  • Spark Structured Streaming: ingesta Kafka, watermarks, deduplicación, foreachBatch, checkpoints
  • Fórmula Haversine: cálculo de distancia GPS para logística urbana
  • Event time vs processing time: la distinción crítica en streaming
  • Diagnóstico de lag: identificar bottlenecks en pipeline real-time (Kafka + Spark + sink)
  • Escalado en caliente: modificar cluster EMR sin perder datos (checkpoints)
  • Circuit breaker: patrón de protección para streams con datos anómalos
  • Modelado operacional: tabla de hechos de SLA con índices optimizados para dashboards
  • Comunicación con stakeholders: traducir necesidades de Ana a soluciones técnicas

### Skills de carrera ganadas

Más allá de lo técnico, esta semana cambió algo fundamental en tu perfil profesional: pasaste de "contributor" a "owner". En FreshMart eras junior haciendo lo que Elena decía. En TaskFlow ejecutabas lo que Pablo planificaba. En AdPulse empezaste a proponer. En NeoBank diseñabas pero Alberto firmaba. En FlashRoute, tú decides, implementas y operas. Si algo falla, es tu responsabilidad. Si algo funciona, es tu mérito.

  • Ownership end-to-end: de la ingesta al dashboard, pasando por on-call
  • Toma de decisiones bajo presión: Black Friday a las 7:30 AM sin pedir permiso
  • Comunicación de stakeholder: traducir "necesito datos ahora" a "trigger cada 30 segundos"
  • Documentación proactiva: ADRs sin que nadie te lo pida (bueno, Marcos te lo pidió el viernes)
  • Gestión de incidentes en solitario: diagnosticar + resolver + comunicar en 20 minutos
  • Anticipación de problemas: el runbook previene futuros fire-fighting

La transición de "contributor" a "owner" es uno de los saltos más importantes en la carrera de un ingeniero de datos. No es solo técnico -- es de mentalidad. Un contributor espera que alguien le diga qué hacer y cómo. Un owner identifica problemas, propone soluciones y las implementa sin pedir permiso. Si puedes demostrar ownership en entrevistas (con ejemplos concretos como tu semana en FlashRoute), estás en otra liga.

### Qué harías diferente

Si pudieras repetir esta semana sabiendo lo que sabes ahora:

  1. 01.Preguntar el viernes anterior: "cuántos repartidores temporales se activan para Black Friday?" y pre-escalar
  2. 02.Implementar el circuit breaker el día 2 (antes de Black Friday), no el día 5
  3. 03.Escribir el runbook el día 3 en vez de dejarlo para el viernes (si te enfermas el jueves, problema)
  4. 04.Pedir a Carlos datos históricos de latencia GPS el día 1 para calibrar el watermark con datos reales
  5. 05.Hacer un load test simulando Black Friday ANTES de que pase (synthetic load testing)

### Lo que viene: MediTrack -- datos de salud

FlashRoute te dio ownership y streaming en tiempo real. Pero los datos de logística, aunque son críticos para el negocio, no tienen regulación específica. Si un ETA está mal, el peor caso es un paquete que llega tarde. Incomodo pero no peligroso.

MediTrack será diferente. Es una plataforma de telemedicina donde los datos que manejas afectan directamente a la salud de personas. Datos de pacientes protegidos por GDPR con sanciones de millones de euros. Right-to-be-forgotten que requiere borrar datos del data lake. Audit trails que registran quién accedió a qué dato y cuándo. Un error no es "un paquete tarde" -- es un dato médico filtrado o un paciente que pierde su derecho a la privacidad.

Rosa, la DPO (Data Protection Officer) de MediTrack, te contactó después de ver tu perfil en LinkedIn: "Necesitamos a alguien que entienda data lakes Y regulación. La mayoría de data engineers no saben qué es k-anonymity ni cómo implementar right-to-be-forgotten en un lago de datos inmutable. Tu experiencia en NeoBank con compliance y en FlashRoute con ownership es exactamente lo que buscamos."

El salto de FlashRoute a MediTrack no es técnico (ya dominas streaming, lakes y pipelines). Es de RESPONSABILIDAD. En FlashRoute un error cuesta dinero. En MediTrack un error puede costar la privacidad de un paciente. Es el siguiente nivel de madurez profesional: datos donde equivocarse tiene consecuencias legales y éticas.

En MediTrack trabajaras con datos anonimizados para las lecciones -- nunca con datos reales de pacientes. Pero la mentalidad que desarrolles tratando datos ficticios como si fueran reales es exactamente la que necesitas en un entorno de salud. Cada ejercicio simula restricciones regulatorias reales de GDPR y normativa sanitaria europea.

### Carta de recomendación de Marcos

El lunes de tu segunda semana, antes de que empieces a trabajar en las mejoras, Marcos te manda un mensaje: "He actualizado tu evaluación de período de prueba. Resultado: superado. Nota que te puse: el pipeline de ETAs que montaste en 5 días es más robusto que lo que teníamos antes con un contractor durante 3 meses. El único punto de mejora es proactividad ante picos conocidos. Bienvenido al equipo de verdad."

No es un elogio grandilocuente -- no va con el estilo de Marcos. Pero de alguien que habla tan poco, un "más robusto que lo anterior" es significativo. Te ganaste la confianza del CTO en una semana. La confianza de Ana tardara más (necesita ver números consistentes durante un mes) pero el camino es correcto.

### Tu progresión hasta aquí

  • FreshMart (Junior): "Mi primera semana" -- CSVs, queries, limpieza de datos. Elena te guiaba paso a paso.
  • TaskFlow (Junior+): Eventos de producto, cohortes, métricas SaaS. Pablo te daba el diseño, tú implementabas.
  • AdPulse (Junior-Mid): Múltiples fuentes, atribución, ROAS. Empezaste a proponer soluciones propias.
  • NeoBank (Mid): Streaming, compliance, feature store. Alberto firmaba pero tú diseñabas.
  • FlashRoute (Mid+): OWNERSHIP completo. Tú decides, implementas y operas. Nadie firma por ti.
  • MediTrack (próximo): Mid-Senior. Diseñarás soluciones con restricciones regulatorias. Mínimo código dado.

Si en FreshMart te asustaban los CSVs de María, ahora diseñas pipelines de streaming que procesan 600 eventos por segundo en Black Friday y tomas decisiones de arquitectura sin pedir permiso. Has crecido más en 2.5 años de lo que muchos ingenieros crecen en 5. Y lo mejor: cada paso construye sobre el anterior. La fórmula Haversine de FlashRoute necesitaba el Python de FreshMart. El streaming de FlashRoute necesitaba la experiencia de NeoBank. El ownership necesitaba la confianza que ganaste en AdPulse y TaskFlow. Todo se conecta.

## ejercicios

[01]

Checklist de ownership de dominio

Implementa una función que evalua si un dominio está "production-ready" basandose en criterios de madurez operacional. Cada criterio tiene un peso y el score final determina si el dominio puede operar sin supervision.

Cargando editor...
[02]

Dashboard resumen de la semana

Crea un script que genere el resumen semanal que presentarias a Marcos: métricas del pipeline (latencia, volumen, errores), SLA global, incidentes y mejoras pendientes. Es el tipo de reporte que un owner presenta cada viernes.

Cargando editor...
[03]

Simulador de escenarios on-call

Implementa un sistema que simule diferentes escenarios de on-call que podrias recibir como owner del dominio de operaciones. Para cada alerta, determina severidad, impacto, y pasos de resolucion.

Cargando editor...

Regístrate para guardar tu progreso.

## comentarios

Reporta erratas, ayuda a otros o comparte tu opinión. Sé constructivo.

Inicia sesión para comentar y responder.

cargando comentarios...