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
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
2.2 Exemplos Práticos
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:
4.2 SQL
4.3 APIs
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.
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
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
Posts Relacionados:
- Engenharia de dados 201 – Modelagem de dados
3.1 Conceitos Teóricos
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:
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:
5. Fundamentos de Cloud Computing e DataOps
5.1 Cloud Computing
5.2 DataOps
Posts Relacionados:
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
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
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
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
2.2 Exemplos Práticos
Dashboards e Automação:
- Configuração de dashboards e criação de processos automatizados de documentação.
Posts Relacionados:
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:
5. Mensageria e Integração em Tempo Real
5.1 Conceitos Teóricos
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
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
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.