How to Become a Data Engineer
Design, build, and operate the data pipelines, warehouses, and infrastructure that power analytics, ML, and product decisions.
1. Programming Foundations
corePython
The default language for data engineering — pipelines, orchestration, glue code, and testing all live here.
- docs free Python.org →
- tutorial mixed Real Python →
- book paid Fluent Python by Luciano Ramalho →
- book free Automate the Boring Stuff →
Bash & the Unix Command Line
Every server, container, and CI runner speaks bash. Learn to move data with curl, jq, awk, sed, and pipes.
- course free MIT — Missing Semester →
- tutorial free Linux Journey →
- docs free jq Tutorial →
Git & Version Control
Data pipelines live in git. Branching, PR reviews, and code history matter as much for pipelines as for app code.
- book free Pro Git →
- tutorial free Learn Git Branching (interactive) →
- blog free Oh Shit, Git!?! →
2. SQL & Relational Databases
coreSQL Fundamentals
Joins, aggregations, window functions, CTEs. The bread and butter of every data role — must be second nature.
- tutorial free Mode SQL Tutorial →
- tutorial free SQLBolt →
- book free Use The Index, Luke! →
- book free Select Star SQL →
PostgreSQL
The most feature-rich open-source RDBMS. Master its planner, indexes, JSONB, and extensions.
- docs free PostgreSQL Docs →
- tutorial free PostgreSQL Exercises →
- tutorial free PostgreSQL Tutorial →
Data Modeling
3NF for OLTP, dimensional (Kimball) for OLAP. Knowing when to denormalize is a senior-level skill.
- docs free Kimball Group →
- book free The Analytics Setup Guidebook →
- docs free Database Answers — 500 sample models →
Query Optimization & Indexing
Reading EXPLAIN plans, picking the right index type, understanding join algorithms — table-stakes for scaling.
- book free Use The Index, Luke! →
- docs free PostgreSQL docs — Using EXPLAIN →
3. Data Warehousing & Modeling
coreWarehouse Fundamentals
OLAP vs OLTP, columnar storage, partitioning, clustering. Why warehouses are structurally different from OLTP databases.
- tutorial free Data School — Data Modeling 101 →
- book paid The Data Warehouse Toolkit (Kimball) →
Snowflake
The industry-leading cloud warehouse. Separation of storage and compute, virtual warehouses, and micro-partitions.
- docs free Snowflake Docs →
- tutorial free Snowflake Quickstarts →
- course mixed Snowflake University →
BigQuery
Google's serverless warehouse. Learn slot-based pricing, partitioning, clustering, and BQ ML.
- docs free BigQuery Docs →
- blog free Google Cloud Blog — BigQuery Explained →
dbt (data build tool)
SQL-first transformation framework. Testing, docs, lineage, and incremental models are what separates modern warehouses from stored-procedure hell.
- docs free dbt Docs →
- course free dbt Learn →
- channel free dbt Labs on YouTube →
4. Distributed Data Processing
coreApache Spark
The default engine for batch data processing at scale. Learn DataFrames, Spark SQL, adaptive execution, and partitioning.
- docs free Spark Docs →
- book paid Learning Spark, 2nd Ed (O'Reilly) →
- tutorial free Spark Examples →
Batch Processing Concepts
MapReduce, shuffle, skew, spilling, and why joins fail at scale. Foundation for everything Spark/Flink/BigQuery.
- book paid Designing Data-Intensive Applications (Kleppmann) →
- paper free MapReduce — Google Research →
5. Streaming Data
coreApache Kafka
The de-facto event streaming platform. Master partitions, consumer groups, exactly-once, and schema registry.
- docs free Kafka Docs →
- tutorial free Confluent Developer →
- book paid Kafka: The Definitive Guide →
Streaming Patterns
Event time vs processing time, watermarks, windowing, exactly-once semantics. Same concepts show up in Flink, Beam, Spark Structured Streaming.
- book paid Streaming Systems (Akidau et al.) →
- blog free Confluent Blog →
Apache Flink
State-of-the-art streaming engine when you need low latency + strong state semantics.
- docs free Flink Docs →
- blog free Ververica Blog →
6. Pipelines & Orchestration
coreETL vs ELT
Modern data stack prefers ELT — load raw first, transform in the warehouse with dbt. Understand why.
- blog free dbt Blog →
- blog free Fivetran — ETL vs ELT →
Apache Airflow
The industry-standard orchestrator. DAGs, operators, sensors, TaskFlow API, and the pitfalls of using it as a data processor.
- docs free Airflow Docs →
- tutorial free Astronomer Learn →
- book paid Data Pipelines Pocket Reference →
Dagster & Prefect
Modern alternatives to Airflow. Asset-based (Dagster) or flow-based (Prefect) — better ergonomics for pure-Python teams.
- docs free Dagster Docs →
- docs free Prefect Docs →
Idempotency, Retries, Backfills
Every production pipeline must handle re-runs, partial failures, and historical backfills gracefully. This is a design skill, not a tool.
7. Cloud Platforms
coreAWS Data Stack
S3 (storage), Glue (catalog + ETL), EMR (Spark), Athena (Presto SQL over S3), Redshift (warehouse), Kinesis (streaming).
- docs free AWS Analytics Overview →
- docs free AWS Data Lakes →
- channel free AWS Training on YouTube →
GCP Data Stack
BigQuery, Dataflow (Beam), Pub/Sub, Cloud Storage, Composer (managed Airflow). GCP is arguably the most data-friendly cloud.
- docs free GCP Smart Analytics →
- channel free Google Cloud Tech on YouTube →
Azure Data Stack
Synapse Analytics, Data Factory, Fabric, Databricks integration. Especially important in enterprise/Microsoft shops.
- docs free Azure Data Architecture Guide →
- course free Microsoft Learn — Azure →
8. Data Lakes & Lakehouse
recommendedParquet, ORC, Avro
Columnar formats power modern data lakes. Understand compression, predicate pushdown, and schema evolution.
- docs free Parquet Docs →
- blog free Upsolver — Why Parquet →
Delta Lake, Apache Iceberg, Hudi
Table formats that add ACID transactions, time travel, and schema evolution on top of object storage.
- docs free Delta Lake →
- docs free Apache Iceberg →
- docs free Apache Hudi →
9. Data Quality & Testing
recommendedGreat Expectations
Python-native declarative data validation. Assertions, docs, and profiling in one framework.
- docs free Great Expectations Docs →
- blog free GE Blog →
dbt Tests
Generic tests (unique, not_null, accepted_values, relationships) + custom SQL tests. Non-negotiable for any dbt project.
- docs free dbt Tests Docs →
- repo free dbt-utils on GitHub →
Data Contracts
Producer-consumer schema agreements enforced at pipeline boundaries. Emerging discipline — worth being early on.
- docs free Data Contract Specification →
- blog free Chad Sanderson — Data Products blog →
10. Data Governance & Security
recommendedPII, PHI, & Privacy
GDPR, CCPA, DPDP (India), HIPAA. Pseudonymization, tokenization, right to be forgotten. Compliance is now table-stakes.
- docs free GDPR.EU →
- docs free India DPDP Act (MeitY) →
Data Catalogs — DataHub, Amundsen, OpenMetadata
Metadata management, lineage, discovery. Essential as your warehouse grows past 100 tables.
- docs free DataHub →
- docs free Amundsen →
- docs free OpenMetadata →
11. Observability & Monitoring
recommendedData Observability
Freshness, volume, distribution, schema, lineage — the 5 pillars. Monte Carlo, Bigeye, Elementary, or roll-your-own.
- blog free Monte Carlo — 5 Pillars of Data Observability →
- docs free Elementary Data (open source) →
Pipeline Monitoring
SLA breach alerts, retry visibility, cost tracking. Airflow's DAG-level views + Prometheus/Grafana or Datadog.
- docs free Prometheus Docs →
- tutorial free Grafana Tutorials →
12. CI/CD & Infrastructure for Data
recommendedDocker & Containers
Every pipeline runs in a container. Understand images, layers, multi-stage builds, and volume mounts.
- docs free Docker Docs →
- video free Docker Tutorial for Beginners — freeCodeCamp →
Terraform & IaC
Declarative infrastructure — warehouse permissions, S3 buckets, Airflow deployments. State management is where teams trip up.
- docs free Terraform Docs →
- tutorial free HashiCorp Learn — Terraform →
GitHub Actions for Data Pipelines
CI for dbt tests, pipeline deploys, and scheduled runs. Cheaper than a dedicated CI stack for small teams.
- docs free GitHub Actions Docs →
13. Career & Soft Skills
optionalStakeholder Management
Data engineers serve analysts, ML engineers, and PMs. Managing their contradictory asks is a huge share of the actual job.
- blog free Locally Optimistic (data leaders blog) →
- blog free Benn Stancil's Substack →
Writing Technical Design Docs
Every non-trivial pipeline change deserves a design doc — problem, options, chosen approach, rollout plan.
- blog free Design Docs at Google (Malte Ubl) →
Communities to Follow
Where working data engineers actually hang out — worth lurking in.
- channel free Locally Optimistic Slack →
- channel free dbt Community Slack →
- channel free Airflow Slack + Mailing List →