Learn · 2 courses live or being written · 4 planned

Data engineering, one pattern at a time

Each course starts from a mistake real work produces – a query that runs but returns the wrong rows, a pipeline that drops events – shows why it happens, and ends with a fix you can practise.

Start here · SQL courseIntroduction to Databases and SQLStart →

Course 01 · Skill area 01 SQL & Querying · 24 lessons · 6 stagesLive

SQL course

Each lesson focuses on one SQL pattern, helping you write queries that return the results you expect. The lessons progress from basic to advanced, and every one comes with practice problems.

  1. Foundations3 lessons · P01–P03Filter your query results.Not started
  2. Summarising Data3 lessons · P04–P06Turn rows into totals that answer the right question.Not started
  3. Combining Data4 lessons · P07–P10Join tables without inventing or losing rows.Not started
  4. Real-World Data4 lessons · P11–P14Survive dates, strings, and types as they actually arrive.Not started
  5. Analytical & Sequence5 lessons · P15–P19Rank, compare, and read order across rows.Not started
  6. Advanced SQL5 lessons · P20–P24Reshape, recurse, and measure whole journeys.Not started
Lesson P07The LEFT JOIN that quietly becomes an INNER
The query
SELECT
c.customer_name,
o.order_id,
o.status
FROM customers AS c
LEFT JOIN orders AS o
ON o.customer_id = c.customer_id
WHERE o.status = 'paid'
ORDER BY c.customer_name, o.order_id;
After the LEFT JOIN, before WHERE7 rows
customer_nameorder_idstatus
Asha1001paid
Asha1005paid
Ben1002pending
Ben1006paid
Carla1003paid
Dev1004cancelled
EshaNULLNULL
A right-table filter in WHERE drops the unmatched rows you meant to keep: Dev and Esha disappear.

Every lesson is built like this: the mistake, then why, then the fix.

Read this lesson →

Course 02 · Skill area 04 · 24 modules · 6 tracks · 7 gates · Plan v2.0Being written · 4 of 24 modules live

Distributed data processing

Partitions, shuffles, clocks, state, delivery guarantees, and the incidents they cause. Each lesson starts from a failure a real pipeline produces, shows the mechanism behind it, and ends with a fix and its cost.

plan v2.0 · 2026-10-13 · 12 lessons live · 19 core + 5 advanced modules · 7 gates

  1. FoundationsF · F01–F04 · 4 coreRead
  2. Spark BatchS · S01–S06 · 6 corePlanned
  3. Kafka Event LogsK · K01–K04 · 4 corePlanned
  4. Streaming & Structured StreamingST · ST01–ST03 · 3 corePlanned
  5. Flink Stateful StreamingFL · FL01–FL04 · 4 advancedPlanned
  6. Integration & ArchitectureI · I01–I03 · 2 core + 1 advancedPlanned

Six tracks, a partial ordering – not one compulsory 24-module playlist. The report picks the smallest dependency-complete path, using your known engine where the plan allows either.

Tool tracks · Hands-on · One engine at a time

Hands-on tracks for one engine at a time, open to early-access members. Spark is open now.

Practice Pass includes any 3 tool tracks; Coached Pass includes all 5.

The catalogue

#CourseSkill areaStatusLessonsPractise now
01SQL courseSQLLive24320 problems
02Programming for Data (Python)PythonPlanned–85 problems · 5 scenarios
03Data Modeling & Storage DesignModelingPlanned–20 scenarios
04Distributed data processingDistributedBeing written4 of 24 modules15 scenarios
05Pipeline Orchestration & ReliabilityOrchestrationPlanned–5 scenarios
06System & Scenario JudgmentJudgmentPlanned––

One course per skill area. Levels are defined on the Skills page; the report tells you which lesson to read first.

Not sure where to start? Let the diagnosis order the lessons.

Assess SQL free. Your report lists the lessons to read, in the order that moves you forward.

Assess your SQL free →Start with the SQL introduction →