Ingenieros de datos: mitos frente a realidades
Publicado: 2018-05-10Desde automóviles sin conductor hasta el etiquetado automático en imágenes, la ciencia de datos ha recorrido un largo camino. Los científicos y analistas de datos se han convertido en una parte integral de cualquier organización debido al valor que agregan. Pero, con toda honestidad, un científico de datos es tan bueno como los datos con los que trabaja. La mayoría de las organizaciones hoy en día tienen sus datos almacenados en una variedad de formatos y en numerosas plataformas. ¡Aquí surge la necesidad de ingenieros de datos!
Los ingenieros de datos son personas que hacen que estos datos sean viables para los científicos y analistas de datos. Los ingenieros de datos son responsables de construir canalizaciones que transformen los montones de datos en un formato que sea útil para los científicos de datos. En su mayoría, trabajan detrás de escena y, por lo tanto, carecen de todo el glamour de un científico/analista de datos, pero tenga en cuenta que son igualmente (si no más) esenciales para el funcionamiento de cualquier organización.
Si los científicos de datos son pilotos de autos de carreras, los ingenieros de datos son constructores de autos de carreras. El primero siente la emoción de correr a toda velocidad por una pista y la emoción de ganar frente a una multitud que aplaude. Este último, en cambio, se da el gusto de poner a punto motores y crear una máquina potente y robusta. Un constructor de autos de carrera hace que el trabajo del conductor sea mucho más fácil (o más difícil, dependiendo de la calidad del constructor).
¿Cómo puede hacer la transición al análisis de datos?
En este sentido, los ingenieros de datos son prácticamente los héroes anónimos de cualquier equipo de análisis de datos. Sin un buen ingeniero de datos, un científico de datos se rascará la cabeza buscando pistas en datos sin formato.
Veamos en qué consiste el trabajo de un ingeniero de datos.
En aras de una mejor comprensión, supongamos que es un ingeniero de datos en un competidor de Swiggy (llamémoslo Twiggy). Tienes una aplicación que los usuarios pueden usar en cualquier dispositivo y acceder a tus servicios. Piden comida, la orden se redirige al restaurante apropiado, la comida se recoge allí y te llega a ti.
Para mantener este servicio sincronizado, necesitará:
- Una aplicación móvil para usuarios
- Una aplicación móvil para propietarios de restaurantes
- Un servidor robusto para manejar múltiples solicitudes a la vez.
Como ya habrás entendido, esta aplicación generará ENORMES cantidades de datos. Además, necesitará algunos almacenes de datos:
- Una base de datos que contiene los detalles de los usuarios y restaurantes.
- Registros de acceso al servidor. Estos incluirán cualquier solicitud realizada al servidor desde la aplicación.
- Registros de errores del servidor que contienen todos los errores del lado del servidor.
- Registros de eventos de la aplicación. Estos contendrán información sobre las acciones que los usuarios o propietarios de restaurantes realizaron en la aplicación.
- Registros de errores de la aplicación que contienen errores basados en la aplicación.
- Base de datos de atención al cliente. Esto contendrá los datos sobre su interacción con sus clientes.
Ahora, supongamos que un científico de datos de su equipo quiere analizar el comportamiento de los usuarios en sus servicios y ver qué acciones se correlacionan con los usuarios que gastan mucho. Para ayudarlos a crear esto, deberá combinar toda la información de los registros de acceso al servidor y los registros de eventos de la aplicación.
Necesitarás:
- Recopile registros de análisis de aplicaciones con regularidad.
- Combine los registros de análisis de aplicaciones con las entradas de registro del servidor para los usuarios relevantes.
- Desarrolle una API que devuelva el historial de eventos de cualquier usuario.
¡Eso es mucho trabajo allí mismo!
Para hacer todo esto, deberá crear una canalización que pueda ingerir de manera eficiente los registros de la aplicación móvil y los registros del servidor en tiempo real, analizarlos y vincularlos con el usuario apropiado. Además, deberá almacenar los registros analizados en una base de datos para que la API pueda consultarlos fácilmente. Habrá muchos servidores que deberá activar detrás de un balanceador de carga para analizar los registros entrantes.
La mayoría de los problemas que encontrará estarán relacionados con los sistemas distribuidos y la confiabilidad. Si tiene millones de dispositivos para recopilar registros y demandas dinámicas (por la tarde, obtiene muchas entradas de registro, pero no tantas durante la medianoche), deberá desarrollar un sistema que pueda escalar automáticamente el conteo del servidor hacia arriba y hacia abajo. dependiendo del tráfico.
Pasos principales para dominar la ciencia de datos
Aproximadamente, las operaciones en una canalización de ingeniería de datos genérica pasan por las siguientes fases:
- Ingestión: recopilación de los datos necesarios.
- Procesamiento: procesar los datos para obtener el resultado deseado.
- Almacenamiento: almacenar el resultado para una recuperación más rápida.
- Acceso: habilitar una herramienta para acceder a los resultados de la canalización de datos.
Se espera que un ingeniero de datos posea conocimientos en los siguientes dominios.
- Almacenamiento de datos:
- RDBMS como MySQL, MS SQL Server, etc.
- Bases de datos NoSQL como HBase, MongoDB, CouchDB, Cassandra, etc.
- Recopilación de datos:
- API RESTful
- Conocimientos en modelado de datos y experiencia en SQL.
- Transformación de datos:
- Herramientas ETL como Informatica, Datastage, Redpoint, etc.
- Cualquier lenguaje de programación como Python, Ruby, Perl, etc.
Veamos algunos mitos y conceptos erróneos que giran en torno a la vida y el trabajo de estos ingenieros de datos.
Tabla de contenido
Mito #1: Los ingenieros de datos extraen valor de los datos recopilados.
Hay muchas cosas que se interponen entre la recopilación de datos y la extracción del conocimiento. Los ingenieros de datos son los principales responsables de convertir los datos en una forma adecuada para que los científicos los analicen y trabajen. En este sentido, no extraen ningún valor de los datos, de hecho, presentan los datos en un plato a los científicos de datos que luego descubren el valor de ellos.

Mito n.° 2: los ingenieros de datos deben hacer que todos los datos sean impecables.
Te darás cuenta de lo absurdo de esto si lees la oración anterior lentamente. Un ingeniero de datos se ocupa de los flujos de datos entrantes a lo largo del día. Estos datos deben limpiarse y actuar de inmediato para que no se vuelvan obsoletos. Por rancio, nos referimos a poco perspicaz y viejo. Por lo tanto, los ingenieros de datos no se dedican a hacer que todos los datos sean prístinos. Trabajan con los datos disponibles combinados con otros datos que son necesarios para el problema en cuestión. La limpieza de los conjuntos de datos completos llevará meses y, para entonces, no servirá de nada.
Fundamentos básicos de estadística para ciencia de datos
Mito n.º 3: los ingenieros de datos vuelcan los datos en herramientas listas para usar y disfrutan de los datos limpios y viables como salida.
Por favor, no lo diga en voz alta frente a ningún ingeniero de datos. Siempre. Ningún ingeniero de datos que se precie tolerará un insulto tan flagrante. Como cualquier otro ingeniero (software, mecánico, químico, etc.), los ingenieros de datos requieren tener sus gorras de pensamiento puestas todo el tiempo. No existe un enfoque único para todos en la ingeniería de datos, y los ingenieros de datos necesitan moldear algoritmos para que se ajusten a su caso de uso de forma continua. Deben estar al tanto de las últimas técnicas y métodos en torno a su trabajo para garantizar una eficiencia perfecta.
Mito #4: Los ingenieros de datos son solo ingenieros de software que trabajan en Big Data.
Los ingenieros de software trabajan en el desarrollo de aplicaciones móviles/web. Su trabajo involucra muchos problemas diversos y la dificultad está en administrar las tareas: pensar, comunicar y organizar el código. Los ingenieros de datos, por otro lado, generalmente tienen menos problemas, pero los problemas individuales son técnicamente mucho más difíciles. Desde la perspectiva hasta el conjunto de habilidades, todo es completamente diferente para un ingeniero de datos que para un ingeniero de software.
¿Quién es un científico de datos, un analista de datos y un ingeniero de datos?
Obtenga la certificación de ciencia de datos de las mejores universidades del mundo. Aprenda los programas Executive PG, los programas de certificación avanzada o los programas de maestría para acelerar su carrera.
¿La ingeniería de datos es similar a un rol clásico de TI?
'Ingeniero de datos' e 'Ingeniero de software' pueden sonar intercambiables para quienes están fuera del sector informático, ya que ambos dependen en gran medida de las habilidades de programación. Pero en realidad son expertos en diferentes campos. El objetivo principal de los ingenieros de software es crear sitios web fáciles de usar. Los ingenieros de datos establecen sistemas para almacenar, consolidar y recuperar datos, que luego utilizan los desarrolladores de software para crear sistemas y aplicaciones. Los ingenieros de datos también pueden crear y mantener una canalización de integración y entrega continua (CI/CD) para todos los datos de la organización, así como sistemas de control de versiones para garantizar la calidad de los datos en toda la infraestructura.
¿Es necesario tener una educación universitaria o un título avanzado para convertirse en ingeniero de datos?
Para trabajar como ingeniero de datos, no necesita un título, aunque ciertos empleadores pueden preferir candidatos con al menos una licenciatura. Ningún curso académico o plan de estudios en línea puede prepararlo por completo para crear sistemas de datos que puedan mover datos de una variedad de fuentes, modificarlos y almacenarlos para su análisis. El hecho es que los ingenieros de datos más exitosos aprenden mucho en el trabajo mientras operan en el mundo real con clientes reales. Pero sí, es importante que un ingeniero de datos tenga buenas habilidades para trabajar con ciertas herramientas como Amazon Athena, Amazon Redshift, Apache Spark, etc. y conozca las mejores prácticas de gestión de datos.
¿Cómo convertirse en un ingeniero de datos exitoso?
Para las empresas basadas en datos, la ingeniería de datos es fundamental, pero ¿qué hacen exactamente los ingenieros de datos? Este es el camino para convertirse en un ingeniero de datos exitoso
1. Conviértase en un experto en programación: si desea convertirse en un ingeniero de datos exitoso, en primer lugar, comience por repasar los fundamentos de su programación. Python y Scala son las tecnologías más utilizadas en el sector.
2. Aprenda a automatizar y crear scripts: la automatización del aprendizaje es crucial para los ingenieros de datos. Dado que hay muchas tareas que deben realizarse con los datos que pueden ser tediosas o pueden ocurrir de forma regular. Algunas herramientas importantes para la automatización son las secuencias de comandos de Shell y el procesamiento de datos en Shell.
3. Sepa cómo usar sus bases de datos: esto se puede hacer aprendiendo SQL y modelado de datos.
4. Técnicas de procesamiento de datos expertas: para dominar las técnicas de procesamiento de datos, es importante aprender a procesar datos en lotes y flujos, antes de cargar los resultados en las bases de datos de destino.