PLAN — 26 Weeks, 22 Hours a Week

⚠ Personalized allocation is LOCKED pending diagnostic scores

Everything on this page marked FIXED is decided and will not change. Everything marked PENDING is deliberately blank, because writing it now would mean guessing your level — and a plan optimized for a person who does not exist is worse than no plan.

Unlock it by taking the baseline diagnostic and reporting your scores. Three hours. It is the single highest-leverage thing you can do this week.


Table of Contents


What Is Decided and What Is Not

Decided nowWhy
Total budget✅ FIXEDYou told me: 22h/week × 26 weeks
Phase structure✅ FIXEDFollows from the loop's shape, not from your level
Milestone dates✅ FIXEDDiagnostics, take-homes and mocks are a schedule, not a dial
Weekly rhythm✅ FIXEDThe cadence that makes 22h sustainable for six months
Invariant rules✅ FIXEDCompletion criteria, spaced repetition, scoring discipline
Hours per track⏸ PENDINGDepends entirely on your L0–L3 profile
Which topics get depth vs. maintenance⏸ PENDINGSame
Week-by-week content⏸ PENDINGSame

The Budget

2h × 5 weekdays  +  6h × 2 weekend days  =  22 h/week
22 h/week × 26 weeks                      ≈  570 hours

Six months is enough to do this properly rather than to triage. Concretely, what 570 hours buys that 12 weeks would not:

  • Both 48-hour take-homes plus both deep-dive interrogations (Track E generalizes rather than being memorized)
  • A real portfolio artifact with measured numbers, built without a clock
  • Track D from first principles rather than from vocabulary
  • Six diagnostic re-tests, so the plan is corrected five times rather than never
  • Enough spaced repetition for month-one material to survive to month six

FIXED: The Six Phases

Each phase has an exit criterion. You do not advance on the calendar; you advance on the criterion. If a phase runs long, the following phases compress — and the milestone dates below are the compression budget.

Phase 1 — Calibrate (weeks 1–2)

Establish ground truth and build the daily habits. Baseline diagnostic, first harness runs, first design written, story-bank extraction begins, Charter and engineering-blog reading done and recorded.

Exit: diagnostic scored, levels assigned, PLAN.md unlocked, one full gated harness run completed, one design artifact written.

Phase 2 — Foundations (weeks 3–8)

Rebuild whatever the diagnostic says is weak. Heaviest phase for Tracks A and B. Track C's mandatory designs (d01 job scheduler, d02 distributed KV). Track D begins from the roofline derivation. Weekly mocks start.

Exit: time-to-first-gate ≤ 12 min consistently · d01 and d02 written and survived critique · the decode-bandwidth derivation reproducible from memory · 8+ stories in the bank.

Phase 3 — First Take-Home (week 8, inside Phase 2)

The 48-hour webhook build, on a real clock, followed by the deep-dive interrogation.

Exit: shipped, frozen, interrogated, scored. Every undefendable answer in review/.

Phase 4 — Depth (weeks 9–16)

Track D to full depth at both altitudes. The remaining ten designs. Track G begins. Portfolio artifact starts. Back-to-back mocks become routine.

Exit: "design ChatGPT" at hire (staff) in a scored mock · 8+ designs written · 3+ Track G tasks scored · portfolio artifact producing real numbers.

Phase 5 — Second Take-Home and Generalization (week 16)

Different domain, same 48-hour discipline, second interrogation. This is where Track E stops being memorization.

Exit: second project shipped and interrogated, with the score better than the first.

Phase 6 — Loop Readiness (weeks 17–26)

Full-loop simulations monthly. Every track to maintenance except the weakest. Behavioral and forward-looking answers rehearsed to fluency. Numbers sheet memorized. The portfolio artifact finished and written up.

Exit: two consecutive full-loop simulations at hire (staff) or better in every round.


FIXED: The Milestone Calendar

WeekMilestoneOutput
1Baseline diagnosticLevels → PLAN.md unlocked
1Charter + engineering-blog reading, verifiedresearch/company-brief.md [VERIFY] slots filled
2First full gated harness runTiming log entry
2Design d01 — job schedulerdesigns/d01-*.md + critique
3Weekly scored mocks beginmocks/01-*.md
4Diagnostic re-test 1Rebalance
6First Track G timed runScored transcript
8Take-home 1: webhook delivery, real 48h clockprojects/webhook-delivery/
9Deep-dive interrogation 1Scored, 45 min, no notes
9Diagnostic re-test 2Rebalance
10Portfolio artifact starts
12Technical opinion essay v1projects/technical-opinion.md
13Diagnostic re-test 3Rebalance
14All 12 designs writtendesigns/ complete
16Take-home 2: different domain, real 48h clockNew project dir
17Deep-dive interrogation 2Scored
17Diagnostic re-test 4Rebalance
17Full-loop simulations begin (monthly)5 rounds, ~4h
20Portfolio artifact complete with benchmark
21Diagnostic re-test 5Rebalance
22Numbers sheet memorized, tested cold
25Diagnostic re-test 6Final calibration
26Final full-loop simulationGo / no-go read

Weeks 8 and 16 are the immovable ones. Everything else can shift a week; those cannot, because they need a clear 48-hour block booked in advance and they gate the deep-dive drills that follow them.


FIXED: The Weekly Rhythm

The shape that makes 22 hours sustainable for six months. Track content is pending; the shape is not.

SlotWhenDurationWhat
Daily anchorEvery weekday25 minGate-1 sprint (Track A) + review queue
Weekday blockEvery weekday~1h 35mThe week's primary track focus
Saturday deep blockSat4hFull gated run, or a design + critique, or Track D depth
Saturday buildSat2hProject work
Sunday mockSun1hThe week's scored mock, cold and recorded
Sunday debriefSun30mScore it, log it, feed review/
Sunday behavioralSun45mStory work + forward-looking rehearsal
Sunday reviewSun20mWeekly review ritual + STATE.md
Sunday buildSun3h 25mProject work

Two structural decisions worth naming:

The daily anchor is non-negotiable and deliberately small. Twenty-five minutes survives a bad day. The single biggest risk to a six-month plan is not a bad week — it is the bad week that becomes a bad month because the habit broke. A 25-minute floor is one you can hit while travelling, while sick, or on a launch week.

Behavioral gets a fixed weekly slot from week 1, not a cram in week 24. Reported sources name the values round as the leading failure mode at a peer lab, and it is the thing senior engineers most reliably under-prepare because it does not feel like real work.


FIXED: The Invariant Rules

These do not change regardless of your diagnostic profile.

  1. Reading never completes anything. Only a passed drill, a working artifact, or a scored mock does.
  2. Every miss enters review/ at the 1-day interval and resurfaces at 1, 3, 7, 21 days.
  3. One scored mock every week. From week 9, at least one back-to-back per month. From week 17, at least one full-loop per month.
  4. Score down when unsure. A generous rubric is the one thing that guarantees you fail the real loop.
  5. Every performance claim has a script. If a note asserts a number, there is a file that measures it.
  6. STATE.md updated at the end of every session. Assume the next session starts cold and reads only that file.
  7. Commit at every milestone, with a real message.
  8. Re-run Phase 0 research at each diagnostic. If something newer and better-sourced than the source report appears, supersede it.
  9. Re-run the coverage audit at each diagnostic. No row goes unaddressed.

PENDING: Hour Allocation

Filled in from your diagnostic. The baseline column is the starting point; the actual column is computed from your levels per diagnostics/RUBRIC.md.

TrackBaselineYour levelYour shareHours (of 570)
A — Coding under time pressure25%
B — Python internals12%
C — Distributed systems design15%
D — ML & inference infra20%(assume L0/L1)
E — Take-home & deep dive12%not measurable in 3hfixed~68
F — Behavioral10%
G — Agentic coding6%first measured wk 6

Track E is fixed because it is two 48-hour blocks plus two interrogation drills — a schedule, not a dial.

Three of seven tracks are unmeasured by the baseline, by design: a three-hour battery cannot measure a 48-hour take-home. So the first month's allocation for D, E and G is provisional and gets its first real correction at the week-4 re-test.


PENDING: Week-by-Week

Twenty-six rows, generated once the levels are known. Each row will carry: the primary track, the specific drills, the milestone if any, and the mock type.

Not written yet, deliberately. See the banner at the top of this file.


How Rebalancing Works

At each of the six diagnostic re-tests:

  1. Take the battery cold; score it; add the rows to diagnostics/scores/.
  2. Recompute levels per the rubric.
  3. Any track that reaches L3 drops to its L3 share; the freed hours go to the lowest-level track.
  4. Re-run the coverage audit and the Phase 0 search.
  5. Rewrite the remaining week-by-week rows.

This is the mechanism that stops a six-month plan from becoming a six-month ritual. A plan that is never corrected is a plan that stopped being about you somewhere around week five.


If the Timeline Compresses

If an interview lands earlier than week 26, the triage order is fixed in advance so the decision does not have to be made under pressure:

Weeks leftKeepDrop
12Tracks A, C, D, F + take-home 1Take-home 2, portfolio artifact, half of Track G
6Track A daily, Track D "design ChatGPT", Track F written answers, take-home 1Everything else
2Gate-1 sprints daily, forward-looking answers, numbers sheet, one full-loop simAll new content

In the 2-week case, learn nothing new. Rehearse what you have, sleep properly, and take the loop. Cramming new material in the final fortnight reliably costs more in fluency and confidence than it adds in coverage.


References