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 sqlite3.c amalgamation & first 10 chapters of doc/architecture.md

Repo notes in notes/sqlite/

M12

W2

Read Valkey src/server.c, networking.c, t_string.c, ae.c event loop

Repo notes in notes/valkey/

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

01_reading_production_code.md

The four canonical codebases and the order to read them

02

02_static_analysis_and_ci.md

clang-tidy, cppcheck, oss-fuzz, GitHub Actions matrix

03

03_secure_c_and_cve_literacy.md

CWE top-25 for C, real 2024–2026 CVEs, how bugs become CVEs

04

04_portability_and_abi.md

Why “just recompile” fails, symbol versioning, semver for C

05

05_contributing_to_oss_c.md

How to find, scope, and land your first C PR

06

06_the_c_expert_reading_list.md

15 talks and papers every serious C engineer has consumed

07

07_interview_and_role_map.md

Who hires heavy C in 2026 (global + India), how to decode the JDs

08

08_war_stories_the_hard_lessons.md

Eight production disasters with sources — the folklore

09

projects.md

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 own gemm_bench or quantize_ext repo, 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.md and written the retro.

  • 99_pre_mortem/final_retro.md exists, 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