MAR 2021 — OCT 2022 · 1 AÑO 7 MESESData Engineering Team Lead

AB InBev – Grupo Modelo

Entré como Data Engineer en un equipo de ETL sobre Azure y a los seis meses me promovieron a Team Lead. Además de liderar el equipo, construí una aplicación en Ruby on Rails que automatizó la preparación de cada ETL y que terminaron usando todos los pods de ingeniería de datos.

6 meses
para la promoción a Team Lead
2–3 h → 5 min
para preparar los archivos de cada ETL nuevo
6
personas en el equipo, entre desarrolladores y QA

LO QUE CONSTRUÍ

01Pipelines ETL con TalendExtracción desde SAP y Vertica hacia Azure.

El proceso de ETL se orquestaba en Talend Open Studio: extraía datos de SAP, Vertica y otras fuentes, los transformaba con archivos SQL y los cargaba en Azure, una parte en Azure Databricks. Cada flujo se definía en un archivo Excel maestro con las tablas, los campos, los SQL y la estrategia de carga. Algunas corridas tardaban de 2 a 3 horas.

TalendSAPVerticaAzure Databricks
02Estrategias de cargaCarga completa e incremental.

Cada ETL usaba una de dos estrategias: carga completa, que trae todos los datos en cada corrida, o carga incremental, que trae solo los registros nuevos (por ejemplo, los del día anterior), los valida contra el destino y descarta duplicados para que origen y destino coincidan.

ETLSQL
03Automatización de la preparación de ETLDe 2–3 horas a 5 minutos por ETL.

Antes de correr cada pipeline había que llenar a mano el Excel maestro y escribir los SQL de extracción y transformación, aunque entre un ETL y otro cambiaban pocas cosas; los errores de captura causaban fallas y retrasos. Empezó como un script en Ruby y, al ver que funcionaba, la convertí en una aplicación completa en Ruby on Rails, con interfaz: se conecta a la base de datos, toma los parámetros del requerimiento (fuente, destino, tabla y estrategia de carga) y genera todos los archivos listos para Talend. La preparación pasó de 2–3 horas a unos 5 minutos, sin errores de captura, y la compartí con todos los pods.

Ruby on RailsSQLAutomatización
04Mantenimiento del pipeline en TalendCorrecciones y optimizaciones en Java.

El pipeline base lo construyó un equipo global y con el uso fue mostrando fallas. Como prácticamente el único del equipo con experiencia en Java, entré a su código, corregí y optimicé muchas partes, y creé y reparé pipelines en Talend. Las fallas que quedaban solían ser externas: timeouts o caídas de servicios y bases de datos.

JavaTalend
05Liderazgo del equipoHasta seis personas, con Scrum.

Como Team Lead coordiné un equipo de hasta seis personas, entre desarrolladores y QA: planeación de sprints, code review y seguimiento de desempeño con Scrum y Azure DevOps.

ScrumAzure DevOps