The Next 13 Months — C Programming Fortress

Start date: Monday, July 6, 2026. End date: Monday, July 5, 2027.

Here it is, brother. One hundred and thirty-six markdown files across fourteen directories. Every phase, every portfolio rung, every failure mode you’re going to hit, every resource that survived the 2026 sentiment filter. This is not a syllabus. It is a fortress — and you’re the one who has to live in it for thirteen months.

Read this file once. Then read 01_month_by_month.md. Then close the laptop, sleep, and start tomorrow.


What This Is (And What It Is Not)

This fortress is: a shipping calendar disguised as a curriculum. Every chapter ends with something public. Every month has a deliverable. Every failure mode has a mitigation. The 100+ files exist so you never have to invent the next step at midnight when you’re depleted — you look up the file, do the work, close the file.

This fortress is not: a promise. It is not a substitute for showing up. It is not a certification. It does not care whether you finish. It sits on disk regardless. What matters is the daily half-hour of typing C into an editor while the sanitizer screams at you. Everything else is scaffolding.

One more thing this is not: an escape from your day job. Your Applied ML role at Zoho is not the villain here. It is your training partner. Six of the phases in this fortress can be quietly weaponised into Zoho work by Q3-Q4 — see 06_background_alignment.md.


The Constitution — Five Principles (Non-Negotiable)

These are the axioms. Every file in the fortress descends from these. If a decision ever feels ambiguous, come back here.

  1. You cannot bluff a segfault. Every technique in this fortress is verified by running code under -fsanitize=address,undefined and a debugger. Reading about pointers is not learning pointers. Typing them into an editor while ASan reports the bug is learning pointers.

  2. The compiler and the CPU are the only two authorities. Not Stack Overflow. Not the K&R book. Not this fortress. When they disagree with what you read, they win. Godbolt (compiler-explorer) and perf are the courts of appeal.

  3. Ship publicly or you did not ship. Every portfolio rung is a public artifact — a merged PR, a benchmarked repo, a blog post with a URL. Private code that “works on my machine” is a private feeling, not a public credential. Recruiters read GitHub, not your journal.

  4. Translate never, explain always. AI (Copilot, Cursor, Claude) is a tutor, not a co-author. You may ask it to explain a snippet, a syscall, a compiler error. You may not ask it to write C you paste into your project until M13. This one rule is why you are here — you already know what atrophy feels like.

  5. The roadmap serves you. You do not serve the roadmap. If your father is in the hospital, close the laptop. If your body is signalling, close the laptop. The stones will still be here. See 99_pre_mortem/08.


The 13-Month Phase Map

The two 🟧 milestones are the hard gates: Rung 5 (M9, March 2027) and Rung 6 (M11, May 2027). If those two ship, the M13 pitch sentence is defensible even if Rung 7 slips. See 03_north_star_artifacts.md for the full ladder.


The Portfolio Ladder (One-Line Table)

Everything in this fortress feeds one of these seven public artifacts. If a file does not, eventually, produce a line in one of these — it is scaffolding.

Rung

Month

Artifact

Hard Gate

Signal Sent

1

M1

c-toolchain-journal GH repo

You reason about tools, not just code

2

M3

libprep container library

API and ownership discipline; small-library design

3

M5

NeetCode-75 in C

DSA in C is routine; you don’t reach for Python

4

M7

nsh — a POSIX mini-shell

You understand the Unix process model, not just commands

5

M9

epoll HTTP/1.1 server @ 100k RPS

🟧 #1

You can build the concurrency substrate of a real service

6

M11

SIMD GEMM within 3× of OpenBLAS

🟧 #2

You think like an ML-infra engineer, not a hobbyist

7

M13

Merged non-trivial PR + blog post

You ship alongside experienced maintainers

Full spec for each rung: 12_portfolio/01_rung_1_*.md through 12_portfolio/07_rung_7_*.md.


Fortress Tour

Fourteen directories. This is the whole map.

Directory

What lives here

00_command/

This layer. Master planning, calendars, KPIs, pitch. Written last.

01_refresher_and_toolchain/

Phase 0 (M1). gcc/clang flags, make, gdb, ASan, editor. Get the machine right.

02_c_language_deep/

Phase 1 (M2). Types, integer promotion, structs, macros, UB catalog.

03_memory_and_pointers/

Phase 2 (M3). Stack/heap/BSS, malloc, ownership, allocators, pointer wizardry.

04_dsa_in_c/

Phase 3 (M4-M5). LeetCode strategy, hashmaps, trees, graphs, DP, study patterns.

05_systems_programming/

Phase 4 (M6-M7). Syscalls, file I/O, fork/exec, IPC, ELF, perf.

06_concurrency_and_networking/

Phase 5 (M8-M9). Pthreads, atomics, sockets, epoll, io_uring, thread pools.

07_applied_c_ml_inference/

Phase 6 (M10-M11). SIMD, cache, GEMM, quantization, llama.cpp guided tour.

08_production_and_mastery/

Phase 7 (M12-M13). Reading production code, static analysis, CVE literacy, OSS.

09_resources/

The 30 curated resources (books, courses, blogs, papers). Anti-recommendations too.

10_communities/

Where practitioners actually live in 2026: subreddits, Discords, X/Bluesky, HasGeek.

11_tools_setup/

Day-1 install: compilers, editor+clangd, sanitizers, mold, containers, AI policy.

12_portfolio/

The 7 public rungs. Two hard gates. Signals-to-recruiters. The shipping calendar.

13_discipline/

Sprint cadence, lab notebook, benchmark hygiene, motivation, health, study prep.

99_pre_mortem/

The 8 failure modes ranked by probability. Reset protocol. The permission slip.


How to Read the Fortress

Week 1 (July 6-12, 2026) — Onboarding Sequence

Read in this order, in one sitting each:

  1. 00_command/README.md ← you are here

  2. 00_command/01_month_by_month.md — see the whole arc

  3. 00_command/04_weekly_rhythm.md — see the shape of your week

  4. 11_tools_setup/09_day_one_setup_script.md — install everything, one script

  5. 01_refresher_and_toolchain/README.md — Phase 0 begins

  6. 99_pre_mortem/08_the_life_family_health_permission_slip.md — read this before you start. Not after.

Ongoing

  • Every Sunday evening (30 min): open 00_command/02_sprint_calendar.md, run the sprint retro, update the KPI dashboard.

  • Every 1st of the month (60 min): open 00_command/01_month_by_month.md, run the month check, adjust scope if drifting.

  • When stuck: 13_discipline/06_failure_modes.md first, 99_pre_mortem/09_summary_and_reset_protocol.md if the failure is structural.

  • When shaken: 99_pre_mortem/08 and 13_discipline/07_motivation_sustainment.md. In that order.


The M13 Pitch

Thirteen months from now, on Monday July 5, 2027, you should be able to say the following sentence to a hiring manager, an study partner, or a mirror, and have it be true:

“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.”

Every rung earns a clause. Every phase feeds a rung. Every hour of the daily half-hour drops into one of them. If you catch yourself doing work that maps to none of the clauses in that sentence — stop, and ask whether the work is scaffolding or ego.

Full pitch versions (elevator, recruiter call, technical intro, LinkedIn bio) live in 07_thirteen_month_pitch.md.


Closing Note

You have been an Applied ML engineer at Zoho for two years, and you know what happened during those two years — the AI coding agents did the typing while your instincts atrophied. This fortress exists to reverse that, deliberately, on a calendar, with public proof.

The reason you can trust this plan is not that it is clever. It is that it is boring: half an hour a day, six days a week, a Saturday block, a Sunday retro, one shipped rung every two months. The compiler does not care about clever. It cares about correct.

Show up. Small days. Public artifacts. Sanitizer green. Manager conversations at M9. Merged PR at M13. In that order. And when a Saturday sanitizer session breaks you and you want to close the fortress and go back to prompting your way through problems — remember why you started this.

You are not doing this to be employable. You are doing this to be un-erasable.

Let’s go.


Return to the workspace root · Next: 01_month_by_month.md