Introducción
Los datos están en todas partes. En los últimos años, con el aumento de dispositivos conectados y la expansión de sus usos, el mundo ha empezado a generar tal volumen de datos que los métodos tradicionales ya no bastan para gestionarlos.
Según Statista, en 2021 había 23,8 mil millones de dispositivos conectados a internet; el 58% son dispositivos IoT (dispositivos domésticos inteligentes, coches autónomos conectados, dispositivos industriales, etc.) y el 42% restante son dispositivos no IoT (portátiles, smartphones, etc.). Esto significa que hoy los datos pueden proceder de múltiples fuentes. Algunas de ellas son:
- Actividades de los usuarios: Cualquier acción de un usuario genera datos; incluso la información sobre dónde y con qué frecuencia tocamos una app móvil es valiosa. Todos estos datos deben almacenarse y enviarse a los centros de datos de las aplicaciones.
- Dispositivos del "Internet de las cosas": Estos dispositivos producen enormes cantidades de información, como datos de sensores generados en ubicaciones muy diversas. Todos esos datos deben recopilarse y enviarse a un lago o repositorio para su análisis posterior.
- Registros de programas (logs): Las aplicaciones actuales constan de muchos componentes y todos generan registros. Estos logs se envían a una canalización de ingeniería de datos para su análisis.
Todos estos datos, con distintos grados de estructura, deben entregarse a otros componentes del software o visualizarse e interpretarse por analistas de negocio y científicos de datos. Pero esa entrega no es trivial. Hay requisitos clave sobre cómo hacerlo:
- Los datos deben entregarse con una estructura estandarizada
- Los datos no deben presentar conflictos
- Puede ser necesario eliminar duplicidades
- Los datos deben ser fiables
- La entrega debe realizarse con el mínimo retraso posible
Por tanto, hacer llegar esta información es un proceso complejo y, si no se ejecuta bien, puede causar muchos problemas, especialmente en empresas medianas y grandes. Aquí es donde entran en juego los ingenieros de datos.
En este artículo aprenderás los fundamentos de la ingeniería de datos, entre ellos:
- Qué es la ingeniería de datos y por qué es clave contar con una canalización de datos robusta
- La diferencia entre ciencia de datos e ingeniería de datos
- Por qué la ingeniería de datos ha ganado tanta popularidad
- Las habilidades de un buen ingeniero de datos
- Cómo puede ayudarte DataCamp a convertirte en ingeniero de datos
¿Cuáles son las responsabilidades de un ingeniero de datos?
En pocas palabras, los ingenieros de datos:
- Buscan que los datos sean accesibles y estén disponibles para científicos de datos e ingenieros de business intelligence (o cualquier persona que trabaje con datos)
- Optimizar la arquitectura de big data de las compañías
- Diseñar y configurar bases de datos
- Colaborar con equipos de business intelligence, científicos de datos y analistas de datos
- Explorar y transformar datos. Para poder hacer todo esto, primero deben configurar las canalizaciones ETL.
Puedes leer más sobre qué hace un ingeniero de datos en nuestro artículo completo.
Canalizaciones ETL
Las canalizaciones ETL reciben datos complejos a intervalos regulares y los procesan con el objetivo de almacenarlos en un formato utilizable. Establecer y mantener estas canalizaciones es responsabilidad de los ingenieros de datos.
Hay 3 etapas en una canalización ETL:
- Extract (extraer) Se recopilan grandes volúmenes de datos creados por distintas fuentes y en formatos diversos.
- Transform (transformar) Dado que los datos llegan en formatos distintos y de fuentes heterogéneas, se procesan para estandarizarlos lo máximo posible. Esto mejora su capacidad de búsqueda y su utilidad para los siguientes pasos.
- Load (cargar) Una vez que los datos están en un formato utilizable y fácil de explorar, suelen almacenarse en data warehouses. Así quedan disponibles en todo momento para análisis posteriores.
Data warehouses
Los data warehouses son el lugar donde se almacena el dato estandarizado. Están optimizados para filtrar y leer grandes volúmenes de información. En los data warehouses modernos puede almacenarse tanto dato estructurado como no estructurado, porque también es importante guardar información que no se puede categorizar fácilmente, como fotos y vídeos.
Ingeniería de datos vs. ciencia de datos
Las diferencias entre el rol de un ingeniero de datos y el de un científico de datos son importantes. Por un lado, los científicos de datos desempeñan un papel clave porque contribuyen a la toma de decisiones basadas en datos. Aun así, su éxito depende de la calidad de los datos de los que disponen.
Por otro lado, los ingenieros de datos diseñan los sistemas que suministran datos a los científicos de datos de forma organizada y coherente. Una vez que los ingenieros ponen la información a su disposición, los científicos de datos buscan patrones para extraer conclusiones, trabajando con el formato que les proporcionan los ingenieros.
Ingenieros y científicos de datos colaboran muy de cerca. Podemos pensarlo como un partido de fútbol: el entrenador desarrolla las estrategias que generan ocasiones de gol y sitúa a los jugadores en determinadas posiciones. En este símil, el entrenador es el ingeniero de datos; el balón son los datos y quien marca el gol es el científico de datos. El resto del equipo es la infraestructura.
¿Por qué ha aumentado la popularidad de la ingeniería de datos?
Según una investigación en la plataforma Burning Glass Nova, las ofertas de empleo para "data engineer" crecieron un 88,3% en 2019. Desde 2016, la demanda no ha parado de subir. Otro dato llamativo: las vacantes de ingeniero de datos son casi cinco veces más numerosas que las de científico de datos. Además, el salario de un ingeniero de datos suele ser entre un 20% y un 30% superior.
Como comentábamos, los científicos de datos son el último eslabón de la cadena de procesamiento. Necesitan que un ingeniero de datos prepare la información para poder hacer su trabajo. A medida que se multiplican las fuentes y los tipos de datos, crece la necesidad de ingenieros de datos. Por eso, las empresas están invirtiendo cada vez más en la extracción y distribución de datos.
En la Figura 4.1, una pirámide muestra la jerarquía de necesidades de la ciencia de datos. En esta jerarquía, las tareas asignadas a los ingenieros de datos están en la base, lo que explica su papel fundamental para las compañías.
Figura 4.1: La jerarquía de necesidades de la ciencia de datos.¿Qué habilidades tiene un ingeniero de datos?
Las competencias de los ingenieros de datos suelen solaparse con las de los ingenieros de software y los científicos de datos, como se muestra en la Figura 5.1.
Figura 5.1: Roles de datos y conjuntos de habilidades¿Se parece más el rol de un ingeniero de datos al de un ingeniero de software o al de un científico de datos?
La Figura 5.2 muestra las ocupaciones anteriores de un grupo de ingenieros de datos. Más del 40% procede del mundo del desarrollo de software. Esto no solo indica que la ingeniería de datos y la ingeniería de software están más próximas de lo que quizá pensábamos, sino que hoy los ingenieros de software tienen muchas más probabilidades de pasar a ingeniería de datos que a otros campos.
Figura 5.2: Ingenieros de datos por rol previo (top 10).En DataCamp consideramos que un buen ingeniero de datos debería contar con las siguientes habilidades:
- Base de ingeniería de software Los ingenieros de datos necesitan una base sólida en ingeniería de software para abordar los retos con conocimientos de programación orientada a objetos, estructuras de datos y algoritmos. Deben tener experiencia en Python, Scala o Java.
- Herramientas Deben sentirse cómodos con herramientas de ingeniería de datos como Airflow, Apache Kafka u otras tecnologías del ecosistema.
- Tecnologías de bases de datos Un ingeniero de datos debería conocer varios tipos de bases de datos.
- Tecnologías cloud Deben desenvolverse en plataformas como Amazon Web Services, Google Cloud Platform y Microsoft Azure. También necesitan experiencia en arquitectura cloud y herramientas de DevOps, ya que son responsables de automatizar el flujo de datos del sistema.
Cómo aprender ingeniería de datos
Si quieres mejorar en el ámbito de la ingeniería de datos, puedes empezar con los siguientes cursos recomendados de DataCamp. Al completar estos cursos y proyectos, estarás mejor posicionado para prácticas o puestos de trabajo en el área.
- Introduction to Python
- Intermediate Python
- Introduction to Relational Databases in SQL
- Introduction to Scala
- Introduction to Data Engineering
- Introduction to Airflow in Python
- AWS Cloud Concepts
- Exploring London's Travel Network (Snowflake, Redshift, BigQuery) Projects
- Building Data Engineering Pipelines in Python
- NoSQL Concepts
- ETL in Python
- Streaming Concepts
- Streaming Data with AWS Kinesis and Lambda
Además, nuestra Data Engineer Certification está reconocida por la industria y te permite demostrar tus habilidades ante los empleadores.
Si te interesa esta carrera profesional, en este otro artículo puedes aprender cómo convertirte en ingeniero de datos.



