esvdev_logo

Data Engineering 2 - El Ingeniero de Datos y los demás roles en Data

Publicado: 08/02/25

¿Qué diferencia hay entre los roles en data? ¿Cómo impacta el trabajo del Engineer en los demás roles técnicos?

El Ingeniero y otros roles técnicos

Continuando con esta serie de posts y para comenzar esta segunda parte, hagamos un breve repaso de lo visto en el post anterior. Sabemos que existe el ciclo de vida de los datos, conformado por varios pasos. El primero de estos pasos (ingesta y almacenamiento) es la tarea principal de un/a Data Engineer. ¿Qué sucede con el resto de pasos? Ahí es donde entran en juego los demás roles en este rubro tan grande y apasionante.

Veamos brevemente de qué se encargan los demás roles en data, las diferencias entre sí y el impacto del Data Engineer en el trabajo que llevan a cabo dichos roles. Una vez más vamos a leer qué es lo que tiene el libro Fundamentals of Data Engineering de Joe Reis y Matt Housley (O’Reilly) para decir al respecto.

Antes de comenzar a describir cada rol, hablemos de dos conceptos importantes conocidos como “Upstream Stakeholder” y “Downstream Stakeholder”. Sé que a lo mejor querés empezar a scrollear enseguida para sacarte la duda sobre la diferencia entre los roles en data, pero dame un segundito. En serio, va a valer el esfuerzo que aprendas lo que es un stakeholder y la diferencia entre cada tipo, ya que esto te dará más contexto para entender la relación que tienen los roles en data (e incluso otros roles técnicos fuera de data) con el rol que nos interesa: Engineering.

Upstream Stakeholder y Downstream Stakeholder

Comencemos por definir qué significa “stakeholder” (palabrita que te va a servir bastante si estás buscando mejorar ese inglés). Dentro del contexto IT un stakeholder es lo que se conoce como “parte interesada”, es decir, cualquier persona, grupo o entidad que tiene un interés en el proyecto o en el resultado de un trabajo.

El cliente, los usuarios finales, un gerente que toma decisiones sobre recursos y plazos, otros desarrolladores, etc. Todos ellos son “partes interesadas” o “stakeholders”, ya que su trabajo o experiencia están directamente relacionados con el proyecto en curso, así que la opinión que tengan o cuán satisfechos estén con el progreso realizado puede influir en el proceso, los resultados y el futuro del proyecto en cuestión.

Ahora bien, estas partes interesadas pueden estar presentes en dos etapas distintas del proceso: el principio o el final (o más cerca del final) del mismo. Esta diferenciación es lo que se conoce como “upstream” (al principio) y “downstream” (hacia el final).

Genial. Ahora, dentro del contexto de la Ingeniería de Datos, nuestro libro de cabecera (Fundamentals) divide a distintos roles técnicos entre estas dos categorías. Entre los roles que se sitúan al principio de un proceso, es decir, los upstream stakeholders, podemos encontrar a Data Architects, Software Engineers, DevOps y Software Reliability Engineers (SREs).

Por el otro lado, entre los downstream stakeholders, aquellas partes interesadas situadas hacia el final de un proceso o que esperan resultados del mismo, encontramos a roles como el del Data Scientist, Data Analyst y Machine Learning Engineer.

El “Fundamentals” va un paso más allá y divide a todos estos roles entre productores y consumidores de datos. El Ingeniero de Datos se sitúa en el medio de ellos actuando como un nexo. Veamos cómo es esto posible explicando cada rol por separado: Data Architect, Data Analyst, Data Scientist. De esta manera veremos la diferencia entre los roles en data y cómo interactúan con el Engineer.

Data Architect

Un Arquitecto de Datos diseña el plano o esquema que las organizaciones usan para sus sistemas de gestión de datos, encargándose de diseñar, gestionar y optimizar la infraestructura de datos de la misma. Para lograr esto, ponen a disposición sus conocimientos de Computer Science y habilidades de diseño para asegurarse de que los sistemas de datos estén alineados con los objetivos de la compañía. Los Arquitectos también actúan como un puente entre roles técnicos y no técnicos de una organización. Entre sus distintas tareas, podemos destacar:

La relación con el Data Engineer

Los Data Architects suelen ser considerados productores de datos y upstream stakeholders, ya que estos diseñan capas de datos de aplicación que actúan como sistemas fuente para los Data Engineers. Los Arquitectos pueden incluso llegar a interactuar con los Ingenieros en otras etapas del ciclo de vida de la Ingeniería de Datos.

Si bien ambos roles están muy relacionados, es importante destacar que las dos profesiones no son lo mismo. Los Data Architects diseñan y gestionan arquitecturas de sistemas de bases de datos, incluyendo vías para que los usuarios puedan acceder e interactuar con sus datos. Los Data Engineers crean y mantienen pipelines de datos, encontrando la forma más efectiva de procesar y almacenar grandes cantidades de datos a la vez que asisten en escalar la arquitectura de datos existente.

💡 Dependiendo de la empresa, un Data Engineer puede llegar a adoptar responsabilidades o incluso asumir el rol de Data Architect, por lo que es importante que el Data Engineer tenga una buena comprensión acerca de buenas prácticas de arquitectura.

Data Analyst

También conocidos como Business Analysts, estos profesionales buscan comprender el rendimiento y las tendencias de un negocio. Típicamente, un Data Analyst se concentra en el presente y/o pasado de dicho negocio.

Los Analistas de Datos suelen…

Estos profesionales son expertos de dominio (es decir, conocen bien las características de negocio y la lógica del mismo), lo que hace que estén íntimamente familiarizados con las definiciones de los datos con los que trabajan, sus particularidades y saben identificar problemas de calidad en los mismos.

La relación con el Data Engineer

El Data Engineer suele trabajar en colaboración estrecha con los Data Analysts para construir pipelines que sirvan como fuente de datos requeridas por el negocio. Es por ello que los Data Analysts son considerados consumidores de datos y downstream stakeholders.

El conocimiento que tiene el Analista sobre el negocio resulta invaluable para mejorar la calidad de los datos y es por ello que los Ingenieros trabajan con ellos para este cometido.

Data Scientist

Un Data Scientist construye modelos forward-looking (con visión a futuro) para realizar predicciones y recomendaciones. Estos modelos luego son evaluados utilizando datos limpios y precisos para proveer valor de variadas maneras.

Si bien es cierto que un Data Scientist suele recolectar, limpiar y preparar datos para luego poner a prueba los modelos predictivos que diseña, estas tareas deberían ser ejecutadas por un Data Engineer. Según los autores del Fundamentals of Data Engineering, que un Data Scientist pase el 70% a 80% de su tiempo realizando tales tareas “refleja prácticas inmaduras de Ciencia e Ingeniería de Datos”. ¿Cómo deberían entonces relacionarse ambos roles?

La relación con el Data Engineer

Los Data Engineers deberían ayudar a los Data Scientists al proveerles un camino a producción. Para lograr este objetivo, los Data Engineers trabajan para automatizar la recolección, limpieza y preparación de los datos lo máximo posible. Esta automatización y la capacidad de escalar estos procesos es lo que permite que la Ciencia de Datos sea más eficiente.

Conclusión

En este artículo, hemos explorado los distintos roles técnicos en el campo de datos y su relación con el Data Engineer. Hemos visto cómo el Data Engineer actúa como un nexo crucial entre los productores de datos (upstream stakeholders) como los Data Architects, y los consumidores de datos (downstream stakeholders) como los Data Analysts y Data Scientists.

Mientras que los Data Architects se enfocan en diseñar la infraestructura y los frameworks de gestión de datos, los Data Analysts se concentran en comprender el rendimiento actual del negocio a través del análisis de datos, y los Data Scientists construyen modelos predictivos para el futuro. El Data Engineer, por su parte, facilita el trabajo de todos estos roles al crear y mantener los pipelines de datos necesarios, automatizar procesos y asegurar la calidad y accesibilidad de los datos.

Esta sinergia entre roles es fundamental para el éxito de cualquier iniciativa de datos en una organización. El Data Engineer, al situarse en el centro de este ecosistema, juega un papel vital en hacer que todo el proceso sea más eficiente y escalable, permitiendo que cada rol pueda enfocarse en sus responsabilidades principales y agregar el máximo valor posible al negocio.

Tags:
#data-engineering

Elias Velazquez photo

Escrito por:

Elias Velazquez

Data Engineer | Developer | Musico | Nerd de yerbas varias