¿Se espera que los ingenieros de datos también sean analistas de datos?

La respuesta depende un poco del tamaño y la “madurez de datos” de la organización.

  • En las organizaciones pequeñas (<100 personas), donde recién comienza con su viaje de ingeniería de datos, con frecuencia solo hay una sola persona que hace todo: ingeniería de datos, ciencia de datos, análisis de datos.
  • A medida que la organización crece y más productos, procesos de negocios, etc. dependen de los datos, deberá separar esos roles entre sí. Una sola persona no puede manejar todo ese trabajo.

Pero los diferentes roles aún deberán trabajar juntos para lograr un objetivo común. Debe haber un proceso de colaboración entre los equipos de analistas y los equipos de ingeniería de datos:

  • Los ingenieros de datos deben comprender los objetivos de informes del analista.
  • Los analistas deben comprender los procesos utilizados para preparar los datos para su uso.

Esa colaboración es vital: para analizar los datos, debe haber una comprensión común sobre cómo se recopilan, preparan y transforman esos datos. Permítanme profundizar un poco en lo que eso significa al observar los roles y responsabilidades.

Fuente: intermix.io, basado en “ La estructura de su equipo de datos ” de Tomi Mester

Puede ver los cuatro roles (y sus diferencias) dentro de un equipo de datos. En realidad, comienza con la producción de TI, donde los datos se recopilan de una aplicación. Esos datos luego se envían a la “infraestructura de datos”, que está separada de la TI de producción.

  • Los ingenieros de software conocen mejor la base del código, por lo que son los que escriben los scripts para recopilar datos. Pero necesitan saber qué datos deben recopilar, en qué formato y con qué granularidad. Lo cual requiere aportes de los otros tres roles.
  • Los ingenieros de datos escriben el ETL / ELT para recopilar datos de los sistemas del producto (y también las aplicaciones SaaS compatibles). Son datos sin procesar, que no son de mucha utilidad para los analistas. Entonces, los ingenieros de datos preparan los datos de manera que puedan usarse para análisis y modelado. Para eso, necesitan comprender cómo los científicos de datos quieren trabajar con diferentes conjuntos de datos.
  • Los científicos de datos son los que escriben los modelos que combinan diferentes conjuntos de datos para generar un nuevo conjunto de datos (“transformaciones”). Hacen su modelado con lenguajes como R y Python. Los científicos de datos confían en los ingenieros de datos para tener datos limpios disponibles, a escala. También confían en los analistas que les dicen qué tipo de información se requiere para informar.
  • Los analistas de datos luego desarrollan ideas con datos y brindan apoyo para la toma de decisiones. A diferencia de los científicos de datos, en realidad no hacen ningún modelo. Por el contrario, usan paneles preconstruidos.

A continuación, debe automatizar todo. Eso significa establecer un proceso operativo para recopilar datos continuamente y ejecutar modelos algorítmicos en un horario predeterminado. Herramientas como Airflow ayudan con eso. Una vez más, esos son los ingenieros de datos que crean y mantienen toda esa infraestructura de datos.

Lo que nos lleva de vuelta a la pregunta. Si eres pequeño, no tienes el presupuesto para varias personas. Por lo tanto, necesita una persona que pueda hacer un poco de todo: ingeniería de datos, modelado de datos, análisis de datos.

Eso está bien para empezar, pero a largo plazo no es un enfoque que escala. Hay un montón de especialización para cada rol que un humano no puede manejar. A medida que crece, necesita separar los roles y crear un equipo de datos formal que utilice herramientas y procesos comunes (su “infraestructura de datos”) para trabajar juntos.

——————-

Soy cofundador de intermix.io, donde ayudamos a los ingenieros de datos a controlar sus clústeres Redshift.

¿Interesado en construir plataformas de datos? Suscríbase a SF Data Weekly, para obtener más historias sobre ingeniería de datos que no quiere perderse.

Se espera que los ingenieros de datos implementen la ingeniería requerida para permitir que los científicos de datos recopilen y administren datos para construir sus modelos, y para hacer que las aplicaciones de aprendizaje automático escalen y funcionen sin problemas.

Esto significa que los ingenieros de datos deben seguir siendo conscientes de las preocupaciones que los analistas y científicos tienen cuando se trata de construir y desplegar modelos. Estas preocupaciones no son las mismas que ocurren en la ingeniería de software tradicional. Los modelos hacen suposiciones sobre sus entradas que se violan de maneras que no se pueden conocer por adelantado; necesitan ser ensamblados, monitoreados, comparados con las interacciones del usuario, intercambiados dentro y fuera de los motores de inferencia y probados en condiciones de calidad no deterministas.

Los ingenieros de datos deben hablar algo del lenguaje de alto nivel que hablan los científicos de datos y comprender los conceptos más importantes (y viceversa). Por lo tanto, los ingenieros de datos deben tener experiencia en la construcción y validación de algunos modelos simples, y definitivamente deben tener experiencia en poner esos modelos en producción.

Por lo general, no se espera que los ingenieros de datos analicen / visualicen datos (a menos que estén relacionados con el rendimiento del sistema) o creen modelos. Si esto sucede, generalmente es un síntoma de falta de personal o solicitudes mal definidas de los equipos de productos.

Si una organización hace que sus ingenieros construyan modelos o sus científicos bloqueen las tuberías de datos, no están aprovechando el talento que contrataron.