Ingeniero de Datos: Lo que necesitas saber

Última actualización: 14/11/2020

¿Quieres aprender en qué consiste el trabajo de un ingeniero de datos y cómo convertirte en uno? En esta guía voy explicar en qué consiste el rol del Data Engineer, una de las especializaciones surgidas alrededor del Big Data que goza de una alta demanda en la actualidad. Además, podrás saber qué habilidades se necesitan y qué camino tomar para empezar.

Qué es un ingeniero de datos

¿Qué es un Ingeniero de Datos y en qué consiste su trabajo?

Para alguna gente, el rol de un ingeniero de datos puede ser complicado y algo confuso, voy a intentar introducir en qué consiste su trabajo brevemente, cuáles son sus funciones y qué habilidades se necesitan para ello.

Podríamos decir que el perfil de ingeniero de datos es el más técnico en el ámbito del Big Data. Los ingenieros de datos se encuentran entre los desarrolladores de aplicaciones y los científicos de datos (Data Scientists) y se encargan de diseñar, construir y gestionar los datos y la infraestructura necesaria para almacenarlos y procesarlos. Construyen la base tecnológica para que los científicos de datos y analistas puedan realizar sus tareas. Por lo tanto, son los responsables de mantener sistemas escalables, con alta disponibilidad y rendimiento, integrando nuevas tecnologías y desarrollando el software necesario.

Deben conocer el stack de tecnologías Big Data, entender cómo se integran sus tecnologías y las formas de procesar, transformar y tratar los datos con herramientas de ingesta y ETL. Además, deben saber cómo mover datos hacia y desde el ecosistema Hadoop, implementar y configurar herramientas y bases de datos como Hive o HBase. Entre sus funciones también se encuentra dar apoyo y facilitar el trabajo a analistas y científicos de datos, así como a negocio, por lo que las habilidades de comunicación tienen una gran importancia.

Tendencia ingeniero de datos
Búsquedas del término Data Engineer [Google Trends]

En resumen, los ingenieros de datos son los responsables de definir cómo gestionar, organizar, transformar y almacenar los datos necesarios en la organización de una forma óptima para todos los interesados.

Es una de las profesiones más demandadas en los últimos años y con mayor crecimiento y oportunidades profesionales debido al aumento masivo de los datos generados y de las tecnologías surgidas a su alrededor.

El ingeniero de datos es la profesión de tecnología con un crecimiento más rápido en 2019, creciendo a un ritmo del 50% anual en el número de vacantes.

Dice 2020 Tech Job Report

Habilidades de un buen Ingeniero de Datos

Con mi experiencia en el sector y habiendo analizado numerosas ofertas de empleo, voy a describir las habilidades que considero importantes para ser un Ingeniero de Datos competente.

Conocimientos Básicos

Linux Logo

Entre los conocimientos básicos debe estar Linux. La mayoría de cargas y despliegues Cloud y Big Data se realizan sobre este sistema operativo. Al menos debes sentirte cómodo usando la terminal para editar ficheros, ejecutar comandos y navegar por el sistema.

Automatización y scripting con algún lenguaje de programación como Python. Este punto incluye la capacidad de interaccionar con APIs y otras fuentes de datos de manera simple y directa.

Habilidades Fundamentales

Por definición, el Big Data suele tener lugar en sistemas distribuidos, que es otro de los conocimientos fundamentales para un buen ingeniero de datos. Estos sistemas tienen numerosas particularidades en torno a la replicación de datos, consistencia, tolerancia a fallos, particionado y concurrencia. En este punto se englobarían tecnologías como HDFS, Hadoop o Spark.

Tecnologías y servicios Cloud. La demanda de estas tecnologías no para de crecer, y es que cada vez es más frecuente iniciar proyectos de migración a la nube en las empresas. Un buen ingeniero de datos debe conocer y tener experiencia en el uso de servicios cloud, sus ventajas, desventajas y sus aplicación en proyectos Big Data. Al menos debería estar familiarizado con una plataforma como Azure o AWS ya que son las más extendidas. Además, debe conocer buenas prácticas en cuanto a seguridad de los datos y virtualización. Recuerda que estas tecnologías han venido para quedarse e invertir tiempo en formarse es siempre una buena idea.

Elefante Hadoop Aprender Big Data

Los Ingenieros de Datos también deben conocer el funcionamiento y uso de las bases de datos. También las diferencias que existen entre bases de datos relacionales y NoSQL. El lenguaje básico para interactuar con estas bases de datos es SQL, por lo que también debe estar familiarizado con escribir consultas de lectura y manipulación de datos. Además, debe entender la diferencia entre los tipos de bases de datos NoSQL y los casos de uso para cada uno de ellos.

Uno de los roles principales de los ingenieros de datos es crear data pipelines con tecnologías ETL y frameworks de orquestación. En esta sección podríamos enumerar muchas tecnologías pero el ingeniero de datos debría conocer o sentirse cómodo con algunas de las más conocidas como puede ser NiFi o Airflow.

Habilidades a Considerar

Además de las habilidades fundamentales, existen otras habilidades y conocimientos que aportan un gran valor a los ingenieros de datos.

Java Logo

Sistemas de colas de mensajería como Kafka o RabbitMQ. Deben entender las ventajas que tiene desplegar estas tecnologías y su arquitectura de productores y consumidores.

Lenguaje de programación funcional y orientado a objetos como Scala o Java. Estos lenguajes son muy útiles en el sector del Big Data ya que la mayoría de frameworks y herramientas open source están desarrollados con lenguajes de la JVM. Serán especialmente útiles para desarrollar integraciones para tecnologías, solucionar errores y entender los logs.

Stream Processing. Conocer herramientas de procesamiento en streaming como Flink, Kafka Streams o Spark Streaming puede ser una gran ventaja. La demanda de estos perfiles está en aumento ya que cada vez son más los proyectos con requisitos de tiempo real y bajas latencias de procesamiento. Personalmente, pienso que la formación en estas tecnologías es de lo más interesante, con muchísimos casos de uso por explotar.

Ingeniero de Datos – Cómo puedo empezar

Aunque no existe un camino único para llegar a ser un ingeniero de datos, la mayoría de ellos van adquiriendo conocimientos y experiencia a través de formación, proyectos, auto aprendizaje y cursos. Si estás interesado en conocer qué cursos online y másteres existen, echa un ojo a mi artículo de formación en Big Data para explorar las opciones.

Paso 1 – Habilidades Básicas

Al tratarse de una profesión muy especializada típicamente se accede desde formaciones de grados en ingeniería, informática o matemáticas. Sin embargo, en el mundo laboral no son completamente necesarios si demuestras buen conocimiento y experiencia. Asegúrate de que conoces los conceptos básicos que he mencionado en el apartado anterior.

Desde un punto de vista práctico, el primer paso debe ser familiarizarse en la terminología y las tecnologías fundamentales necesarias. Un buen punto de partida puede ser descargar el sandbox de Cloudera y leer los tutoriales en los que se explica su instalación, sus componentes y su manejo básico. Esta distribución de Hadoop es muy completa, y servirá como toma de contacto con muchas tecnologías. Aun así, no hace falta que intentes aprender todo a la vez.

Paso 2 – Formación

Puedes investigar y ejecutar con los datasets de ejemplo usando Hive, Pig u otras tecnologías de Cloudera para implementar algunas aplicaciones de prueba. Intenta mover los datos entre diferentes sistemas: hacia HDFS y desde HDFS, escribir y leer con HBase y usando Sqoop, Flume o Kafka. Aprende a transformar datos estructurados y semiestructurados con herramientas ETL usando Spark, Pig y MapReduce.

Investiga y aprende en qué consiste el proceso de análisis de datos, la creación de modelos y el funcionamiento general de herramientas y librerías especializadas de Spark o Mahout. También explora cómo se pueden visualizar los datos y las herramientas de notebooks como Zeppelin o Jupyter. No es necesario que seas experto, pero debes tener una visión completa del proceso para tomar mejores decisiones en el futuro.

En cada uno de estos pasos, asegúrate de investigar y entender cómo mantener los datos seguros y en qué consisten las buenas prácticas.

Llegado a este punto, tendrás muchas preguntas. No te desanimes y pregunta. Escribe artículos en tu blog para ayudar a la comunidad y ofrecer tu ayuda de vuelta. Intenta aprender cada día algo nuevo y escríbelo en un artículo. Tan solo 30 minutos al día pueden significar una gran diferencia y acelerar tu aprendizaje. Puedes ver vídeos, hacer tutoriales o leer documentación.

Documenta todo lo que vas aprendiendo. Ya sea en un blog o en un repositorio de GitHub. Es de las mejores formas de mostrar lo que conoces y añadirlo al CV. Te da credibilidad para empezar con menos experiencia.
Los cursos online están bien para aprender rápidamente y asimilar la información de una manera compactada, pero en mi opinión, no son una certificación. No demuestran nada pero están ahí para que los aproveches.

Además, te recomiendo echar un ojo a la lista que hice de libros recomendados para Big Data. También tienes mucho contenido en canales de Youtube y en Podcasts.

Paso 3 – Experiencia

En mi opinión, la clave para convertirte en un buen profesional es la experiencia. Y para demostrarla no hay nada mejor que poner en práctica los conocimentos que has adquirido en uno o más proyectos.

Cuando te sientas cómodo puedes involucrarte en un proyecto open source. Esto te dará la oportunidad de obtener la experiencia necesaria para demostrar tus habilidades ante tus clientes o empresas. Hay multitud de proyectos interesantes en los que participar. Puedes empezar por revisar los proyectos de la Apache Software Foundation sobre Big Data. Regístrate en su lista de correos y empieza a investigar las particularidades del proyecto, qué tareas te parecen sencillas y cómo involucrarte. Una buena forma de empezar puede ser con las tareas relacionadas con la documentación, que a la vez te ayudarán a familiarizarte con el modo de trabajar.

Por último, descubre qué es lo que más te gusta y especialízate en esa tecnología o nicho. Dependiendo de tu carrera te centrarás más en algunos aspectos que en otros e incluso variarán en el tiempo.

Preguntas Frecuentes Ingeniero de Datos – FAQ

¿Qué es un Ingeniero de Datos?

Los Ingenieros de datos son los responsables de definir cómo gestionar, organizar, transformar y almacenar los datos necesarios en la organización de una forma óptima para todos los interesados. Construyen la base tecnológica para que los científicos de datos y analistas puedan realizar sus tareas.

¿Qué hace un Ingeniero de Datos?

Los ingenieros de datos mantienen sistemas de gestión, almacenamiento y procesamiento de datos escalables, con alta disponibilidad y rendimiento, integrando nuevas tecnologías y desarrollando el software necesario.

¿A qué estás esperando? Ahora te toca a ti, ¿crees que la demanda de estos profesionales seguirá creciendo?

[Guía en construcción]

¡Echa un ojo a mi lista de reproducción de Big Data en Youtube!

Si te ayuda el contenido del blog, por favor considera unirte a la lista de correo para reconocer el trabajo!

Esta entrada tiene 3 comentarios

  1. Anónimo

    Muy buen blog, te agradezco, me aclaraste algunas dudas, estoy armando mi ruta de aprendizaje.

  2. Jodenmy Acevedo

    Muy buen blog, me aclaraste algunas dudas que tenia, voy a crear mi ruta de aprendizaje en base de lo que se y lo que dices en este post. muchas gracias.

Deja una respuesta