Engenharia de dados: Por onde começar?

Tudo (ou quase tudo) que você deve saber para trabalhar com Engenharia de Dados

Posted by Patty Vader on July 17, 2020 2 minutes to read
Share on:

A idéia de criar pipelines de dados, modelar Data Warehouses, escalar modelos de Machine Learning ou pensar em maneiras de coletar dados em tempo real te agrada? Então a Engenharia de Dados é para você!

Baseado em minha experiência escrevi esse post para servir de guia para quem deseja investir na área de Engenharia de Dados.

Por onde devo começar?

Se você tem experiência com Engenharia de Software, Infraestrutura ou Banco de dados já é um excelente começo.

Acho bem interessante uns rodmaps que aparecem no GitHub que podem servir de start. Eles mostram uma timeline de conhecimento que você deve saber ou conhecer.

Em que devo focar?

Foque no básico para começar. Invista grande parte do seu tempo em projetar pipelines de dados em um ambiente cloud. Estude a teoria de Sistemas distribuídos, ETL, Modelagem de dados e Data Warehouse.

Conforme você avança nos seus estudos trabalhar com Spark, Hadoop, Map Reduce entre outras tecnologias torna-se natural. Não se preocupe em um primeiro momento dominar completamente essas ferramentas.

Tem um artigo bem interessante, do Allan Sene, que fala sobre os tipos de Pessoa Engenheira de Dados. Cada profissional foca em um determinado assunto como Machine Learning, Monitoramento e Provisionamento ou Desenvolvimento de serviços de coleta de dados.

No próximo item faço uma lista do que considero importante que um profissional conheça.

Tecnologias e skills

Muito se fala sobre quais tecnologias e skills são necessários para trabalhar com Engenharia de Dados. Todos os dias aparecem novas tecnologias e metodologias.

Como dominar tudo isso? Realmente é humanamente impossível 🤖. Acredito que devemos dominar o básico, e conforme necessitamos vamos adicionando ao nosso portfólio novas tecnologias e ferramentas.

Listo abaixo por ordem de prioridade o que acredito que uma Pessoa Engenheira de Dados necessita saber, o que seria interessante saber e o que considero opcional.

Evitei listar ferramentas pois é importantíssimo saber a teoria por trás delas, e a utilização de determinado framework dependerá da arquitetura existente na empresa que você trabalha.

Conselho: recomendo fortemente que você crie pipelines de dados na AWS, GCP ou Azure. Elas permitem o uso de muitos serviços grátis por 1 ano. E muito cuidado para não deixar a arquitetura executando. Construa, absorva o conhecimento, documente todo processo e destrua/pare todos os serviços. Senão a conta no final do mês será bem alta 💰

🔥 Necessário:

  • Sistemas distribuídos
  • Data Warehouse
  • Modelagem de dados
  • ETL\ELT
  • Data Lake
  • SQL\NoSQL
  • Linguagens de Programação (Python, Scala ou Java)
  • Computação em nuvem (AWS, GCP ou Azure)
  • Big Data

🆒 Interessante:

  • Governança de dados
  • Práticas de Engenharia de Software
  • Ferramentas para gerenciar fluxos de trabalho (Luigi, Airflow etc)
  • Machine Learning

🦄 Opcional:

  • Data Mesh
  • SRE
  • DevOps
  • DataOps
  • Data lineage
  • Data Literacy

Data engineering: A quick and simple definition

A Beginner’s Guide to Data Engineering

The Rise of the Data Engineer

The Data Engineering Cookbook

Os Tipos de Engenheiros de Dados

Créditos:

Nuvem vetor criado por macrovector - br.freepik.com

Ícones feitos por Payungkead from www.flaticon.com