Self-study syllabus · free & open courses only · links checked 23 Aug 2026
From spreadsheet to production pipeline.
Data engineering is unusually well served by open material, and unusually badly served by tutorials. Carnegie Mellon publishes the best database course in the world for free; the field's reference bootcamp lives in a public repository; the transformation standard documents its own discipline. What almost nobody teaches is the order — SQL deeply before pipelines, databases from the inside before distributed systems, and reliability as a habit rather than a final chapter. This route fixes the order. Eight milestones, each ending in something that runs.
Total effort
~790 hoursestimates; your mileage will vary
Pace
~15 monthsat 12 h/week · ~9 months at 20 h/week
Course fees
₹0certificates, where offered, are optional and paid
Kit
Any laptop16 GB RAM makes the Spark weeks far less painful
The road, to scale
Each block is sized to its weeks. Click a block to jump to that milestone.
This field has a specific way of going wrong for self-taught engineers. These rules target it.
SQL before everything. The temptation is to rush to Spark and Kafka because they sound impressive. Engineers who cannot write a window function do not get hired regardless.
Small data first. Most problems are not big-data problems. Reaching for a cluster when DuckDB would do is the most expensive habit in this field.
Idempotency is not optional. If rerunning your pipeline duplicates data, it is not a pipeline, it is a script that ran once.
Break it deliberately. Kill a task mid-run. Feed it a malformed record. Backfill over a gap. The failure modes are the job.
Cost is a design constraint. Every architecture choice has a monthly bill. Knowing roughly what yours is separates engineers from enthusiasts.
Write it down. Architecture decision records are the artefact that gets you taken seriously in interviews.
v0.1
Toolbelt
weeks 1–2 · ~20 h
Shell, Git and containers. Data engineering runs on other people's machines more than any other discipline here, so the tooling has to be automatic before anything else.
Learn Git Branchinginteractive~4 hPipelines live in Git and get reviewed like software. Branching fluency is assumed on every team.
Data Engineering Zoomcamp — setupDataTalks.Club~4 hWork through the Docker and environment setup module. Free, open, and the reference course for this field.
Build
chore: initialize pipeline-log
A public repository called pipeline-log with a README and a working Docker Compose file that brings up Postgres locally. One commit per study session from here on.
Done when
v0.2
SQL, properly
weeks 3–12 · ~110 h
Not “SQL for analysts” — SQL as the language you will spend a career in. Window functions, CTEs, and knowing why a query is slow before you run it.
CourseTimeWhy it's here
CS50 SQLHarvard~50 hA full course on relational design, querying, normalisation, indexes and transactions. Structured, rigorous, free.
Select Star SQLfree book~20 hAn interactive book that makes you write the query before showing you one. Best for building actual recall.
Use The Index, LukeMarkus Winand~25 hHow indexes really work and why your query plan looks like that. The single highest-leverage thing an engineer can learn about databases.
Mode SQL tutorialMode~15 hGood drilling ground for window functions and analytic patterns on real datasets.
SQLBoltinteractiverefQuick refreshers when a specific clause has gone rusty.
Build
feat: a query you are not ashamed of
Load a real public dataset into Postgres and answer ten genuine questions about it — each with a query using CTEs and window functions, each with its EXPLAIN ANALYZE output and a note on what the index did.
Done when
v0.3
Python for data
weeks 13–20 · ~90 h
The glue language of the field. Enough software engineering to write pipelines other people can maintain, and enough dataframe fluency to move data without a cluster.
CourseTimeWhy it's here
Data Engineering Zoomcamp — ingestionDataTalks.Club~40 hIngestion, APIs, batch loading and the Python patterns the field actually uses. Follow the repository week by week.
DuckDB documentationDuckDB~25 hAn analytical database that runs in-process. Most “big data” problems below a terabyte are DuckDB problems, and knowing that saves employers a fortune.
Polars user guidePolars~25 hModern dataframes with lazy evaluation and a query optimiser — the concepts transfer straight to Spark.
Build
feat: ingest, transform, load
A Python pipeline that pulls from a public API, handles pagination and rate limits, validates the payload, and lands it in Postgres idempotently — rerunnable without duplicating a single row.
Done when
v0.4
Databases from the inside
weeks 21–30 · ~110 h
Stop treating the database as a black box. The engineers who are trusted with the hard problems are the ones who know what is happening underneath.
CourseTimeWhy it's here
CMU 15-445 — Database SystemsCarnegie Mellon · Andy Pavlo~70 hStorage, buffer pools, B+ trees, join algorithms, concurrency control, recovery. Lectures, notes and projects all public. The best database course in existence, free.
PostgreSQL documentationPostgreSQL~20 hRead the chapters on indexes, the planner and MVCC properly. Unusually well-written for a manual.
CMU 15-721 — Advanced Database SystemsCarnegie MellonrefColumnar storage, vectorised execution, modern OLAP internals. Take it after 15-445 if the field grabs you.
Build
feat: prove you understand the engine
Complete at least two of the 15-445 projects, and write up one investigation of your own: take a slow query on a large table and drive it to fast, documenting every hypothesis you tested and discarded.
Done when
v0.5
Pipelines and orchestration
weeks 31–40 · ~110 h
The step that turns scripts into infrastructure: scheduling, dependencies, retries, backfills, and knowing what happened when something failed at 3 a.m.
CourseTimeWhy it's here
Apache Airflow documentationApache~40 hThe industry default. DAGs, operators, scheduling semantics, backfills, and the concepts every orchestrator shares.
Dagster documentationDagster~20 hThe asset-oriented alternative. Worth knowing because it reframes pipelines as data products rather than tasks.
Start Data Engineeringblog~10 hPractical write-ups on pipeline design and testing from someone doing the job.
Build
feat: it runs without you
Orchestrate your v0.3 pipeline: scheduled, dependency-aware, retrying on transient failure, alerting on real failure, and able to backfill a month of history without hand-holding.
Done when
v0.6
Warehouse and modelling
weeks 41–48 · ~90 h
Where data engineering meets the business. Modelling is the part that decides whether anyone can actually answer a question with your warehouse.
CourseTimeWhy it's here
dbt documentationdbt Labs~35 hModels, refs, tests, incremental strategies, snapshots. dbt is the field's transformation standard and its docs teach the discipline, not just the tool.
dbt Learn coursesdbt Labs · free~30 hThe official free courses. Do dbt Fundamentals, then the modelling and testing tracks.
Data Engineering Zoomcamp — warehouseDataTalks.Club~25 hThe data-warehouse and analytics-engineering modules, including partitioning and clustering.
Build
feat: a warehouse someone can use
Model your ingested data properly — staging, intermediate and mart layers, dimensional models with surrogate keys, tests on every source, and documentation generated from the project.
Done when
v0.7
Streaming and scale
weeks 49–58 · ~110 h
Batch covers most of the work. Streaming covers the rest — and distributed processing is where the interview questions get hard.
CourseTimeWhy it's here
Apache Kafka documentationApache~40 hTopics, partitions, consumer groups, offsets, delivery semantics. The design section is worth reading twice.
Apache Spark documentationApache~45 hThe programming guide and the SQL/DataFrame guide. Understand shuffles and partitioning or Spark will punish you in production.
Build a streaming path alongside your batch path — events into Kafka, processed with consumer semantics you chose deliberately — and reconcile the two. Explaining where they disagree is the real exercise.
Done when
v0.9
Reliability and data quality
weeks 41–66 · alongside · ~50 h
Runs in parallel from v0.6. Nobody trusts a pipeline that has silently been wrong for a month, and quietly wrong data is the field's characteristic failure.
CourseTimeWhy it's here
Great ExpectationsGX~20 hDeclarative data validation — expectations, suites, and failing a run before bad data reaches a dashboard.
dbt documentation — testsdbt Labs~15 hGeneric and singular tests, plus freshness. The cheapest data-quality win available.
Start Data Engineeringblog~15 hTesting strategies, idempotency and pipeline design patterns, written from practice.
Build
chore: fail loudly, not silently
Add validation gates to every pipeline you own: schema checks, volume anomaly detection, freshness SLAs, and an alert that names the specific expectation that broke.
Done when
v1.0
Capstone
weeks 59–66 · ~100 h
One end-to-end platform, public and documented. Data engineering portfolios are judged on whether the thing runs and whether you can explain your trade-offs.
CourseTimeWhy it's here
Data Engineering Zoomcamp — capstoneDataTalks.Club—The course ends in a project with published evaluation criteria. Use them as your bar even if you never submit.
roadmap.sh — data engineerreferencerefA last gap-check against the field's expected surface area before you call yourself job-ready.
dbt documentationdbt LabsrefReference while you build. You are not learning new tools now.
Build
release: v1.0
A complete platform on one real dataset: ingestion, orchestration, a modelled warehouse, quality gates, and a dashboard someone would actually use — with a written architecture decision record explaining every choice.
Done when
Reference shelf
Not part of the sequence. Reach for these when a specific need appears.
ResourceUseWhat it is
Use The Index, LukefreerefThe first thing to open when a query is slow and you do not yet know why.
CMU 15-445free lecturesrefStays useful long after v0.4. The lectures on concurrency and recovery reward rewatching.
DuckDBdocsrefYour default for any analysis under a terabyte. Learning when not to distribute is a senior skill.
roadmap.sh data engineerreferencerefA visual gap-check of the field's surface area. Use to audit, not to sequence.
Start Data EngineeringblogrefPractical, opinionated write-ups on the problems that appear once pipelines meet reality.