lección 1

Bienvenido a FreshMart

Conoce la empresa, el equipo, tu rol y el caos organizado al que acabas de llegar. Contexto puro antes de tocar una sola línea de código.

20 min

### Lunes, 7:45 AM — El primer día del resto de tu carrera

El despertador suena antes de lo habitual. Hoy no es un día cualquiera: es tu primer lunes como Junior Data Engineer en FreshMart. Has pasado las entrevistas, firmaste el contrato hace dos semanas y llevas tres días de onboarding administrativo — te dieron un portátil, configuraste Slack, y leíste un confluence que nadie ha actualizado en 8 meses. Pero hoy, por primera vez, vas a tocar datos de verdad.

FreshMart es un supermercado 100% online fundado en Barcelona en 2019. Tres cofundadores que venían de Glovo y Mercadona tuvieron una idea simple: "Mercadona pero online, entrega en 2 horas". Lanzaron en pleno COVID (2020), lo que les dio un empujón brutal. Hoy operan en 5 ciudades — Barcelona, Madrid, Valencia, Sevilla y Bilbao — con ~500 empleados, 2 millones de pedidos al mes y una facturación de 180 millones de euros anuales. Acaban de cerrar una Serie C de 45M€ y el objetivo para 2025 es llegar a 10 ciudades.

El equipo de datos existe desde hace solo 18 meses. Antes de eso, un analista solitario hacía todo con Excel y Google Sheets. Ahora hay un equipo de 5 personas... pero la deuda técnica es enorme. Dashboards rotos, CSVs manuales, pipelines que fallan en silencio. Tú eres el refuerzo que llevan meses pidiendo.

### La empresa por dentro

  • Base operacional: PostgreSQL 15 en AWS RDS — 3 bases separadas (orders, users, inventory)
  • Data Lake: AWS S3 — zona raw funciona, silver/gold en construcción
  • Orquestación: Apache Airflow 2.7 — 12 DAGs, la mitad rotos o deshabilitados
  • BI: Metabase — 47 dashboards, 30 de ellos abandonados o rotos
  • Modelado: dbt Core — solo lo usa Elena (la tech lead), nadie más lo toca
  • Repositorio: GitHub monorepo freshmart-data — PRs obligatorios pero sin CI
  • Lenguajes: Python 3.11 y SQL para todo el equipo de datos

### Los problemas que nadie quiere ver

Todo esto suena impresionante sobre el papel, pero debajo de la superficie el panorama es diferente. Hay problemas reales que TÚ vas a experimentar esta semana:

  1. 01.Sin ownership: las tablas en el warehouse no tienen dueño. Cuando algo falla, nadie sabe a quién avisar.
  2. 02.CSVs manuales: Marketing exporta listas de clientes y resultados de campañas a mano. Cada persona usa un formato diferente.
  3. 03.Datos duplicados: el pipeline de pedidos a veces ingesta el mismo batch dos veces. Nadie se ha parado a arreglarlo.
  4. 04.Dashboards rotos: 30 de 47 dashboards muestran datos obsoletos o directamente dan error.
  5. 05.Sin documentación: no hay catálogo de datos. Los analistas preguntan en Slack "¿alguien sabe qué es la columna flag_x?"
  6. 06.Latencia: los datos de ventas llegan al warehouse con 24-48h de retraso. Marketing toma decisiones con datos de anteayer.

Consejo de senior: esto que acabas de leer no es un caso extremo — es la NORMA en empresas en crecimiento. El 90% de los equipos de datos que he conocido en 15 años están en algún punto de este caos. Tu trabajo no es juzgarlo; es mejorarlo paso a paso. Nadie te pide que arregles todo el primer día.

### Tu equipo

El equipo de datos de FreshMart — 5 personas + tú

### Los personajes que vas a conocer esta semana

Elena Torres (34 años) — Tu Tech Lead. Ex-Spotify, ex-Glovo. Exigente pero justa. No te da palmaditas por hacer lo básico, pero cuando haces algo bien te lo reconoce con un "buen trabajo" seco que vale oro. Si tu PR tiene un "df2" como nombre de variable, te lo devuelve sin mirarlo. No contesta Slack después de las 18:30. Frase típica: "¿Y esto lo has probado con datos reales o solo con los 5 registros de ejemplo?"

María García (29 años) — Marketing Manager (Acquisition). Ex-McKinsey, ex-Amazon España. Inteligente, rápida, impaciente. No entiende por qué "cruzar dos tablas" puede tardar más de 5 minutos. Manda CSVs con nombres como "clientes_FINAL_v3_BUENO.csv". Cambia de requisitos a mitad de tarea. Frase típica: "Oye, ¿puedes meterle también la columna de ciudad? Es que Laura me acaba de decir que la necesita para el viernes."

Jorge Ruiz (31 años) — Analista Senior. Económicas + máster en Analytics. 4 años en Inditex. Metódico, detallista, obsesivo con los números. Si un total no cuadra por 0.01€, no descansa hasta encontrar por qué. Siempre pregunta "¿a qué granularidad?" antes de cualquier cosa. Frase típica: "Espera, ¿esos 2.3M son ventas brutas o netas? Porque si incluimos devoluciones el número no cuadra con lo que tiene Finanzas."

Raúl Vega (27 años) — Tu buddy. Data Engineer Mid, 2 años en FreshMart. Buen tipo, colaborador, pero desorganizado. Su código funciona pero no siempre es limpio. Te ayuda cuando le preguntas pero asume que sabes cosas que no sabes. Tiene 14 branches sin mergear. Frase típica: "Ah sí, eso ya lo tenemos... bueno, más o menos. Mira en el DAG de raw_orders, creo que ahí hay algo parecido."

Víctor Molina (41 años) — Head of Data. 10 años en banca, luego fintech. Político, visionario pero desconectado del día a día técnico. Habla de "data mesh" y "data democratization" en reuniones con dirección. Solo aparece el viernes en la demo. Frase típica: "Esto está muy bien, ¿lo podemos escalar al resto de equipos?"

### Las dinámicas que vas a notar

  • Elena y Raúl: se llevan bien pero Elena está frustrada con la calidad del código de Raúl. No se lo dice directamente — lo corrige en code reviews.
  • Elena y María: tensión profesional. María pide cosas "para ya" y Elena protege al equipo de interrupciones. Han tenido al menos 2 roces en el último mes.
  • Jorge y María: buena relación. Jorge es "el traductor" entre datos y marketing. A veces te pide cosas que en realidad son para María.
  • Raúl y tú: tu buddy informal. Te enseña dónde están las cosas pero a veces su ayuda te confunde más.
  • Víctor y todos: respetado pero lejano. El equipo bromea con que "Víctor vive en un mundo de diapositivas".

### Los rituales del equipo

  • Standup: Lunes a viernes 9:30 — 15 min en Meet, a veces async en Slack
  • Sprint planning: Lunes 10:00 — Elena + ingenieros, 45 min, se asignan tareas
  • Code review: continuo — Elena obligatorio, Raúl opcional
  • Demo a negocio: Viernes 12:00 — 30 min, se muestra lo hecho en la semana
  • 1:1 con Elena: Miércoles 16:00 — 20 min, feedback y dudas

### Tu situación ahora mismo

Llevas 3 días en la empresa (hoy es tu cuarto día laborable). Ya tienes accesos: GitHub, Slack, Metabase (solo lectura), AWS (solo lectura al lake). Elena te asignó a Raúl como buddy pero Raúl está ocupado con otro proyecto. Todavía no has tocado código en producción — solo has leído documentación (poca) y explorado el repositorio. Tu contrato dice "Junior Data Engineer" y se espera que hagas ingesta, limpieza y transformaciones simples. NO se espera que diseñes arquitectura ni tomes decisiones grandes — eso es de Elena.

Consejo de senior: en tu primera semana, tu mejor herramienta no es Python ni SQL — es la ESCUCHA. Observa cómo se comunica el equipo. Quién toma decisiones. Quién tiene las respuestas. Quién tiene la urgencia. Eso te va a servir más que cualquier framework técnico.

A partir de la siguiente lección trabajarás con los datasets reales de FreshMart. Asegúrate de haberlos descargado (los tienes en el apartado de datasets del caso) y de tener Python con Pandas y un editor listos. Si no tienes el entorno preparado, revisa las skills de Python y tu ordenador antes de continuar.

volver a la visión del caso y descargar los datasets

### Los canales de Slack que usarás

  • #data-team — Canal del equipo. Standups async aquí.
  • #data-requests — Donde negocio pide cosas (en teoría). En la práctica, te escriben por DM.
  • #data-alerts — Alertas automáticas de Airflow cuando algo falla.
  • #mkt-data — Canal compartido entre datos y marketing.

Respira hondo. El primer día siempre es abrumador, pero recuerda: nadie espera que seas productivo desde la primera hora. Lo que SÍ esperan es que preguntes cuando no entiendas algo, que comuniques si algo te bloquea, y que no rompas producción. Vamos a ello.

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