Syllabus
Five tracks, worked top to bottom. Each topic has a test attached, and it moves to “From memory” only when I pass that test by hand, without an assistant.
Hands
The things interviewers ask cold. Everything here gets typed, not generated.
Git, including the recovery commands
Branching, rebasing, bisecting and undoing a mistake from the reflog.
Done when: Untangle a deliberately broken branch in a terminal, start to finish, with no notes.
Queued
Shell and Docker
Pipes, permissions and processes, then images, layers, volumes and Compose.
Done when: Write a Dockerfile and a Compose file for a small pipeline from a blank editor.
Queued
Python by hand
Data structures, iterators, typing, PEP 8 and the standard library.
Done when: Solve ten small problems in plain Python with the linter and tests passing first time.
Queued
Object-oriented design
Classes, interfaces, composition and the SOLID rules, by name and by example.
Done when: Refactor a script into classes and explain each rule it now follows, out loud.
Queued
Data structures and complexity
Hash maps, heaps, sorting and Big O, at the level a data engineering screen asks.
Done when: Finish a timed set of medium problems and state the complexity of each answer.
Queued
SQL, past the comfortable part
Window functions, recursive queries, reading a query plan and choosing an index.
Done when: Take a slow query, read its plan, and make it faster for a reason I can explain.
Queued
Data engineering core
The ideas under the tools, so the answers still hold on a platform I have not used.
Data modelling
Normal forms, star schemas, slowly changing dimensions and layered lakehouse models.
Done when: Model one messy business domain three ways and argue for one of them.
Queued
Spark internals
Partitions, shuffles, join strategies, skew and what the physical plan is telling me.
Done when: Diagnose a slow job from its plan and the Spark UI, then fix it and show the difference.
Queued
Pipeline design
Incremental loads, idempotency, late data, change data capture and schema evolution.
Done when: Design a pipeline on a whiteboard and survive questions about what happens when it reruns.
Queued
Batch against streaming
Event time, watermarks and delivery guarantees, and when streaming is not worth it.
Done when: Build the same small feed both ways and write up which one I would run.
Queued
Testing, data quality and CI
Unit tests for transforms, data checks that fail loudly, and a pipeline that runs them.
Done when: A repository where a bad row or a bad commit is stopped before it lands.
Queued
Storage formats and one cloud, properly
Parquet, table formats and the storage, compute and identity pieces of a single cloud.
Done when: Explain what happens on disk when a table is updated, then deploy a small stack unaided.
Queued
Java for pipelines
Collections, generics, streams and the build tooling around a pipeline codebase.
Done when: Write and test a transform in Java without the assistant filling in the types.
Queued
Foundry
The platform I work on daily, learned as a whole product instead of the corner I use.
Foundry pipelines
Transforms, incremental computation, lineage, health checks and compute tuning.
Done when: Rebuild a batch pipeline as incremental and explain every case where it falls back.
Queued
Ontology and applications
Object types, links, actions and functions, and the apps built on top of them.
Done when: Take a dataset to a working operational app that changes data through an action.
Queued
Foundry certification
The vendor's own exam, as an outside check on the two topics above.
Done when: Pass it.
Queued
Analytics
The degree I actually hold, refreshed so it is a strength in the room and not a line on a page.
Statistics that get used
Distributions, sampling, hypothesis tests and regression, with the assumptions attached.
Done when: Review a published analysis and list what it can and cannot claim.
Queued
Analysis that answers a question
Framing the question, choosing the measure, and a chart that makes one point.
Done when: One public dataset, one question, one page a stranger can act on.
Queued
Getting hired abroad
Turning the tracks above into an offer in another country.
Data system design interviews
Requirements, estimates, a design, its failure modes and its cost, in forty minutes.
Done when: Five mock designs recorded and reviewed, each one better structured than the last.
Queued
A capstone built by hand
One end-to-end project in a public repository: ingestion, modelling, tests and a write-up.
Done when: A stranger can clone it, run it, and read why each decision was made.
Queued
Telling the work
Six projects as short stories: the problem, my part, the trade-off and the result.
Done when: Each one told in two minutes without notes, and again in five with the detail.
Queued