lección 8

Retrospectiva: tu crecimiento en AdPulse

Reflexion sobre tu semana en AdPulse. Skills ganadas, evolucion profesional, y preparacion para el siguiente reto en NeoBank.

25 min

### Viernes 17:00 -- Cerveza de cierre

Son las 5 de la tarde del viernes. Ivan se acerca con dos canas de la nevera del coworking. "Primera semana completada. Que te ha parecido?" Te sientas en el sofa de la terraza del tercer piso con vistas a Chamberi. El sol de enero se pone detrás de los edificios. Piensas un momento en todo lo que ha pasado en 5 días.

Piensas un momento. Esta semana has hecho cosas que hace 9 meses ni sabías que existian.

El lunes no sabías que era la inflacion de atribución. El martes explorabas 3 fuentes heterogeneas. El miercoles construiste un pipeline de unificacion con mapping manual. El jueves calculaste ROAS con 3 modelos diferentes y reconciliaste datos con el CRM. El viernes presentaste números a una directora de marketing que gasta 2 millones de euros al mes y respondiste preguntas en directo. Y Carmen te dijo "buen trabajó" -- que viniendo de ella, vale oro.

Lo más revelador es comparar tu mentalidad del lunes en FreshMart (hace 10 meses) con hoy. En FreshMart temblabas ante un CSV de Maria. Hoy has presentado a una clienta que gestiona 24M euros al año en publicidad. No es que el trabajó de hoy sea "más difícil" que el de FreshMart -- es que TU has crecido lo suficiente para abordar problemas más complejos con calma y metodo.

### Lo que sabías antes de AdPulse

  • FreshMart (meses 1-6): Limpiar CSVs, cargar datos a PostgreSQL, queries de negocio, diagnosticar pipelines rotos, comunicar con stakeholders internos (Maria de Marketing)
  • TaskFlow (meses 7-9): Ingesta desde Kafka, cohortes de retención, detección de bugs de tracking, window functions, propuestas de mejora al modelo de datos
  • Habilidades generales: Python + Pandas, SQL intermedio-avanzado, Git + PRs, comunicación con equipo técnico

### Lo que sabes hacer DESPUES de AdPulse

  • Unificar multiples fuentes heterogeneas (CSV + JSON + CSV semanal) en un esquema comun sin ID compartido
  • Usar mapping tables manuales para normalizar datos entre sistemas independientes
  • Calcular métricas de marketing digital (ROAS, CPA, inflacion de atribución) con rigor
  • Implementar 3 modelos de atribución diferentes (proporcional, lineal, time-decay) y explicar cuando usar cada uno
  • Reconciliar datos de plataforma con la realidad del CRM usando factores de correccion
  • Disenar y justificar decisiones de granularidad en un modelo de datos
  • Implementar alertas de calidad y detección automática de campañas huerfanas
  • Presentar hallazgos a un cliente EXTERNO no técnico de forma clara y accionable
  • Gestionar urgencias con deadlines de cliente (el quarterly review del viernes)
  • Automatizar reports recurrentes con DAGs de Airflow

### La reflexion de Ivan

1Ivan Romero [17:15 - terraza, cerveza en mano]:
2
3"Tres cosas que hiciste bien está semana:
4
51. Cuando Carmen te puso el deadline del viernes, no entraste
6 en panico. Estructuraste el trabajó en pasos, pediste ayuda
7 cuando la necesitabas y entregaste a tiempo. Eso es madurez.
8
92. En la call con Ana, respondiste la pregunta de Google vs Meta
10 con datos, no con opiniones. Dijiste 'los datos muestran que...',
11 no 'yo creo que...'. Eso genera confianza.
12
133. Tu PR estaba limpio. Funciones con nombres claros, logging en
14 cada pasó, y separacion de responsabilidades. No tuve que
15 reescribir nada para mergearlo.
16
17Una cosa que puedes mejorar:
18
19Cuando Ana preguntó sobre email y dijiste demasiado. En
20presentaciones a cliente, la regla es: responde la pregunta
21en 2 frases. Si quieren más detalle, te lo piden. No ofrezcas
22información que no han solicitado. Carmen es muy buena en eso
23-- observala en la proxima call."

Feedback de Ivan: específico, constructivo, con ejemplo concreto

### Tu evolucion profesional

1TU CARRERA HASTA AHORA:
2
3Mes 1-6 (FreshMart - Retail):
4 Reto: "Mi jefa me pasa un CSV sucio. Como lo limpio?"
5 Skills: SQL básico, Pandas, limpieza, primera ingesta
6 Confianza: Baja. Preguntas todo. No te atreves a opinar.
7
8Mes 7-9 (TaskFlow - SaaS):
9 Reto: "Tengo eventos en Kafka. Como construyo métricas de producto?"
10 Skills: SQL avanzado (window functions), ingesta streaming, cohortes
11 Confianza: Media. Propones ideas pero necesitas validación.
12
13Mes 9-10 (AdPulse - AdTech):
14 Reto: "Tengo 3 fuentes que se contradicen. Cual es la verdad?"
15 Skills: Multi-source ETL, reconciliación, atribución, comunicación cliente
16 Confianza: Media-Alta. Presentas a clientes. Tomas decisiones de diseño.
17
18SIGUIENTE (NeoBank - Fintech):
19 Reto: "Datos regulados y críticos. Un error cuesta millones."
20 Skills: Data quality, GDPR, near-real-time, incident management
21 Confianza esperada: Alta. Se espera que propongas soluciones, no que preguntes.

De junior puro a junior-mid con 10 meses de experiencia real

### Que vas a encontrar en NeoBank

AdPulse te enseñó a trabajar con multiples fuentes y a comunicar a un cliente externo. Pero todo era batch: datos de ayer, reports semanales. En NeoBank vas a enfrentar un mundo completamente diferente: datos financieros donde un error puede generar una multa regulatoria, pipelines near-real-time para detección de fraude, y compliance con GDPR que te obliga a poder borrar datos de un cliente en menos de 72 horas.

Alberto, el arquitecto de datos de NeoBank, te va a tratar como un mid: espera que tomes decisiones, que propongas arquitecturas y que trabajes con autonomía. Ya no eres el junior que pregunta "como hago esto?". Eres alguien con 10 meses de experiencia real en 3 empresas diferentes que sabe mover datos, escribir SQL complejo, comunicar a stakeholders y entregar bajo presion. Eso es exactamente lo que NeoBank necesita.

Un headhunter te contactó por LinkedIn (otra vez). Esta vez el mensaje era diferente: "Banco digital, equipo de datos de 8 personas, reto de fraude en tiempo real. Necesitan un mid con experiencia multi-fuente. Tu perfil encaja perfecto." Cuando fuiste a la entrevista, Alberto te preguntó: "Cuentame un caso donde los datos de dos fuentes se contradecian y tuviste que decidir cual era la verdad." Sonreiste. Tenias la respuesta perfecta.

Las diferencias clave entre AdPulse y NeoBank van a ser:

  • Regulacion: en AdPulse un error de datos pierde dinero. En NeoBank, un error puede generar una multa del Banco de Espana. La tolerancia al fallo es CERO.
  • Volumen: AdPulse procesa miles de filas por día. NeoBank procesa millones de transacciones. Necesitaras Spark, no solo Pandas.
  • Latencia: AdPulse es batch (datos de ayer). NeoBank necesita near-real-time para fraude. Un retraso de 5 minutos puede significar miles de euros robados.
  • Privacidad: en AdPulse los datos no son personales (campañas, clicks). En NeoBank manejas datos financieros protegidos por GDPR. Un leak es catastrofico.
  • Equipo: en AdPulse eras 3 personas. En NeoBank son 8 + compliance + seguridad. La coordinacion es más compleja.
  • Autonomia: en AdPulse Ivan revisaba TODO tu código. En NeoBank se espera que tomes decisiones y pidas review solo cuando necesites validación.

Pero también hay continuidades. La logica de reconciliar fuentes que no coinciden te va a servir (en banca, el core bancario y el sistema de tarjetas a menudo no cuadran). La capacidad de comunicar números claros a stakeholders no técnicos te va a servir (Sara de compliance necesita entender tus pipelines). Y la disciplina de documentar decisiones que Ivan te enseñó va a ser ESENCIAL en un entorno regulado.

La mayor diferencia entre un junior y un mid no es el código que escribes -- es la capacidad de tomar decisiones con información incompleta y comunicarlas con confianza. En AdPulse practicaste exactamente eso: "el factor de correccion es 0.6688", "recomendamos redistribuir a Meta", "el ROAS real es 1.93x". Esas son DECISIONES que tomaste con datos, comunicaste con claridad y defendiste ante un cliente exigente. Eso te hace mid.

### Lo que te llevas de cada persona

  • De Carmen: que la eficiencia comunicativa importa tanto como la técnica. Una tabla bien presentada vale más que un pipeline perfecto que nadie entiende.
  • De Ivan: que la calidad del código es un acto de respeto hacía tu equipo futuro. Documentar, testear y nombrar bien son inversiones que se pagan con intereses.
  • De Raul: que el conocimiento de dominio es insustituible. Sin su mapping table (imperfecta, manual, llena de huecos), tu pipeline no serviria para nada.
  • De Ana: que los clientes no quieren complejidad -- quieren claridad. Un número bien explicado genera más confianza que 10 números sin contexto.

Te vas a casa el viernes con la sensacion de que está semana ha sido un punto de inflexion. No solo por lo técnico (multi-source ETL, atribución, reconciliación) sino por lo profesional: has presentado a un cliente externo por primera vez, has recibido feedback directo sobre tu comunicación, y has demostrado que puedes entregar bajo presion con deadline inamovible. Eso es experiencia que no se gana en cursos -- se gana haciendo.

La semana que viene empiezas en NeoBank. Diferentes datos, diferentes stakeholders, diferente industria. Pero la misma mentalidad: entender el problema de negocio primero, disenar la solución después, y comunicar con claridad siempre. Te sientes listo.

### Skills técnicas consolidadas

Ivan te deja un último mensaje antes de irse el viernes:

1#canal-pharmalife [17:30]
2
3Ivan Romero: Antes de irme. Una lista de cosas que deberias
4practicar el finde si tienes tiempo (no es obligatorio):
5
61. Escribe un test para la función parse_touchpoints() con
7 estos edge cases:
8 - touchpoint con espacios extra
9 - campo vacio
10 - un solo touchpoint (sin coma)
11 - fuente desconocida (no es google/meta/email)
12
132. Lee sobre Google Analytics 4 y su modelo de atribución
14 data-driven. Es lo que Ana va a preguntar eventualmente.
15
163. Piensa en como automatizarias la mapping table: fuzzy
17 matching? reglas de naming? ML? Para el lunes quiero
18 tus ideas en un doc de 1 parrafo.
19
20Buen finde. Te has ganado esas cervezas.

Ivan cierra la semana con deberes opcionales -- siempre aprendiendo

### Las dinámicas del equipo que observaste

En una semana aprendiste mucho sobre como funciona un equipo profesional. No solo lo técnico -- también las dinámicas humanas:

  • Carmen e Ivan: respeto mutuo. Carmen confia en que Ivan entregara, Ivan confia en que Carmen priorizara bien. Pocos mensajes pero efectivos.
  • Carmen y Raul: Carmen a veces se frustra porque Raul actualiza el mapping tarde. Pero reconoce que sin su conocimiento de las plataformas, el pipeline no sirve de nada.
  • Ivan y tu: tu mentor. Exigente pero justo. Te deja trabajar pero revisa todo. El equilibrio perfecto entre autonomía y supervision.
  • Raul y tu: buena relación. El te da el contexto de negocio que necesitas y tu le das la automatización que el no puede hacer solo.
  • Ana y el equipo: exigente pero justa. Respeta cuando le dan números honestos. La peor cosa que puedes hacer es darle números incorrectos -- no perdona la negligencia.

### Que harias diferente si empezaras de nuevo

Ivan te pregunta: "Si pudieras repetir está semana desde cero con lo que sabes ahora, que harias diferente?" Piensas un momento:

  1. 01.El primer día habria pedido acceso al CRM desde el principio, no solo a las 3 fuentes publicitarias. Habria ahorrado medio día de trabajó el miercoles.
  2. 02.Habria implementado el check de unicidad en la mapping table ANTES de hacer el primer merge, no después del code review de Ivan.
  3. 03.Habria preguntado a Carmen el viernes anterior que formato quiere el informe para Ana, en vez de asumir y luego reformatear a última hora.
  4. 04.Habria documentado las decisiones de diseño (por que opcion A y no B) MIENTRAS las tomaba, no después. El ADR del viernes habria sido más fácil.
  5. 05.Habria automatizado los quality checks ANTES de la primera carga. Asi habria detectado los problemas de redondeo del email diario antes.

Ivan sonrie: "Todo eso es correcto. Pero fijate: son errores de PROCESO, no de CODIGO. Tu código estaba bien. Lo que mejoraras con experiencia es la planificacion y la comunicación anticipada. Eso solo se aprende haciendo."

### El mensaje de Carmen al cerrar la semana

1#general [17:45 viernes]
2
3Carmen Delgado: Equipo, resumen de la semana:
4
5- PharmaLife quarterly review: completado. Ana contenta.
6 Report semanal automatizado comprometido para el lunes.
7- Nuevo miembro del equipo (@Tu) integrado en 5 días y
8 ya productivo. Bienvenido de verdad.
9- Pipeline de reconciliación mergeado (PR #251). Produccion
10 el lunes cuando el DAG se active.
11- Raul: mapping table actualizada con 3 campañas nuevas.
12
13Proxima semana:
14- Lunes: primer report automático de PharmaLife
15- Martes: kick-off cliente NutriVida (segundo cliente
16 que migra al sistema de reconciliación)
17- Miercoles: retro del sprint
18
19Buen finde a todos.

Carmen cierra la semana: productivo, entregado, equipo alineado

### Skills técnicas consolidadas

1SKILLS CONSOLIDADAS EN ADPULSE:
2
3SQL (avanzado):
4 - CTEs complejos multi-nivel (5+ niveles de WITH)
5 - Window functions para tendencias (LAG, AVG OVER, RANK)
6 - FULL OUTER JOIN para comparar cobertura entre fuentes
7 - STRING_TO_ARRAY + UNNEST para parsear campos de texto
8 - ON CONFLICT para idempotencia
9 - Queries analiticas con métricas de negocio (ROAS, CPA)
10
11Python (intermedio-avanzado):
12 - Pandas: merge, groupby, apply, manejo de NaN
13 - Parseo de JSON anidado (APIs de plataformas publicitarias)
14 - Funciones puras testeables (parse, transform, validate)
15 - Logging estructurado en pipelines
16 - Generacion de informes formateados
17
18Data Engineering:
19 - Diseno de esquemas unificados (decisión de granularidad)
20 - Mapping tables y sus limitaciones
21 - Idempotencia en pipelines (re-ejecutar sin duplicar)
22 - Deteccion de huerfanas y alertas de calidad
23 - DAGs de Airflow (paralelismo, dependencias)
24
25Comunicacion:
26 - Presentar a cliente no técnico
27 - Documentar discrepancias entre fuentes
28 - Code review: dar y recibir feedback constructivo
29 - Emails ejecutivos sin jerga técnica

Tu toolkit después de 10 meses: ya no eres junior

## ejercicios

[01]

Documentar decisiones técnicas (ADR)

Escribe un Architecture Decision Record (ADR) documentando la decisión de usar reconciliación proporcional como metodo principal. Ivan usa este formato para todas las decisiones en el repo.

Cargando editor...
[02]

Disenar el sistema de alertas de discrepancia

Implementa un sistema completo de alertas que monitorice el factor de correccion semanal. Si se desvio significativamente del histórico, genera una alerta con severidad y posible causa.

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...