DEV Community

Cover image for Qué hace un Data Engineer en producción (sin humo)
Agustín José Mazzeo
Agustín José Mazzeo

Posted on

Qué hace un Data Engineer en producción (sin humo)

Qué hace un Data Engineer en producción (sin humo)

Si aprendiste Data Engineering con notebooks y datasets limpios, este artículo es para vos. En producción no hay datasets prolijos: hay sistemas que cambian, pipelines que fallan y datos que tienen que estar bien todos los días.

TL;DR

Un Data Engineer en producción:

  • Construye y mantiene pipelines confiables
  • Asegura calidad de datos (no “espera” que llegue bien)
  • Diseña pensando en consumo (BI, ML, APIs)
  • Opera: monitorea, debuggea y reprocesa
  • Toma decisiones con trade-offs reales: costo, performance, riesgo

Problema

En teoría:

“Extraer datos, transformarlos y cargarlos en un data warehouse”

En producción:

  • Los datos llegan incompletos o tarde
  • Las APIs fallan o cambian el esquema
  • Jobs “OK” pueden producir datos incorrectos
  • Dashboards dependen de vos

👉 Resultado: el trabajo no es solo construir, es operar sistemas de datos vivos

Explicación

Un Data Engineer construye y opera sistemas que convierten datos caóticos en datos confiables para el negocio.

No es solo ETL.

Es:

  • diseño de pipelines
  • aseguramiento de calidad
  • operación continua
  • decisiones de arquitectura

Una vez que entendés el problema, el trabajo se divide en estas capas:

1. Ingesta (fuentes inestables)

Qué implica:

  • Integrar APIs, bases, eventos
  • Manejar errores y reintentos
  • Detectar cambios de esquema

Ejemplo:

expected = {"order_id", "user_id", "amount"}
for col in expected:
    if col not in df.columns:
        df[col] = None
Enter fullscreen mode Exit fullscreen mode

👉 Diseño defensivo, no datos perfectos

2. Transformación

Qué implica:

  • Limpieza y deduplicación
  • Lógica de negocio
  • Performance

Ejemplo:

SELECT *
FROM (
  SELECT *,
         ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY updated_at DESC) AS rn
  FROM raw_users
)
WHERE rn = 1;
Enter fullscreen mode Exit fullscreen mode

👉 Decisión clave: correctitud vs performance

3. Modelado

Qué implica:

  • Diseñar para BI o ML

Ejemplo:

  • Dashboard → tabla agregada
  • ML → eventos detallados

👉 Depende del consumo

4. Consumo

Consumidores:

  • BI
  • ML
  • APIs

👉 Cambiar schema rompe cosas → necesitas contratos

5. Operación (lo más importante)

Qué implica:

  • Alertas
  • Debug
  • Reprocesos

👉 Aquí está el trabajo real

Ejemplo práctico

Pipeline de e-commerce:

Source

orders = fetch_api("/orders")
events = read_stream("user_events")
Enter fullscreen mode Exit fullscreen mode

Raw

INSERT INTO raw_orders
SELECT *
FROM api_orders;
Enter fullscreen mode Exit fullscreen mode

Curated

SELECT
  order_id,
  user_id,
  order_date,
  total_amount
FROM raw_orders
WHERE order_id IS NOT NULL;
Enter fullscreen mode Exit fullscreen mode

Serving

SELECT
  order_date,
  SUM(total_amount) AS revenue
FROM curated_orders
GROUP BY order_date;
Enter fullscreen mode Exit fullscreen mode

Consumo

  • Dashboard
  • ML

👉 El pipeline termina cuando alguien usa los datos

Errores comunes

  • Asumir datos correctos
  • No guardar raw
  • No validar resultados
  • Romper contratos
  • No manejar fallas

Checklist

  • ¿Puedo reprocesar datos?
  • ¿Guardo raw?
  • ¿Tengo validaciones?
  • ¿Es idempotente?
  • ¿Sé quién consume?
  • ¿Tengo alertas?
  • ¿Costo controlado?
  • ¿Logs útiles?

Conclusión

Ser Data Engineer en producción no es escribir SQL.

Es:

  • construir sistemas resilientes
  • anticipar fallas
  • balancear trade-offs

👉 Tu valor real es que los datos funcionen siempre

CTA

Si estás aprendiendo Data Engineering: empezá por pipelines reales, no por teoría.

👉 Siguiente paso: entender Batch vs Streaming en producción

Top comments (0)