đ§ Cognitive Drills: train the engineerâs thought process
Why
Knowledge is cheap (AI can recite it). What gets you hired and promoted is how you think: predicting behavior, reasoning under uncertainty, finding root causes, and making trade-offs explicit. These drills train that deliberately.
The 14 drills
| # | Drill | How | Example |
|---|---|---|---|
| 1 | Predict â Verify â | Before any experiment, write a prediction with numbers. Run it. Explain the gap | âHalving the Hikari pool from 20 â 10 will raise p99 from 40 ms to ~?â |
| 2 | Feynman teach-back | Explain a concept in 3 min, out loud, no notes; record it; note where you stumbled | âExplain MVCC to a juniorâ |
| 3 | Blank-page design | Design a system from memory on paper in 20 min, then compare with references | âDesign Kafkaâ |
| 4 | Constraint flip | Take a finished design and change one constraint: 100Ă traffic, strong consistency, ½ budget, multi-region, 10 ms latency | âOrbit engine with 1M runs/s?â |
| 5 | Pre-mortem | âItâs 6 months later and this failed badly. Why?â List 10 causes, rank them, mitigate the top 3 | Before each Orbit version ships |
| 6 | Symptom â hypotheses | Given symptoms only, write 3â5 ranked hypotheses + the cheapest test for each | âp99 spikes every 30 s, CPU flatâ |
| 7 | Reverse engineering | Read a productâs behavior/API and infer its architecture before reading its engineering blog | Discord message storage, Stripe idempotency |
| 8 | Trade-off debate | Write the best argument for and against an option, then decide | âKafka vs Postgres queue for tasksâ |
| 9 | Fermi estimation | 5-minute order-of-magnitude estimates with explicit assumptions | âTokens/day for 10k tenants Ă 50 runsâ |
| 10 | Code archaeology | Read unfamiliar source, draw the call graph, and explain one design decision | ThreadPoolExecutor.execute() |
| 11 | Compression | Summarize a chapter/paper in 5 bullets, then in 1 sentence | DDIA ch. 7 |
| 12 | Transfer | Apply an idea from domain A to domain B | âKafkaâs HW idea â Orbitâs safe-to-archive markerâ |
| 13 | First-principles derivation | Derive why a mechanism must exist from the failure it prevents | âWhy does Raft need terms?â |
| 14 | Self-review after 7 days | Reread your ADR/code from last week as a critical reviewer; write 3 critiques | Every Sunday |
Routine
- Daily (15 min): 1 PredictâVerify during Build time + 1 Fermi or teach-back
- Weekly (60 min, Saturday): Blank-page design + Constraint flip on that weekâs topic
- Per Orbit version: Pre-mortem before, self-review after
Drill log
| Date | Drill | Topic | Prediction / claim | Reality / critique | Lesson |
|---|---|---|---|---|---|
Prompt bank: symptom â hypotheses (drill 6)
- p99 latency spikes every ~30 s; CPU and QPS flat
- Kafka consumer lag grows only for 1 of 12 partitions
- After a deploy, 1% of requests 502 for ~20 s
- Postgres CPU 90%, the same query count as yesterday
- Memory of a Go service grows 50 MB/hour, never drops
- A Java service with virtual threads has lower throughput than with platform threads
- The LLM gateway shows TTFT doubling at 3 pm daily
- RAG answers got worse after re-ingesting the same documents
- An agent occasionally performs the same tool action twice
- gRPC traffic all goes to one of 5 pods