Slide 1

Slide 1 text

Roadmap para Engenharia de Dados em 2024 “Not all those who wander are lost”

Slide 2

Slide 2 text

Quem é esse? ● 26 anos ● ~5 anos de engenharia de dados ● ~10 anos de programação ● Google Cloud certified ● Dono de gatos ● Nerd, músico frustrado e cubista ● Especialista em gambiarras ● Participante de eventos e caçador de brindes Cadu Magalhães @1cadumagalhaes blog.cadumagalhaes.dev datacareer.guide

Slide 3

Slide 3 text

Antes de começar

Slide 4

Slide 4 text

O que é Engenharia de Dados? A Engenharia de Dados (...) se concentra na concepção, construção e manutenção de sistemas e infraestrutura para a coleta, armazenamento, processamento e análise de de dados. - Chat GPT

Slide 5

Slide 5 text

Um pouco de história 2012 Redshift Data Warehouse 1960 1980 ETL 2006 AWS 2015 Airflow 2021 dbt 2003 Google Distributed Filesystem 2004 MapReduce Hadoop 2006

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

O que faz uma pessoa Engenheira de Dados? Depende. As responsabilidades vão mudar de acordo com o contexto, time e empresa em que se atua. Por ser uma área tão nova, as atribuições vão mudando com o tempo, além de outros cargos irem surgindo para fazer etapas específicas do trabalho de uma pessoa engenheira de dados.

Slide 9

Slide 9 text

Por isso, uma pessoa engenheira de dados pode atuar da coleta de dados ao processamento e entrega deles. Na prática, as atribuições mais comuns são: ● Modelagem de dados: definir quais tabelas serão criadas, quais informações elas terão e como isso vai responder as perguntas de negócio ● Transformações de dados: escrever (em SQL ou em qualquer framework) os códigos que vão gerar os modelos planejados ● Manutenção da pipeline: garantir a execução de tudo que é necessário O que faz uma pessoa Engenheira de Dados?

Slide 10

Slide 10 text

Primeiros passos na área, conceitos básicos Fundamentos Solidificar fundamentos e aprender ferramentas Intermediário Para quem já tem experiência e quer aprofundar Avançado Observações do mercado em geral Tendências Roadmap de Engenharia de Dados

Slide 11

Slide 11 text

Aviso ● A classificação feita nesse roadmap é 100% baseada na minha OPINIÃO (e um pouquinho de experiência e pesquisas). ● O que está aqui não é nenhuma verdade absoluta. ● “Mas Cadu eu quero estudar um negócio avançado mas sou iniciante, posso?” ○ Sim, pode

Slide 12

Slide 12 text

Fundamentos Como construir uma base sólida para atuar com Engenharia de dados. Parte I

Slide 13

Slide 13 text

Fundamentos para Iniciantes 1. Conceitos de bancos de dados a. Saber quais são os tipos (orientado a coluna, de documentos, de grafos, in-memory, de chave-valor, não relacional, timeseries, relacional) b. Bancos relacionais c. Teorema CAP, ACID 2. Conceitos de pipeline a. O que é uma pipeline de dados b. Processamento em batch x streaming c. ETL x ELT 3. Conceitos de arquitetura de dados a. Data warehouse e data lake, pra começar 4. Uma linguagem de script/programação (python) 5. Git 6. SQL com foco em consultas a. ORDER, GROUP, JOIN's etc

Slide 14

Slide 14 text

Intermediário Com uma fundação sólida e entendimento dos fundamentos, agora podemos aprofundar em alguns tópicos mais complexos e aumentar nosso portfólio. Parte II

Slide 15

Slide 15 text

Aprofundando os conhecimentos 1. Arquitetura de dados a. Data Warehouse, Lake, Mesh, Mart; b. Arquitetura de camadas de dados i. Medallion, Lambda, Kappa 2. Modelagem de dados a. Indexação, otimização de armazenamento e consulta b. Modelagem relacional, dimensional (star schema, snowflake), "tabelão" (one big table), data vault. 3. Transformação de dados a. Apache Spark, Apache Beam, Hadoop b. dbt, dataform, airflow c. SQL avançado: janelas, CTE’s e subconsultas, procedures 4. Plataforma de nuvem a. AWS, Azure, GCP 5. Orquestração de pipelines a. Apache Airflow b. AWS Step Functions, Google Workflows, Azure Data Factory 6. DataOps a. Infra as Code (Terraform, Opentofu) b. Testes (testes unitários, data quality) c. CI/CD

Slide 16

Slide 16 text

Avançado Depois de adquirir experiência, podemos nos aprofundar em tópicos avançados e técnicas mais sofisticadas. Aqui vamos nos aproximar cada vez mais da Engenharia de Software. Parte III

Slide 17

Slide 17 text

Assuntos complexos 1. Mensageria a. kafka, google pubsub, aws sqs 2. Processamento de dados em streaming a. Spark, Bean, Flink 3. Observabilidade a. Open Metrics, Open Lineage, Open Telemetry 4. Data Quality 5. Engenharia de software a. Sistemas distribuídos b. Concorrência

Slide 18

Slide 18 text

Tendências O que há de novidade, desenvolvimentos interessantes e o que está sendo usado mundo a fora. Parte IV

Slide 19

Slide 19 text

Próximos passos do mercado ● “Modern Data Stack” ficando madura ● Cada vez mais DataOps ● Multi-cloud é uma necessidade

Slide 20

Slide 20 text

Dúvidas?

Slide 21

Slide 21 text

TODO: referências e sugestões de materiais de estudos ● Dataengineering.wiki ● https://github.com/SartMorgs/data-engineer-roadmap ●

Slide 22

Slide 22 text

Desafio e uma rinha?

Slide 23

Slide 23 text

Obrigade! @1cadumagalhaes linkedin.com/in/1cadumagalhaes work.cadumagalhaes.dev blog.cadumagalhaes.dev dev.to/1cadumagalhaes