Phase 7 — Production & Mastery (M12–M13)¶
This is the payoff phase. Everything from M1 to M11 was buildup; M12 and M13 are where you become what the pitch says. By the end of this phase you have merged a non-trivial patch into a major C open-source project, you can talk about how the pros write C without hedging, and you have at least one war-story-worthy public artifact — a blog post, a talk, or a bug hunt writeup. The goal is not “more knowledge.” It is credible signal.
The M13 pitch, again, as a mantra: “I write C that ships in production — from SIMD-accelerated ML inference kernels to multi-threaded network services — and I can debug someone else’s segfault at 2 AM without flinching.” Everything below is graded against that sentence.
The two-month arc¶
The first month (M12) is about ingesting production C at scale and preparing your first PR. The second month (M13) is about landing that PR, writing the artifact, and mapping your next role. Both months are 10–15 h/week. If you skip the PR gate, you did not finish this roadmap.
Month |
Weeks |
Focus |
Deliverable |
|---|---|---|---|
M12 |
W1 |
Read |
Repo notes in |
M12 |
W2 |
Read Valkey |
Repo notes in |
M12 |
W3 |
Static analysis + fuzzing your gemm_bench and quantize_ext repos |
clang-tidy clean + one libFuzzer harness |
M12 |
W4 |
Pick issue, comment on it, open draft PR |
Draft PR link |
M13 |
W1–2 |
PR review loop: iterate on maintainer feedback |
Merged PR (the hard gate) |
M13 |
W3 |
Write 2–3k-word technical post about the journey |
Published post URL |
M13 |
W4 |
study prep: role map, resume rewrite, 3 mock studies |
Role list, updated resume |
File map¶
# |
File |
What you get |
|---|---|---|
01 |
|
The four canonical codebases and the order to read them |
02 |
|
clang-tidy, cppcheck, oss-fuzz, GitHub Actions matrix |
03 |
|
CWE top-25 for C, real 2024–2026 CVEs, how bugs become CVEs |
04 |
|
Why “just recompile” fails, symbol versioning, semver for C |
05 |
|
How to find, scope, and land your first C PR |
06 |
|
15 talks and papers every serious C engineer has consumed |
07 |
|
Who hires heavy C in 2026 (global + India), how to decode the JDs |
08 |
|
Eight production disasters with sources — the folklore |
09 |
|
The final two deliverables: merged PR + public artifact |
Exit criteria — you cannot skip these¶
You are done with Phase 7 (and this roadmap) when every one of these is true. No self-grading loopholes.
You have a merged pull request in one of: Valkey, curl, llama.cpp, redis, PostgreSQL, ClickHouse, or an equivalently-serious C project. The PR must touch functional code (not a typo fix). Link committed to your
99_pre_mortem/wins.md.You have published a technical writeup of at least 2,000 words about one deep C concept from your own journey — cache blocking, GGML quantization, a CVE analysis, or your PR’s debugging story. Public URL committed.
You have run
clang-tidy,cppcheck, and one fuzzer (libFuzzer or AFL++) against your owngemm_benchorquantize_extrepo, and fixed every finding you can defend fixing.You can name three currently-active maintainers each in Valkey, llama.cpp, and curl, and describe their contribution style from memory.
You can walk through the SQLite architecture (VDBE → B-tree → Pager → OS interface) on a whiteboard without notes.
You have assessed at (or been rejected by) at least one company from
07_interview_and_role_map.mdand written the retro.99_pre_mortem/final_retro.mdexists, with the honest audit: what you can now do, what you still can’t, what you’d re-do if you started over.
Time budget (M12–M13 combined ≈ 96 h)¶
Bucket |
Hours |
Notes |
|---|---|---|
Reading production code |
24 |
~6 h/week for four weeks |
Static analysis + fuzzing |
8 |
Your own repos first |
PR work (find → land) |
30 |
Includes review-cycle wait time that you fill with reading |
Writeup |
12 |
Draft, revise, revise, publish |
study prep |
12 |
Role research + resume + 3 mocks |
Slack + retros |
10 |
Because life happens |
What “done” feels like¶
You should be able to open a stranger’s C repository — say, a small database or a network daemon — clone it, build it, find one bug or missing feature, and produce a defensible patch inside a weekend. Not “understand the code eventually.” Not “read a tutorial about it.” Ship the patch. That is the tell.
That instinct is the entire point of thirteen months. You built it, brother.
Return to ../README.md · Next: 01_reading_production_code.md