Data engineering

Stage 1 of 8 · 8 lessons · ~4 weeks

What data engineers do

Learn the data lifecycle, the main pipeline patterns and the Python you need to pull data from files, databases and APIs reliably, with a local setup to practise on.

Start: The data engineer's job

Lessons· one lesson for each topic, in this order

  1. 1The data engineer's job
  2. 2The data lifecycle
  3. 3Batch and streaming
  4. 4ETL and ELT
  5. 5Ingestion: full loads, incremental loads and CDC
  6. 6Python for pipelines
  7. 7Ingesting from APIs
  8. 8A local practice setup

Do this

  • Write down the five lifecycle stages and one tool for each.
  • Install Python, Git, VS Code, Docker and DuckDB, and run PostgreSQL in a container.
  • Choose one public dataset or API you will reuse in every stage.
  • Write an ingestion script that handles pagination, retries and rate limits, and stores raw files by date.
  • Rerun the script for the same day and confirm the result is identical.
  • Push the code with a README that explains how to run it.

Start with· follow one of these

Keep handy

Also worth your time

Before moving on: A Git repository with a Python script that pulls data from a public API or source database, saves the raw data as dated files and loads a cleaned table into DuckDB or PostgreSQL, with logging and a README.

Tauseef's advice
Do not rush past this stage to Spark and Kafka. Most real data engineering work is careful ingestion and clean SQL, and the people who get hired can explain why a pipeline is safe to rerun. Pick one dataset now and keep using it: by the end you will have a portfolio project instead of ten half-finished tutorials.

Mark this stage as not done?