Roadmap de Engenharia de Dados para 2025

I'm currently working as a Senior Data Engineer (job 1) and as a Solutions Architect & Backend developer (job 2, freelancer). I'm a certified Google Cloud Professional Data Engineer and I really like talking about new technologies. My main focus are:
- Help people get started
- Talk about new tools and how we should be using them instead of developing everything ourselves
Tenho 2 objetivos com esse roadmap: primeiro, é uma lista muito completa dos assuntos que acredito que te fariam ser fora da curva na área de Engenharia de Dados. Segundo, é a lista dos assuntos que pretendo cumprir no blog.
Em alguns tópicos já deixei quais serão os posts, mas isso pode mudar. A ordem também não é certa, visto que muito do que está aqui não é sequencial.
Já tenho material revisado para um mês de publicação, começando com o post de História e evolução da Engenharia de Dados, para o dia 01 de Agosto de 2025. Sinto que em tempos de conteúdo e código escritos por IA, minha forma de resistir é fazer essas publicações. Tentar construir conteúdo de qualidade, com muita curadoria e pesquisa, e que traz o que eu pessoalmente acho interessante -contexto, história - para contribuir com a parte técnica.
Introdução e Contexto Histórico
Evolução dos bancos de dados: do modelo relacional, ACID, às origens dos bancos NoSQL.
Surgimento do Big Data: Hadoop, MapReduce e a evolução para frameworks distribuídos como Spark e Flink.
Transição do armazenamento on-premise para a era da nuvem.
Impactos da Engenharia de Software
Posts Relacionados:
- História e evolução da Engenharia de Dados
Nível 101 – Iniciante
1. Fundamentos de Bancos de Dados
1.1 Conceitos Teóricos
Modelos de Bancos de Dados:
Relacional: Estrutura tabular, integridade referencial.
Não Relacional: Documentos, key-value, grafos, colunar, in-memory, timeseries.
OLTP: Foco em operações transacionais com alta frequência.
OLAP: Ambientes otimizados para análises multi dimensionais e consultas complexas.
Transações:
Conceitos de atomicidade, consistência, isolamento e durabilidade (ACID).
Exemplos práticos de rollback, commit e gerenciamento de concorrência.
Casos de Uso e Quando Utilizar Cada Tipo:
Bancos relacionais para transações críticas e integridade dos dados.
Bancos não relacionais para escalabilidade, flexibilidade de esquemas e alta performance.
1.2 Exemplos Práticos
Bancos Relacionais:
- Criação de esquemas, tabelas, índices e realização de transações (ex.: PostgreSQL).
Bancos NoSQL:
- Implementação de operações CRUD em MongoDB ou Redis, com exemplos de indexação e consultas.
Posts Relacionados:
- Engenharia de dados 101 – Fundamentos de bancos de dados
2. Pipelines de Dados
2.1 Conceitos Teóricos
ETL:
- Extração, transformação e carregamento: processos, vantagens e desafios.
ELT:
- Extração, carregamento e, posteriormente, transformação: quando utilizar e vantagens.
Comparação ETL x ELT:
- Critérios para escolha, impacto em performance, custo e arquitetura.
Processamento de Dados:
Batch: Processamento em blocos com execução agendada.
Streaming: Processamento em tempo real, com tolerância à latência.
Arquiteturas Híbridas: Combinação de batch e streaming para cenários específicos.
Introdução a modelagem de dados:
Incremental Load: Carregamento de dados apenas quando há mudanças.
Row Versioning: Manutenção de versões das linhas para auditoria e concorrência.
2.2 Exemplos Práticos
Implementação de ETL:
- Script em Python para extrair, transformar e carregar dados.
Implementação de ELT:
- Carregamento de dados brutos em um data warehouse e transformações via SQL.
Processamento Batch x Streaming:
- Demonstração com Apache Spark (modos batch e streaming) e exemplos de arquiteturas híbridas.
Posts Relacionados:
- Engenharia de dados 101 – Fundamentos de Pipelines de dados
3. Fundamentos de Arquitetura de Dados
3.1 Conceitos Teóricos
Data Warehouse:
- Conceitos, arquitetura e casos de uso.
Data Lake:
- Armazenamento de dados brutos, escalabilidade e flexibilidade.
Data Mart:
- Subconjuntos de dados específicos para áreas de negócio.
Arquiteturas Híbridas:
- Integração de múltiplos conceitos para atender cenários complexos.
3.2 Exemplos Práticos
Implementação de um Data Warehouse:
- Projeto básico utilizando ferramentas open-source.
Construção de um Data Lake:
- Demonstração de ingestão e organização de dados brutos. Posts Relacionados:
Engenharia de dados 101 – Fundamentos de arquitetura de dados
4. Desenvolvimento e Ferramentas Essenciais
4.1 Linguagem de Programação
Tipos de Dados e Estruturas Básicas:
Tipos de Dados: Trabalhar com strings, números, booleanos, etc.
Estruturas Básicas: Listas, tuplas, dicionários e conjuntos.
Programação Orientada a Objetos:
Conceitos de classes e objetos.
Implementação de métodos padrão (ex.:
__add__,__get__, etc).
Estruturas de Dados Avançadas:
- Árvores, grafos, heaps, e outros conceitos fundamentais da ciência da computação que auxiliam na criação de algoritmos eficientes.
Gerenciamento de Pacotes e Organização de Projetos:
Ferramentas para gerenciamento de pacotes: pip, Poetry, uv, etc.
Construção e disponibilização de bibliotecas, organização de projetos e uso de ambientes virtuais.
Manipulação de Arquivos:
- Leitura e escrita em diferentes formatos: CSV, JSON, YAML, TOML.
Testes e Qualidade de Código:
- Boas práticas de testes unitários e integração para garantir a robustez do código.
Conceitos e Técnicas Modernas:
Uso de context managers, dataclasses e decorators.
Programação assíncrona com
async/await.
4.2 SQL
Definição e Manipulação de Dados (DDL & DML):
- Comandos básicos:
CREATE,REPLACE,UPDATE,INSERT,DELETE.
- Comandos básicos:
Consulta de Dados (DQL):
Utilização de operadores condicionais e lógicos.
Ordenação, definição de limites (
LIMIT,OFFSET) e união de resultados.Junções (JOINs) para combinar dados de múltiplas tabelas.
Funções de agregação, como
COUNT,SUM,AVG, entre outras.Tratamento de texto com funções como
LOWER,UPPER,CONCATe expressões regulares.Funções de manipulação de datas e timestamps.
Uso de subconsultas e Common Table Expressions (CTEs).
4.3 APIs
Conceitos Fundamentais:
- Princípios de APIs REST: métodos HTTP (GET, POST, PUT, DELETE), códigos de status e autenticação.
Boas Práticas e Estratégias:
Implementação de estratégias de tratamento de falhas e retry.
Gerenciamento de requisições paginadas.
Desenvolvimento de APIs:
- Princípios e práticas para a construção de uma API própria, desde o design até a implementação.
Posts Relacionados:
Engenharia de dados 101 – Fundamentos de Python
Python aplicado à Engenharia de Dados
Engenharia de dados 101 – Fundamentos de SQL
Engenharia de dados 101 – Criando e consumindo API’s
Essa estrutura detalhada garante que cada aspecto essencial da programação, SQL e APIs seja abordado de forma clara e completa, facilitando a compreensão e aplicação dos conceitos na prática.
Nível 201 – Intermediário / Preparando-se para o Mercado
1. Arquitetura de Dados Avançada
1.1 Conceitos Teóricos
Listagem e Definição de Arquiteturas:
Revisão avançada de Data Warehouse, Data Lake e Data Mart.
Data Mesh e Data Lakehouse: Conceitos emergentes e seus impactos.
Arquiteturas Lambda, Kappa e Medallion:
- Princípios, benefícios, desafios e comparação teórica.
Tópico de Comparação Teórica:
- Critérios, casos de uso e trade-offs entre as arquiteturas.
1.2 Exemplos Práticos
Implementação Prática:
Projetos demonstrando uma arquitetura Medallion com ferramentas de transformação e ingestão de dados.
Orquestração de pipelines em arquiteturas Lambda ou Kappa.
Posts Relacionados:
- Engenharia de dados 201 – Arquitetura de dados
2. Modelagem de Dados
2.1 Conceitos Teóricos
Conceitos Fundamentais:
Indexação: Técnicas para acelerar consultas.
Normalização e Desnormalização: Teoria, vantagens e desvantagens.
Slowly Changing Dimensions (SCD): Gerenciamento de alterações em dados dimensionais.
Change Data Capture (CDC): Captura das alterações ocorridas em sistemas operacionais.
Formatos de Modelagem:
Modelagem Relacional: Estrutura e integridade.
Modelagem Dimensional: (Star schema, Snowflake) para BI e análises.
One Big Table: Quando e como utilizar.
Outras Abordagens: Data Vault, modelagem em grafos, etc.
2.2 Exemplos Práticos
Exercícios Práticos:
Criação de modelos de dados para cenários variados.
Otimização de consultas e demonstrações de normalização/desnormalização.
Posts Relacionados:
- Engenharia de dados 201 – Modelagem de dados
3. Transformação de Dados e Apache Spark
3.1 Conceitos Teóricos
Frameworks de Transformação:
Foco em Apache Spark: Conceitos de RDD, DataFrame, Spark SQL e streaming com Spark.
Menção breve a outros frameworks (Apache Beam, Hadoop) e comparação conceitual.
dbt e Outras Ferramentas:
- Teoria sobre dbt (Data Build Tool) e outras alternativas para transformação de dados.
3.2 Exemplos Práticos
Projeto Spark:
- Post exclusivo ensinando a configurar, desenvolver e executar um job de transformação com Spark – do consumo à escrita em um data warehouse.
Implementação com dbt:
- Exemplo prático de transformação utilizando dbt.
Posts Relacionados:
Engenharia de dados 201 – Frameworks de transformação de dados
Engenharia de dados 201 – Fundamentos de PySpark
4. SQL Avançado
4.1 Conceitos Teóricos
Tópicos Avançados:
- Funções de janela, técnicas de otimização, análise de planos de execução e tuning de performance.
Casos de Uso:
- Exemplos de como extrair insights complexos de grandes volumes de dados usando SQL avançado.
Desafios SQL:
- Exercícios práticos para resolver problemas de performance e implementar consultas complexas.
Posts Relacionados:
Engenharia de dados 201 – SQL Avançado
Engenharia de dados 201 - Otimização de consultas SQL
5. Fundamentos de Cloud Computing e DataOps
5.1 Cloud Computing
Conceitos de Infraestrutura:
Noções de redes, infraestrutura, sistemas operacionais, firewall, dns, e comparação entre soluções cloud (AWS, Azure, GCP) e ambientes on-premise.
Serverless x Gerenciado
Serverless e Cloud Native:
Containers, Kubernetes e CNCF
Abordagem de funções serverless e arquiteturas orientadas a eventos.
5.2 DataOps
Integração de Práticas DevOps em Dados:
- Testes de código e de dados, versionamento e orquestração contínua (CI/CD).
Alertas, Monitoramento e Alta Disponibilidade:
- Estratégias para configurar alertas, dashboards, logs e tracing (usando Open Metrics, Open Telemetry) para garantir resiliência e disponibilidade.
Posts Relacionados:
Engenharia de dados 201 – Fundamentos de Cloud Computing
Engenharia de dados 201 – Fundamentos de DataOps
6. Orquestradores de Dados
talvez mencionar aqui em orquestração sobre ferramentas de extração (airbyte, fivetran, etc)
6.1 Conceitos Teóricos
Comparativo de Soluções:
Análise das principais ferramentas: Airflow, Dagster, Prefect, Mage
Introdução a orquestradores mais gerais, como o n8n.
Ferramentas dentro de provedores (gcp workflows, azure data factory, aws step functions, databricks jobs, snowflake data pipelines, etc)
Apache Airflow:
Funcionamento, principais conceitos (DAGs, Operators, Hooks) e casos de uso.
Criação de pipelines com Airflow, integração com APIs e bancos de dados.
Airflow moderno: taskflow api, agendamento por datasets, agendamentos complexos com timetables
Posts Relacionados:
Engenharia de dados 201 – Orquestradores de Dados
Engenharia de dados 201 – Fundamentos de Apache Airflow
Tudo que você precisa saber sobre Apache Airflow
7. No Code e Low Code em Engenharia de Dados
7.1 Conceitos Teóricos
Ferramentas No Code/Low Code:
- Introdução ao Apache Hop e outras plataformas como KNIME, Alteryx, Google DataPrep, Talend Data Preparation.
Vantagens e Desafios:
- Quando e por que utilizar abordagens no code/low code na engenharia de dados.
Demonstração de um Projeto No Code:
- Configuração e execução de um pipeline utilizando uma dessas ferramentas, enfatizando facilidade de integração e visualização.
Posts Relacionados:
- Engenharia de dados 201 – No Code/Low Code em Engenharia de Dados
8. Soft Skills e Gestão de Projetos
8.1 Conceitos Teóricos
Comunicação e Documentação:
- Técnicas de storytelling com dados, documentação eficaz e visualização para stakeholders.
Gestão Ágil de Projetos:
- Metodologias ágeis e frameworks de gerenciamento aplicados a projetos de dados.
Colaboração e Liderança:
- Desenvolvimento de habilidades interpessoais e liderança em equipes multidisciplinares.
Posts Relacionados:
- Engenharia de dados 201 – Soft Skills e Gestão de Projetos
9. Conceitos Avançados em Analytics Engineering
9.1 Conceitos Teóricos
Transformação para Analytics:
- Uso de ferramentas como dbt para criar modelos analíticos robustos, camadas semânticas e data marts focados em BI.
Integração com BI e Data Visualization:
- Estratégias para conectar pipelines a ferramentas de visualização (Looker, Tableau, Power BI) e modelagem de dados para análises avançadas.
Projeto de Analytics Engineering:
- Criação de um pipeline completo que vai da ingestão de dados à construção de dashboards interativos e insights de negócios.
Posts Relacionados:
- Engenharia de dados 201 – Fundamentos de Analytics Engineering
Nível 301 – Avançado e Tendências
1. Processamento de Dados em Streaming e Arquiteturas em Tempo Real
1.1 Conceitos Teóricos
Processamento Streaming:
- Comparativo entre Spark Streaming, Apache Flink, Kafka Streams e outros.
Arquiteturas em Tempo Real:
- Processamento de eventos e aplicações críticas em tempo real.
1.2 Exemplos Práticos
Pipeline de Streaming:
- Desenvolvimento de um pipeline integrado com Kafka ou ferramentas similares.
Posts Relacionados:
- Engenharia de dados 301 – Processamento de dados em streaming
2. Observabilidade, Monitoramento e Documentação de Dados
2.1 Conceitos Teóricos
Observabilidade e Monitoramento:
- Estratégias de logging, métricas, tracing e alertas usando ferramentas como Grafana e Kibana.
Documentação de Dados e Governança:
- Boas práticas para rastreamento de lineage, catalogação (Data Catalogs) e manutenção da documentação contínua.
2.2 Exemplos Práticos
Dashboards e Automação:
- Configuração de dashboards e criação de processos automatizados de documentação.
Posts Relacionados:
Engenharia de dados 301 – Observabilidade
(Novo) Engenharia de dados 301 – Documentação e Governança de Dados
3. Data Quality e Governança
3.1 Conceitos Teóricos
Qualidade dos Dados:
- Testes unitários e de dados, validação, auditoria e políticas de compliance (LGPD, GDPR).
Criptografia, mascaramento, controle de acesso, compliance e Data Anonymization (técnicas de anonimização para proteger dados sensíveis).
3.2 Exemplos Práticos
Processos Automatizados:
- Implementação de pipelines de validação e monitoramento da qualidade dos dados.
Posts Relacionados:
- Engenharia de dados 301 – Data Quality
4. Engenharia de Software Aplicada à Engenharia de Dados
4.1 Conceitos Teóricos
Sistemas Distribuídos e Concorrência:
- Fundamentos, desafios e padrões de design para sistemas escaláveis.
Integração com Microserviços:
- Arquiteturas orientadas a eventos e mensageria.
Containerização e Orquestração:
- Uso de Docker, Kubernetes e práticas de CI/CD para ambientes de dados.
4.2 Exemplos Práticos
Projeto Integrado:
- Construção de um sistema distribuído que integra ingestão, processamento (batch/stream) e orquestração com containerização.
Posts Relacionados:
Engenharia de dados 301 – Sistemas distribuídos e concorrência
Engenharia de dados 301 – Engenharia de Software para Dados
5. Mensageria e Integração em Tempo Real
5.1 Conceitos Teóricos
Sistemas de Mensageria:
- Comparativo entre Kafka, Google PubSub, AWS SQS, RabbitMQ e outros.
Arquiteturas para Integração:
- Ingestão e processamento de dados em tempo real.
5.2 Exemplos Práticos
Implementação Prática:
- Configuração de um sistema de mensageria para ingestão e processamento de eventos.
Posts Relacionados:
- Engenharia de dados 301 –Fundamentos de mensageria de dados
6. MLOps
6.1 Conceitos Teóricos
Integração de Dados e Machine Learning:
- Estruturação de pipelines que conectem o processamento de dados com fluxos de ML.
Ferramentas e Práticas:
- Uso de MLflow, Kubeflow, BentoML e outras ferramentas para experimentação, versionamento e implantação de modelos.
6.2 Exemplos Práticos
Projeto de MLOps:
- Criação de um pipeline demonstrando a transição do desenvolvimento até a produção de modelos, com monitoramento de performance e qualidade.
Posts Relacionados:
- Engenharia de dados 301 – Fundamentos de MLOps
Módulo de Carreira e Desenvolvimento Profissional
1. Certificações
Principais Certificações:
Google Cloud Professional Data Engineer
AWS Certified Data Analytics – Specialty
Azure Data Engineer Associate
Databricks Certified Data Engineer
AWS Certified Data Engineer
Dicas para Certificação:
- Materiais de estudo, simulados e estratégias de preparação.
2. Preparação para Entrevistas
Técnicas e Estratégias:
- Perguntas comuns em entrevistas técnicas e comportamentais para engenheiros de dados.
Exercícios Práticos:
- Resolução de desafios práticos e dicas para apresentação de projetos e experiências.
Recursos Complementares:
- Guias, cursos online e comunidades para troca de experiências.
Sugestões de Livros e Referências Essenciais
Designing Data-Intensive Applications – Martin Kleppmann
Streaming Systems – Tyler Akidau, Slava Chernyak e Reuven Lax
The Data Warehouse Toolkit – Ralph Kimball
Data Pipelines Pocket Reference – James Densmore
Artigos, white papers e documentações oficiais das principais ferramentas (Airflow, Spark, Kubernetes, etc.).
Conclusões
Como atualização rápida, posso dizer que nos últimos meses acabei trabalhando e pesquisando muito sobre ML, modernizei a maior parte da infraestrutura das nossas aplicações. Coloquei algumas coisas pra rodar no meu homelab, que agora tem 2 nós. Fiz alguns projetos internacionais.
E ta ficando cada vez mais difícil me encaixar num rótulo de cargo: Data Engineer, MLOps Engineer, SRE, desenvolvedor, arquiteto. E pra mim isso é ótimo, porque toda essa variedade me ajuda a manter motivado. Comecei a me envolver em discussões e contribuições de alguns projetos open source do meu dia a dia: Airflow, Airbyte, Open Data Discovery, dbt. To fazendo o AirSQL, que é basicamente pra facilitar a minha própria vida com airflow mas acho que pode ser bem útil por aí.
E no próximo semestre eu vou estar até trabalhando como “pesquisador” de ML, na área de visão computacional, que é um dos produtos que a gente ta querendo dar escala. Ganhamos um desafio de aceleração do Google, e além de um orçamento bizarro de créditos de cloud, vamos conseguir mentorias e até usar o espaço Google For Startups aqui em SP.


