Quais habilidades são necessárias para se tornar um engenheiro de dados?

DESCRIÇÃO E COMPETÊNCIAS DO TRABALHO DE ENGENHEIRO DE DADOS

Se o inglês é o idioma dos negócios, o SQL é o idioma dos dados e o Python, o idioma da engenharia. Enquanto a tecnologia desaparece frequentemente, o SQL ainda está aqui. Isso significa que você precisa de um entendimento confiável de:

  • SQL para um alto nível de complexidade. usando funções de janela e agregadas, alterando a estrutura de um banco de dados com DDL ou alterando os dados com DML, ajustando ou lendo planos de execução de banco de dados, como os índices
  • Técnicas de modelagem de dados: ERDs e modelagem dimensional
  • Sólido entendimento de ETL
  • Projeções arquitetônicas: precisa ter um entendimento de alto nível da maioria das ferramentas, plataformas, bibliotecas e outros recursos à sua disposição
  • capaz de conectar os pontos da origem ao destino com qualquer linguagem de programação que faça o melhor trabalho. (Provavelmente Python no momento)

Stitchdata.com

previa que, à medida que o tamanho da empresa aumentasse, o foco também se concentraria nas habilidades relacionadas à escala. No entanto, essa não é a história contada pelos dados. Em vez disso, os engenheiros de dados da

empresas maiores tendem a se concentrar mais nas habilidades "empresariais", como ETL, BI e data warehousing, enquanto os engenheiros de dados de empresas menores se concentram mais nas tecnologias principais

:

A LÍNGUA DA FERRAMENTA, PITÃO

O crescimento das principais linguagens de programação

As linguagens de programação sempre vieram e se foram, mas nos últimos dois anos, o Python aumenta ainda mais a popularidade. A questão é o porquê. Um motivo válido, com certeza, é por causa da ascensão dos engenheiros de dados, mas também pelo uso de bibliotecas para ciência de dados e análise de dados.

De acordo com

Codeacademy

e seus dados de origem de

Estouro de pilha

, eles dizem que está conectado ao surgimento da ciência de dados. Isso e

aprendizado de máquina

foram as maiores tendências da tecnologia em 2017. Além disso, o Python se tornou uma linguagem de referência para análise de dados. Com bibliotecas focadas em dados como pandas, NumPy e matplotlib, qualquer pessoa familiarizada com a sintaxe e as regras do Python pode implantá-lo como uma ferramenta poderosa para processar, manipular e visualizar dados.

Em relação ao surgimento da ciência e da engenharia de dados, está claro para mim que o Python está aqui para ficar e está se tornando o

Canivete suíço de linguagens de programação

.

Python para engenheiros de dados

Mas para o que você pode usar o Python na engenharia de dados. Por exemplo,

você o usa para disputar dados

(remodelar, agregar, juntar fontes diferentes etc.), o que é feito principalmente com a biblioteca

Pandas

, ETL em pequena escala, interação API (nossa apresentação geralmente acontece no Tableau, que possui APIs Python) e automação com

Apache Airflow

, que também é nativo em Python.

"

O Apache Airflow possui vários blocos de construção que permitem que os engenheiros de dados montem facilmente os pipelines de e para diferentes fontes. Como está escrito em Python, os Engenheiros de Dados acham fácil criar pipelines ETL apenas estendendo classes dos objetos DAG e Operator do Airflow. E isso nos permite escrever nosso próprio código Python para criar qualquer ETL que desejamos, com a estrutura fornecida pelo Airflow. O Airflow usa vários pacotes mencionados, todos prontos para o trabalho:

boto

para manipulação S3, pandas para vantagens óbvias com quadros de dados, psycopg2 para integrações populares com Postgres e Redshift, e muito mais.

Disse por

.

ENGENHEIRO DE DADOS DO FACEBOOK

De acordo com uma descrição do trabalho como

engenheiro de dados

no Facebook, em Menlo Park, em Seattle, ele precisa ter as seguintes qualificações e responsabilidades.

Qualificações mínimas

  • Mais de 2 anos de experiência em desenvolvimento Java e / ou Python
  • Mais de 2 anos de experiência em SQL (Oracle, Vertica, Hive etc.)
  • Mais de 2 anos de experiência em desenvolvimento de pilhas LAMP
  • Mais de 2 anos de experiência em design, implementação e manutenção de ETL personalizado ou estruturado (por exemplo, Informatica / Talend / Pentaho)
  • Experiência em trabalhar com um sistema MapReduce ou MPP em qualquer tamanho / escala.

Responsabilidades

  • Crie conhecimento de dados e qualidade de dados próprios para os pipelines incríveis que você cria
  • Arquive, construa e inicie novos modelos de dados que fornecem análises intuitivas para seus clientes
  • Projete, construa e inicie pipelines de dados extremamente eficientes e confiáveis ​​para mover dados (grandes e pequenas quantidades) para o nosso ridiculamente grande Data Warehouse
  • Projete e desenvolva novos sistemas e ferramentas para permitir que as pessoas consumam e entendam os dados mais rapidamente
  • Use suas habilidades de codificação especializadas em várias linguagens de Python, Java e PHP
  • Você desenvolveu aplicativos dentro do ambiente LAMP Stack
  • Trabalhe em várias equipes em funções de alta visibilidade e seja proprietário da solução de ponta a ponta

Uma imagem dessa persona poderia se parecer (

)

Se você quiser saber mais sobre engenharia de dados ou tópicos semelhantes, siga minhas postagens no meu site sobre engenharia de dados:

sspaeti.com

(

O que é engenharia de dados - sspaeti.com

)