Quen son enxeñeiros de datos e como se convertes nun?

Olá outra vez! O título do artigo fala por si só. En previsión do comezo do curso Enxeñeiro de datos Suxerímoslle que entenda quen son os enxeñeiros de datos. Hai moitas ligazóns útiles no artigo. Feliz lectura.

Quen son enxeñeiros de datos e como se convertes nun?

Unha guía sinxela sobre como atrapar a onda de Enxeñaría de Datos e non deixar que te arrastre ao abismo.

Parece que todos queren converterse en Data Scientist nestes días. Pero que pasa coa Enxeñaría de Datos? Esencialmente, trátase dunha especie de híbrido dun analista de datos e un científico de datos; Un enxeñeiro de datos adoita ser responsable de xestionar os fluxos de traballo, os pipelines de procesamento e os procesos ETL. Debido á importancia destas funcións, esta é outra xerga profesional popular que está cobrando impulso activamente.

Os altos soldos e a gran demanda son só unha pequena parte do que fai que este traballo sexa moi atractivo. Se queres unirte ás filas dos heroes, nunca é tarde para comezar a aprender. Neste post, recompilei toda a información necesaria para axudarche a dar os teus primeiros pasos.

Entón, imos comezar!

Que é a Enxeñaría de Datos?

Sinceramente, non hai mellor explicación que esta:

"Un científico pode descubrir unha nova estrela, pero non pode creala. Terá que pedirlle a un enxeñeiro que o faga por el".

-Gordon Lindsay Glegg

Así, o papel dun enxeñeiro de datos é bastante significativo.

Como o nome indica, a enxeñaría de datos preocúpase dos datos, é dicir, a súa entrega, almacenamento e procesamento. En consecuencia, a principal tarefa dos enxeñeiros é proporcionar unha infraestrutura fiable para os datos. Se observamos a xerarquía de necesidades da IA, a enxeñaría de datos ocupa as primeiras 2-3 etapas: recollida, movemento e almacenamento, preparación de datos.

Quen son enxeñeiros de datos e como se convertes nun?

Que fai un enxeñeiro de datos?

Coa chegada do big data, o ámbito da responsabilidade cambiou drasticamente. Se antes estes expertos escribían grandes consultas SQL e destilaban datos utilizando ferramentas como Informatica ETL, Pentaho ETL, Talend, agora os requisitos para os enxeñeiros de datos aumentaron.

A maioría das empresas con prazas vacantes para o posto de enxeñeiro de datos teñen os seguintes requisitos:

  • Excelentes coñecementos de SQL e Python.
  • Experiencia con plataformas en nube, especialmente Amazon Web Services.
  • Preferible coñecementos de Java/Scala.
  • Boa comprensión das bases de datos SQL e NoSQL (modelado de datos, almacenamento de datos).

Teña en conta que estes son só o esencial. A partir desta lista, pódese supoñer que os enxeñeiros de datos son especialistas no campo do desenvolvemento de software e do backend.
Por exemplo, se unha empresa comeza a xerar unha gran cantidade de datos de varias fontes, a súa tarefa como enxeñeiro de datos é organizar a recollida de información, o seu procesamento e almacenamento.

A lista de ferramentas utilizadas neste caso pode diferir, todo depende do volume destes datos, da velocidade da súa recepción e da heteroxeneidade. A maioría das empresas non se ocupan de big data, polo que como un repositorio centralizado, un chamado data warehouse, podes usar unha base de datos SQL (PostgreSQL, MySQL, etc.) cun pequeno conxunto de scripts que alimentan os datos o almacén.

Xigantes informáticos como Google, Amazon, Facebook ou Dropbox teñen maiores requisitos: coñecementos de Python, Java ou Scala.

  • Experiencia con big data: Hadoop, Spark, Kafka.
  • Coñecemento de algoritmos e estruturas de datos.
  • Comprender os fundamentos dos sistemas distribuídos.
  • A experiencia con ferramentas de visualización de datos como Tableau ou ElasticSearch será unha vantaxe.

É dicir, hai un claro cambio cara ao big data, concretamente no seu procesamento baixo altas cargas. Estas empresas aumentaron os requisitos de tolerancia a fallos do sistema.

Enxeñeiros de datos vs. científicos de datos

Quen son enxeñeiros de datos e como se convertes nun?
Vale, esa foi unha comparación sinxela e divertida (nada persoal), pero en realidade é moito máis complicado.

En primeiro lugar, debes saber que hai moita ambigüidade na delimitación dos roles e habilidades dun científico de datos e dun enxeñeiro de datos. É dicir, pode confundirse facilmente sobre cales son as habilidades necesarias para ser un enxeñeiro de datos exitoso. Por suposto, hai certas habilidades que se superpoñen a ambos os roles. Pero tamén hai unha serie de habilidades diametralmente opostas.

A ciencia de datos é un negocio serio, pero estamos avanzando cara a un mundo de ciencia de datos funcionais onde os profesionais poden facer as súas propias análises. Para habilitar canalizacións de datos e estruturas de datos integradas, necesitas enxeñeiros de datos, non científicos de datos.

É máis demandado un enxeñeiro de datos que un científico de datos?

- Si, porque antes de poder facer a torta de cenoria, cómpre coller, pelar e almacenar as cenorias.

Un enxeñeiro de datos entende a programación mellor que calquera científico de datos, pero cando se trata de estatísticas, é o contrario.

Pero aquí está a vantaxe dun enxeñeiro de datos:

Sen el/ela, o valor do modelo prototipo, que consiste na maioría das veces nun anaco de código de terrible calidade nun ficheiro Python, obtido dun científico de datos e que dalgunha maneira produce un resultado, tende a cero.

Sen un enxeñeiro de datos, este código nunca se converterá nun proxecto e ningún problema comercial se resolverá de forma efectiva. O enxeñeiro de datos está tentando converter todo isto nun produto.

Información básica que debe coñecer un enxeñeiro de datos

Quen son enxeñeiros de datos e como se convertes nun?

Entón, se este traballo saca a luz en ti e estás entusiasmado, podes aprendelo, podes dominar todas as habilidades necesarias e converterte nunha auténtica estrela de rock no campo da enxeñaría de datos. E, si, podes facelo aínda sen habilidades de programación ou outros coñecementos técnicos. É difícil, pero posible!

Cales son os primeiros pasos?

Deberías ter unha idea xeral de que é o que.

En primeiro lugar, a Enxeñaría de Datos refírese á informática. Máis concretamente, debes comprender algoritmos eficientes e estruturas de datos. En segundo lugar, xa que os enxeñeiros de datos traballan con datos, é necesario comprender os principios das bases de datos e as estruturas que as subxacen.

Por exemplo, as bases de datos SQL convencionais B-Tree baséanse na estrutura de datos B-Tree, así como, nos modernos repositorios distribuídos, LSM-Tree e outras modificacións das táboas hash.

*Estes pasos baséanse nun excelente artigo Adilya Khashtamova. Entón, se sabes ruso, apoia a este autor e le o seu posto.

1. Algoritmos e estruturas de datos

Usar a estrutura de datos correcta pode mellorar significativamente o rendemento dun algoritmo. O ideal é que todos estemos aprendendo sobre estruturas de datos e algoritmos nas nosas escolas, pero isto raramente se trata. En calquera caso, nunca é tarde para familiarizarse.
Entón, aquí están os meus cursos gratuítos favoritos para aprender estruturas de datos e algoritmos:

Ademais, non te esquezas do traballo clásico de Thomas Corman sobre algoritmos. Introdución aos algoritmos. Esta é a referencia perfecta cando necesitas refrescar a túa memoria.

  • Para mellorar as túas habilidades, usa Leetcode.

Tamén podes mergullarte no mundo das bases de datos con vídeos sorprendentes da Universidade Carnegie Mellon en Youtube:

2. Aprende SQL

Toda a nosa vida son datos. E para extraer estes datos da base de datos, cómpre "falar" o mesmo idioma con el.

SQL (Structured Query Language) é a linguaxe de comunicación no dominio de datos. Independentemente do que diga alguén, SQL viviu, está vivo e vivirá por moito tempo.

Se estivo en desenvolvemento durante moito tempo, probablemente teña notado que aparecen periódicamente rumores sobre a morte inminente de SQL. A linguaxe foi desenvolvida a principios dos anos 70 e aínda é moi popular entre analistas, desenvolvedores e simplemente entusiastas.
Sen coñecementos de SQL non hai nada que facer en enxeñaría de datos xa que inevitablemente terás que crear consultas para recuperar datos. Todos os grandes almacéns de datos modernos admiten SQL:

  • Amazon RedShift
  • HP Vertica
  • oráculo
  • SQL Server

... e moitos outros.

Para analizar unha gran capa de datos almacenados en sistemas distribuídos como HDFS, inventáronse motores SQL: Apache Hive, Impala, etc. Mira, non vai a ningures.

Como aprender SQL? Só faino na práctica.

Para iso, recomendaría consultar un excelente tutorial, que, por certo, é gratuíto Modo Analítica.

  1. SQL intermedio
  2. Unir datos en SQL

O que fai que estes cursos sexan especiais é que teñen un ambiente interactivo onde podes escribir e executar consultas SQL directamente no teu navegador. Recurso SQL moderno non será superfluo. E podes aplicar estes coñecementos Tarefas de Leetcode na sección Bases de datos.

3. Programación en Python e Java/Scala

Por que deberías aprender a linguaxe de programación Python, xa escribín no artigo Python vs R. Elixir a mellor ferramenta para AI, ML e Data Science. Cando se trata de Java e Scala, a maioría das ferramentas para almacenar e procesar grandes cantidades de datos están escritas nestas linguaxes. Por exemplo:

  • Apache Kafka (Scala)
  • Hadoop, HDFS (Java)
  • Apache Spark (Scala)
  • Apache Cassandra (Java)
  • HBase (Java)
  • Apache Hive (Java)

Para entender como funcionan estas ferramentas, cómpre coñecer os idiomas nos que están escritas. O enfoque funcional de Scala permítelle resolver eficazmente problemas de procesamento de datos paralelo. Python, por desgraza, non pode presumir de velocidade e procesamento paralelo. En xeral, o coñecemento de varias linguaxes e paradigmas de programación é bo para a amplitude de enfoques para resolver problemas.

Para mergullarse na lingua Scala, podes ler Programación en Scala do autor da lingua. Twitter tamén publicou unha boa guía introdutoria: Escola da Scala.

En canto a Python, creo Python fluido mellor libro de nivel medio.

4. Ferramentas para traballar con big data

Aquí tes unha lista das ferramentas máis populares no mundo do big data:

  • Apache Spark
  • Apache Kafka
  • Apache Hadoop (HDFS, HBase, Hive)
  • Apache cassandra

Podes atopar máis información sobre a construción de grandes bloques de datos neste sorprendente ambiente interactivo. As ferramentas máis populares son Spark e Kafka. Sen dúbida merecen a pena estudalas, é recomendable entender como funcionan dende dentro. Jay Kreps (coautor de Kafka) publicou unha obra monumental en 2013 O rexistro: o que todo desenvolvedor de software debe saber sobre a abstracción de agregación de datos en tempo realPor certo, as ideas principais deste Talmud utilizáronse para crear Apache Kafka.

5. Plataformas na nube

Quen son enxeñeiros de datos e como se convertes nun?

O coñecemento de polo menos unha plataforma na nube está na lista de requisitos básicos para os candidatos ao posto de enxeñeiro de datos. Os empresarios prefiren Amazon Web Services, coa plataforma na nube de Google en segundo lugar e Microsoft Azure completando os tres primeiros.

Debe ter bos coñecementos de Amazon EC2, AWS Lambda, Amazon S3, DynamoDB.

6. Sistemas distribuídos

Traballar con big data implica a presenza de clústeres de ordenadores de funcionamento independente, a comunicación entre os cales se realiza a través dunha rede. Canto maior sexa o clúster, maior será a probabilidade de falla dos seus nodos membros. Para converterse nun gran científico de datos, cómpre comprender os problemas e as solucións existentes para os sistemas distribuídos. Esta zona é antiga e complexa.

Andrew Tanenbaum é considerado un pioneiro neste campo. Para os que non teñan medo á teoría, recoméndolles o seu libro "Sistemas distribuidos", pode parecer desalentador para os principiantes, pero realmente axudarache a mellorar as túas habilidades.

penso Deseño de aplicacións intensivas en datos de Martin Kleppmann mellor libro de introdución. Por certo, Martin ten un marabilloso Blog. O seu traballo axudará a sistematizar o coñecemento sobre a construción dunha infraestrutura moderna para almacenar e procesar grandes datos.
Para os que lles guste ver vídeos, hai un curso en Youtube Sistemas informáticos distribuídos.

7. Canalizacións de datos

Quen son enxeñeiros de datos e como se convertes nun?

As canalizacións de datos son algo sen que non podes vivir como enxeñeiro de datos.

Na maioría das veces, un enxeñeiro de datos constrúe unha chamada canalización de datos, é dicir, crea un proceso para entregar datos dun lugar a outro. Estes poden ser scripts personalizados que van á API dun servizo externo ou realizan unha consulta SQL, aumentan os datos e poñémolos nun almacén centralizado (almacén de datos) ou nun almacén de datos non estruturado (lagos de datos).

Para resumir: a lista de verificación básica para un enxeñeiro de datos

Quen son enxeñeiros de datos e como se convertes nun?

En resumo, requírese unha boa comprensión do seguinte:

  • Sistemas de Información;
  • Desenvolvemento de software (Agile, DevOps, Design Techniques, SOA);
  • Sistemas distribuídos e programación paralela;
  • Fundamentos de bases de datos: planificación, deseño, operación e resolución de problemas;
  • Deseño de experimentos: probas A/B para probar conceptos, determinar a fiabilidade, o rendemento do sistema e desenvolver camiños fiables para ofrecer boas solucións rapidamente.

Estes son só algúns dos requisitos para converterse en enxeñeiro de datos, polo que aprende e comprende os sistemas de datos, os sistemas de información, a entrega/implementación/integración continua, as linguaxes de programación e outros temas de informática (non todas as áreas temáticas).

E para rematar, o último pero moi importante que quero dicir.

O camiño para converterse en Enxeñaría de datos non é tan sinxelo como podería parecer. Non perdoa, frustra, e debes estar preparado para iso. Algúns momentos desta viaxe poden impulsarte a renunciar. Pero este é un traballo real e un proceso de aprendizaxe.

Simplemente non o azucre desde o principio. O propósito de viaxar é aprender o máximo posible e estar preparado para novos retos.
Aquí tes unha gran imaxe que atopei que ilustra ben este punto:

Quen son enxeñeiros de datos e como se convertes nun?

E si, lembra evitar o queimado e o descanso. Isto tamén é moi importante. Moita sorte!

Que vos parece o artigo, amigos? Convidámoste a webinar gratuíto, que terá lugar hoxe ás 20.00 horas. Durante o webinar, discutiremos como construír un sistema de procesamento de datos eficaz e escalable para unha pequena empresa ou startup cun custo mínimo. Como práctica, familiarizarémonos coas ferramentas de procesamento de datos de Google Cloud. Vémonos!

Fonte: www.habr.com

Engadir un comentario