Saltar al contenido

lección 8

Retrospectiva -- De junior a senior, preparación StreamVibe

Reflexión sobre tu carrera de 4.5 años: de subir CSVs en FreshMart a diseñar arquitecturas que mueven millones. Qué has aprendido, qué te falta, y qué viene en StreamVibe donde diseñarás TODO desde cero.

⏱ 30 min

## Qué es una retrospectiva y qué no

Una retrospectiva es mirar atrás con un objetivo muy concreto: salir de ahí con algo que vas a hacer distinto la próxima vez. No es un resumen de lo hecho ni una lista de méritos. Tiene tres reglas que la hacen útil. Primero los hechos, después el juicio: "el miércoles por la tarde paramos a construir el circuit breaker con el stream ya inundado" es un hecho; "fui poco previsor" es un juicio, y no sirve porque no se convierte en una acción. No se busca culpable, se busca causa: la pregunta no es quién se equivocó, sino qué hacía razonable equivocarse; si la respuesta a "¿por qué no lo vimos antes?" es "porque nadie lo miró", la siguiente pregunta es por qué nadie lo miró, y ahí suele estar el arreglo. Y cada conclusión termina en un cambio concreto: "hay que pensar más en los fallos" es un deseo; "la plantilla de diseño de ingesta lleva una sección obligatoria de qué pasa si una fuente se vuelve loca" se puede comprobar dentro de un mes. Esto vale igual para una retro de equipo y para la que haces tú solo un viernes; la tuya no la lee nadie, así que la trampa de quedar bien es más fácil de caer.

## Viernes, 17:00 -- Cerveza con Kenji en la cafeteria de planta

La presentación fue bien. Fernando aprobó el roadmap, Patricia está entusiasmada con el modelo predictivo, y Klaus de BMW confirmó que el formato de exportación es correcto. Tu primera semana en SmartFactory ha sido intensa -- probablemente la más exigente de tu carrera. Kenji te invita a la cafetería de planta a tomar algo.

1Kenji: "Oye, buen trabajó está semana. En serio. Yo llevo año y medio
2aquí y nunca había conseguido sentarme con Fernando a presentar un
3roadmap completo. Tu llegas, y en 5 días tienes un ADR aprobado,
4un pipeline de features, la exportación de BMW resuelta, un circuit
5breaker y un plan de 6 meses con números. Como lo haces?"
6
7Tu: "Experiencia. No es que sea más listo -- es que he visto estos
8problemas antes en otros contextos. El circuit breaker es el mismo
9patron que usabamos en FlashRoute para GPS anomalos. Las features de
10streaming son una versión más compleja de lo que hacía en NeoBank
11para fraude. Y presentar a un VP es algo que aprendi en MediTrack
12cuando tuve que explicar GDPR al compliance board.
13
14Cada empresa me enseñó algo que uso en la siguiente. FreshMart me
15enseñó que los datos reales son sucios. TaskFlow que los eventos
16son complejos. AdPulse que las multiples fuentes nunca cuadran.
17NeoBank que la regulación no es opcional. FlashRoute que el real-time
18es difícil. MediTrack que la privacidad es responsabilidad. Y
19SmartFactory que la arquitectura es decisión."
20
21Kenji: "Ya, pero algo se te habra torcido. Que cambiarias si
22empezaras el lunes otra vez?"
23
24Tu: "Tres cosas, y las tres son de orden, no de criterio. Todas las
25vi venir tarde."
26
27Kenji: "Y que viene después de aquí?"
28
29Tu: "No lo se todavía. Pero tengo la sensacion de que el siguiente
30pasó es construir algo DESDE CERO. No llegar a una plataforma
31existente y mejorarla -- sino diseñar una de la nada."

La reflexion del viernes -- cada empresa te enseñó algo diferente.

## Lo que SmartFactory te enseñó

  1. 01.DECIDIR bajo incertidumbre: no siempre tienes todos los datos. A veces tienes que elegir con información incompleta y aceptar el riesgo. Documentar POR QUÉ elegiste es más importante que elegir "bien".
  2. 02.COMUNICAR a nivel ejecutivo: un VP no quiere saber que Kafka tiene 24 particiones. Quiere saber cuánto cuesta, cuánto ahorra y cuándo está listo. Aprende a traducir entre técnico y negocio.
  3. 03.DEFENDER decisiones: cuando Fernando cuestiona tu elección, no es un ataque -- es una prueba de resistencia. Si no puedes defender tu decisión con datos, quizás no es la correcta.
  4. 04.PENSAR en 5 dimensiones: rendimiento, fiabilidad, complejidad, coste, evolución. Ninguna decisión se evalúa en una sola dimensión. Los trade-offs son inevitables.
  5. 05.IMPACTO en P&L: por primera vez, tus decisiones técnicas mueven directamente los números financieros de la empresa. 36.000 EUR por cada hora de línea parada. 522.000 EUR al año de riesgo que el sistema evita, de 700.000 que hay sobre la mesa. Eso es responsabilidad real, y saber distinguir el riesgo que hay del que se quita es parte del trabajo.
  6. 06.DISEÑAR para otros: los mid-level DEs implementan TUS diseños. Si tu diseño no es claro, ellos fallan. Documenta, simplifica, explica.

## Lo que haría distinto

Tres cosas de esta semana llegaron tarde. Una explotó -- el miércoles por la tarde --, otra se pagó en la factura y la tercera no llegó a explotar de milagro. Ninguna fue un fallo de capacidad; las tres fueron de orden. Cada una termina en un cambio concreto, que es lo que hace que una retrospectiva sirva para algo.

  1. 01.Construí la protección después del incendio. El miércoles por la tarde PSR-0087 se volvió loco y hubo que parar a diseñar el circuit breaker con el stream ya inundado. La pregunta "¿qué pasa si una de mis fuentes empieza a mentir?" es una pregunta de diseño de ingesta, y el diseño de ingesta lo hice el lunes. CAMBIO: la plantilla de ADR lleva desde hoy una sección obligatoria -- qué pasa si esta fuente se vuelve loca y quién la corta -- que hay que rellenar para dar el ADR por cerrado.
  2. 02.Automaticé un formato antes de que el cliente lo confirmara. Monté la exportación completa para BMW y luego Klaus dijo que estaba bien. Si llega a decir que no, tiro el trabajo de esa mañana y el de la firma y la entrega detrás. CAMBIO: ninguna entrega a un cliente externo se automatiza sin un "sí" por escrito sobre una muestra. La muestra es el primer paso de la tarea, no el último.
  3. 03.Heredé un lake sin reglas y no lo miré hasta que Fernando puso la factura encima de la mesa. Que no hubiera política de retención no es cosa mía: la plataforma tiene 18 meses y yo llevo cinco días. Mío es no haber preguntado el lunes, cuando abrí la zona cruda por primera vez, cuánto costaba lo que había ahí y quién decidió guardarlo. CAMBIO: en la primera semana en cualquier sitio, la factura de almacenamiento y la política de retención van en la lista de cosas que pregunto, al lado del diagrama y de los accesos.

El patrón de los tres es el mismo y conviene decirlo en voz alta: lo que se puede hacer barato al principio se hace caro después, y la trampa es que al principio nunca parece urgente. En StreamVibe, donde no hay nada construido, es la única ventaja de verdad que tienes.

## Tu progresion en números

  • TaskFlow (mes 3): pipeline de eventos Kafka -> warehouse. 100.000 eventos/día.
  • AdPulse (mes 9): reconciliación de 3 fuentes de ads. 50.000 eventos/día -- menos volumen que TaskFlow, y mucho más difícil: el salto de este peldaño no es de tamaño, es de que los números de tres sitios distintos nunca cuadran.
  • NeoBank (mes 18): pipeline near-real-time de fraude. 500.000 eventos/día.
  • FlashRoute (mes 30): streaming GPS con Spark. 17.280.000 eventos/día (200 ev/s).
  • SmartFactory (mes 54): arquitectura IoT. 172.800.000 eventos/día (7,2M/hora) -- x10 respecto a FlashRoute, el mismo salto que el Día 1 usa para explicar la escala. Decisiones de cientos de miles de EUR al año.
  • StreamVibe (mes 60+): TODO DESDE CERO. Tu decides el stack, la arquitectura, la estrategia.

Dos casos no entran en la escalera porque no son un ritmo: FreshMart (mes 0) es un fichero suelto de 50 KB -- ahí todavía no se medía nada -- y MediTrack (mes 42) se mide en pacientes (500.000), no en eventos por día.

Cinco de los siete peldaños de la carrera, puestos todos en eventos al día, con lo que multiplica cada uno al anterior

Un aviso si miras esto con ojo de recruiter: los meses (0, 3, 9, 18, 30, 42, 54) marcan los capítulos del curso, no una recomendación de carrera. Restándolos saldría "siete empresas en cuatro años y medio", y ese currículum no lo defiende nadie en una entrevista. Aquí cada empresa es un caso para aprender algo distinto, no un consejo de cambiar de trabajo cada año.

## Lo que te queda por aprender

SmartFactory te ha confirmado como senior. Puedes tomar decisiones arquitectónicas, presentar a ejecutivos y liderar un equipo técnico. Pero hay algo que no has hecho todavía: EMPEZAR DESDE CERO. En todas tus empresas anteriores llegaste a una plataforma existente -- mejor o peor, pero existente. Nunca has tenido que responder a la pregunta: "No tenemos nada. ¿Qué construimos primero?"

Esa es exactamente la pregunta que te va a hacer la CEO de StreamVibe. "Eres nuestro primer data engineer. No tenemos plataforma de datos: ni data lake, ni warehouse, ni un solo pipeline. Datos sí tenemos, pero no los usa nadie -- los eventos de reproducción se escriben en un PostgreSQL que el backend llena y nadie lee, y el catálogo está en la misma base. Diseña TODO desde cero." Y ahí es donde se separan los seniors buenos de los excepcionales.

Reflexión final: la diferencia entre un senior que mejora sistemas existentes y un senior que crea sistemas nuevos es la capacidad de lidiar con la AMBIGUEDAD total. Cuando no hay referencia, no hay patrón establecido, no hay "así lo hacíamos antes". Cuando eres tú y una hoja en blanco. Ese es el último nivel antes de ser staff/principal engineer.

## Una forma de empezar cuando no hay nada

StreamVibe te va a pedir priorizar cuando todo parece igual de urgente, y esa es la trampa. No son prioridades en competencia: son dos filtros que se aplican uno detrás de otro. Filtro 1, ¿quién está esperando esto y para qué decisión? Lo que nadie va a usar sale de la lista, por muy fundacional que parezca: si la CEO necesita enseñar a los inversores cuánta gente vuelve al mes siguiente, ese número está dentro y el data lake perfecto no. Filtro 2, de lo que queda, ¿qué es difícil de deshacer? Hay piezas que se rehacen en una tarde y piezas en las que hay que acertar a la primera porque después arrastras la decisión para siempre: cómo identificas a un usuario, cómo marcas cuándo ocurrió un evento, qué guardas del evento crudo. Esas se adelantan aunque luzcan menos. Y un desempate: entre dos cosas que pasan los dos filtros, primero la barata; una plataforma que enseña algo útil en tres semanas compra el permiso para construir lo siguiente. Con esos tres, la primera versión de casi cualquier plataforma de datos es la misma: un puñado de eventos bien identificados, un sitio donde caen sin perderse y un panel con las tres o cuatro cifras que alguien mira de verdad.

## Hacia StreamVibe -- el último caso

Tres meses después de empezar en SmartFactory, el roadmap va según lo previsto. Mes 3: la exportación BMW está automatizada. El modelo predictivo lleva tres meses en producción: de cada 100 avisos, 92 son ciertos, dos puntos por debajo del ensayo offline y dos por debajo del listón del 94% que puso Patricia; Aitor está revisando el umbral. Lo que todavía no sabemos es la cobertura -- de las averías que han ocurrido, cuántas vimos venir --, que es la cifra de la que depende el ahorro y la primera que hay que empezar a medir. El circuit breaker ha aislado 7 sensores anómalos sin intervención humana. Fernando está satisfecho.

Un domingo por la tarde recibes un LinkedIn InMail de alguien que no conoces:

1De: Marta Vidal, CEO @ StreamVibe
2Asunto: Primer Data Engineer -- Diseña todo desde cero
3
4Hola,
5
6Soy Marta, CEO de StreamVibe. Somos una startup de streaming de
7video con 30 personas y estamos en fase de buscar product-market-fit.
8Tenemos 42.000 registrados y unos 15.000 activos al mes.
9
10Nuestro problema: tenemos datos y no los mira nadie. Las reproducciones
11se escriben en un PostgreSQL que la aplicacion llena y del que nadie lee,
12y el catalogo esta en la misma base. No hay lake, ni warehouse, ni un
13solo pipeline. No sabemos cuanto engagement tienen los usuarios, que
14contenido funciona, ni cuales son nuestras metricas reales.
15
16Necesito un primer data engineer que:
171. Defina la estrategia de datos de la empresa
182. Diseñe la arquitectura desde cero
193. Implemente el primer pipeline (eventos -> métricas)
204. Monte el primer dashboard que yo pueda usar con inversores
21
22Tu perfil me parece perfecto: has visto retail, SaaS, marketing,
23fintech, logística, salud e industria. Sabes diseñar sistemas. Y lo
24más importante: sabes DECIDIR que construir primero cuando no hay nada.
25
26Te interesaria hablar?
27
28Marta

El proximo reto: no mejorar lo existente sino CREAR desde cero.

Te interesa. Has pasado 4.5 años mejorando sistemas existentes -- algunos buenos, otros malos, pero siempre había algo. StreamVibe es la oportunidad de aplicar TODO lo que has aprendido en un lienzo en blanco. De decir "si yo diseñara esto desde el principio, cómo sería?". Es el último escalón antes de ser un arquitecto de datos en toda regla.

Pero eso es otra historia. Por ahora, disfruta la cerveza con Kenji y el hecho de que esta semana has diseñado una arquitectura que procesa 10 millones de eventos por hora, previene paradas de producción que cuestan 36.000 EUR/hora, y asegura el rating de proveedor con BMW. No está mal para 5 días de trabajo.

StreamVibe (Caso 8) es el nivel MAXIMO. No se te da ningún código, ningún schema, ninguna arquitectura de referencia. El CEO te dice "necesitamos datos" y tú diseñas TODO: stack, arquitectura, prioridades, presupuesto, roadmap. Es la prueba definitiva de que eres un senior data engineer completo. Prepárate.

Regístrate para guardar tu progreso.