Hay un barullo bastante grande con algunas de las nuevas palabras clave laborales de moda, y en concreto con tres de ellas que contienen la palabra Data. En el post de hoy intentaré explicar, de forma muy sucinta, la diferencia entre un data scientist, un data engineer, y un data analyst.
Escribo este post porque con frecuencia veo confusión en el uso de los mismos, incluso en ofertas de empleo – lo que es especialmente grave. Me sucedió hace poco que me llamaron de una empresa para saber si me interesaría cambiar de proyecto y yo estoy muy contento donde me hallo ahora mismo, pero no voy a descartar una opción antes de oirla en detalle, porque nunca se sabe.
El asunto es que a pesar de que dijeron buscamos velocidad, cuando me describieron las funciones resultan que lo que buscaban era tocino. Yo me dedico a la velocidad, pero no al tocino, así que no llegó muy lejos aquella conversación. Intentemos, aunque sea simplificando mucho las descripciones (¡un párrafo por rol!), que eso no se repita.
Data Scientist
Está implicado en el desarrollo de modelos matemáticos y algoritmos para explotar datos y obtener nueva información de ellos. Esto requiere conocimiento de bases de datos, ya que es de esas bases de datos de las que hay que extraer información que serán procesados o actuarán como entrada a nuestro modelo matemático. Nociones básicas de programación para implementar versiones básicas de los modelos y los algoritmos desarrollados también son clave.
Conocimientos clave: matemáticas, SQL, Python, R.
Data Engineer
Está implicado en el desarrollo del software que ha de procesar los datos tanto que actuarán de entrada a los desarrollos de los data scientist como de almacenar la salida procesada, el resultado del trabajo. Es de los tres roles que tratamos hoy el que más se alinea con el puesto de desarrollador de software de toda la vida, si bien es un desarrollador de software con conocimientos en sistemas de big data.
Conocimientos clave: Scala, Python, Hadoop (y toda la utillería habitual de big data), Spark.
Data Analyst
Es un rol más próximo al desarrollo de negocio. Su función es interpretar datos (también los datos de salida de los sistemas desarrollados por los Scientist y los Engineer) y extraer a partir de ellos conclusiones e implicaciones para el mundo real que faciliten la toma de decisiones de negocio correctas.
Conocimientos clave: estadística, software de generación de reports (Tableau, Qlikview), hojas de cálculo, algo de SQL.