¿A qué se dedican los científicos, ingenieros y arquitectos de datos?
4 enero 2020Científicos, ingenieros y arquitectos de datos (data scientists, data engineers y data architects en inglés) son tres profesiones o roles que a menudo se confunden. Las tareas que llevan a cabo son bastante diferentes aunque, sobre todo en el caso de los ingenieros de datos y los científicos de datos, es bastante habitual solaparlas. Digamos que en general las dos figuras más claras suelen ser la del científico de datos y la del arquitecto de datos.
Roles más comunes en un proyecto de datos
Al científico de datos se le suele relacionar con los modelos estadísticos, los modelos de aprendizaje automático y la inteligencia artificial. Es esa especie de unicornio empresarial que sabe un poco de todo (o idealmente debería). Tiene un conocimiento amplio de matemáticas y es bueno programando en distintos lenguajes. Sin olvidar la componente de negocio que todo científico de datos debe tener para poder traducir el lenguaje de negocios en modelos estadísticos útiles.
Por otro lado, se encuentra la figura del arquitecto de datos. A estos profesionales se les suele relacionar con la parte de infraestructura y administración de sistemas. Montan y mantienen la infraestructura (clúster Big Data, servidores) para que los científicos de datos trabajen sobre ella. Han tomado especial relevancia en el contexto del Big Data, donde para tener una infraestructura on-premise es necesario tener un equipo de infraestructura potente. De otro modo, los resultados de los modelos estadísticos de los científicos de datos pasarán a ser verdaderos unicornios, es decir, inexistentes. Ellos son los que se encargan de que los cimientos del proyecto de datos estén estables.
También nos encontramos con el perfil de ingeniero de datos. Aquí suelen empezar las confusiones. El ingeniero de datos podríamos definirlo como la pieza clave entre el arquitecto de datos y el científico de datos. Desde mi punto de vista, es la pieza más importante en cualquier proyecto de datos. Son los encargados de diseñar los pipelines. Aquel que dado un proyecto con unas necesidades especificas escoge las tecnologías adecuadas, las «tuberías» para llevar el dato de A a B.
Luego existe un rol que se suele confundir con el de ingeniero de datos que es el del modelizador/analista de datos. Este rol debe tener conocimientos de ETL, APIs y modelización de bases de datos. Definen la codificación de datos, esquemas, compresiones y el versionado. También llevan a cabo la monitorización de las ETLs, validaciones, etc. Este puesto se suele confundir bastante con el ingeniero de datos, teniendo este último mucho más componente de diseño e ingeniería.
Termino mostrando un ejemplo para ilustrar los roles.
Ejemplo en un proyecto figurado
Por ejemplo, supongamos que queremos detectar si la temperatura en una fábrica es anómala y suene una alarma cuando lo sea. Podríamos hacer un modelo estadístico que recibiese datos a tiempo real desde un sensor de temperatura.
Pues bien, en primer lugar deberíamos tener una infraestructura adecuada para almacenar y procesar los datos de ese sensor. De esto se encargaría el arquitecto de datos. Los datos primeramente podrían almacenarse en un servidor de la fábrica y luego almacenarse y procesarse en un cluster big data. El arquitecto de datos se encargaría de que esos dos entornos tuviesen espacio de almacenamiento, funcionasen 24/7 y se pudiese procesar correctamente. Posteriormente, el ingeniero de datos diseñaría el flujo que deben seguir los datos, haría las tuberías de datos. También podría llevar los datos desde el sensor al servidor con una tecnología determinada, con otra tecnología desde el servidor hasta el clúster y con otra desde el clúster a la alarma. El modelizador/analista de datos diseñaría las tablas, ETLs, codificaciones, etc para que los datos que llegan al clúster pudiesen ser usados por el científico de datos. Por último, el científico de datos obtendría los datos de las tablas de clúster big data, haría su modelo estadístico y obtendría sus predicciones.
Conclusión
Cómo veis, el puesto de científico de datos sólo es la punta del iceberg en un proyecto, aunque sea el que más visibilidad tenga. El que sólo piense en el papel del científico de datos dentro de un proyecto está teniendo en cuenta sólo un 10 % de la foto global. En algunos proyectos de datos lo más trivial es la parte de la ciencia de datos, siendo sobre todo la ingeniería de datos lo que más quebraderos de cabeza puede dar. Habría algún perfil más como el DevOps o el científico de IA (Inteligencia artificial), pero estos cuatro de los que hablo me parecen los más generales.
Con esto espero arrojar un poco de luz sobre este tema, ya que es algo que suele generar bastante debate.
Si te ha gustado este post, compártelo con tus conocidos 🙂
Si te ha sido de utilidad este post, te agradecería que me apoyases en Patreon (donando una cantidad aunque sea poca ya sea una vez, o apoyándome mensualmente). Tener una web, dominio, hosting, no es gratis y me apoyas a seguir ayudando con la difusión de educación libre. Apóyame en Patreon! Mil gracias!!
¿Te ha parecido útil este artículo?
Hola, muy bueno el artículo.
En muchas empresas aun se solapan algunas de las tareas y posiblemente la causa es por que no existen todos los perfiles.
También bien haría falta incluir el rol del Arquitecto de soluciones, que desde mi punto de vista es quien tiene una visión completa del proyecto (funcional y técnica) y diseña la solución endToEnd.
Aquí en tu ejemplo creo que se solapa un poco con el arquitecto de datos.
Un saludo.
Hola Eduardo! Muchas gracias por tu comentario. Estoy totalmente de acuerdo en lo que comentas.
Exactamente, como bien dices faltarían otra serie de perfiles como el Arquitecto de soluciones o el big data developer, que tienen también gran importancia en determinados proyectos. Quizás el arquitecto de soluciones encajaría bastante más en la creación de los proyectos de manera más amplia (sobre todo en el inicio de los departamentos). No puse más roles porque no quería alargar mucho el artículo, pero sí es cierto que es un perfil muy importante.
Muy buen apunte 😀