Rung 8: The M9 Capstone

Month: M9 — last 2 weeks of April 2027 (April 13–27, 2027) Platform: GitHub (pinned to profile) + Dev.to or Hashnode + LinkedIn (abbreviated version) Hard Gate: No — but this is the rung that makes all the others coherent. It’s the frame around the picture. Without it, you have a collection of artifacts. With it, you have a story.


What It Is

A single public document — either a GitHub repository or a standalone blog post — that functions as the capstone narrative of your 9-month journey. It ties all 7 previous artifacts together into a coherent story of who you were, what you did, and who you are now.

The working title is: “9 Months of DSA: From ML Engineer Who Forgot CS to Competitive Solver”

You should customize the title. The point is that it captures the arc — a specific starting point, a specific endpoint, with the transformation made explicit.


Why Narratives Are Not Optional

The 7 previous rungs are evidence. This rung is the interpretation of that evidence. Evidence without interpretation is data without insight — it forces the reader to do the work of understanding what it means, which most readers will not do.

The capstone says: here is what I set out to do, here is the honest account of what happened, here is what I can demonstrate. A hiring manager skimming your GitHub, a Codeforces community member, a future version of yourself three years from now — all of them need the narrative to understand the context of the artifacts.

Writing the capstone is also the final exam of the 9 months. You cannot summarize a journey you didn’t actually take. The gaps will show.


The M9 Pitch Paragraph

This paragraph goes at the top of the capstone. Write it last, even though it appears first.

Draft (personalize completely before publishing):

I’m an applied ML engineer at Zoho with one year of industry experience. In 2026–2027, I spent 9 months rebuilding my CS foundations from scratch — not because I had to for a job switch, but because I wanted to understand the systems I work with at the level they actually operate. That meant deriving complexity from first principles, implementing data structures without libraries, solving 100+ LeetCode problems with explicit pattern annotation, building graph algorithm demonstrations on real data, writing a personal dynamic programming handbook, and competing in rated Codeforces contests. I’m now at Codeforces Pupil (≥ 1200) and can solve Div. 2 B problems reliably. Here’s the evidence.

This paragraph should be true. Every word of it should be defensible. Do not inflate it. Do not deflate it.


What the Capstone Document Contains

Section 1: The Starting Point

Write 2-3 paragraphs about where you were in July 2026. Be honest about your actual technical state: what you knew, what you had forgotten, what you assumed you understood but didn’t. This is not self-deprecation — it’s the starting coordinate that makes the trajectory visible.

Questions to answer:

  • What was your CS foundation actually like when you started?

  • What made you decide to do this?

  • What were you afraid wouldn’t work?



Section 3: The Numbers

This is the stats section. Present it plainly without editorializing.

LeetCode Stats (as of April 2027):
  Total solved: [X]
  Easy: [X] | Medium: [X] | Hard: [X]
  Hard percentage: [X]%
  Contest participation: [X] contests

Codeforces Stats (as of April 2027):
  Handle: [your handle]
  Current rating: [X]
  Max rating: [X]
  Contests participated: [X]
  Problems solved on CF: [X]

GitHub:
  Public repositories from this journey: 6
  Total commits across journey repos: [X]
  Stars (if any): [X]

Do not inflate these numbers. They speak for themselves. If your numbers are lower than expected, leave them accurate and address it honestly in the narrative.


Section 4: The 3 Problems You’re Most Proud Of

Pick 3 problems — from LeetCode, Codeforces, or any source — that you solved and feel genuinely proud of. Not the hardest you solved. The ones where the solution clicked in a way that mattered to you.

For each:

  • Problem name and link

  • Why it matters (2-3 sentences)

  • What you learned that you didn’t know before

These 3 problems are the most personal part of the capstone. They reveal your actual taste as a problem solver — what kinds of problems you find beautiful, what kinds of solutions feel right to you. That’s a more meaningful signal than any aggregate stat.


Section 5: What I’d Tell Myself at Month 1

Write this section last. It requires the full 9 months of context to be true.

Answer at least 3 of these questions (in your own words, not as a list):

  • What fear was completely wrong?

  • What difficulty was completely real and you should have taken it more seriously?

  • What practice habit made the most difference?

  • What resource or approach turned out to be a waste of time?

  • What would you tell someone starting this same journey tomorrow?

Be direct. “The first month will feel like you’re building on sand” is more useful than “stay consistent and believe in yourself.”


Section 6: What’s Next

This is optional but honest. If you know what comes next in your technical development, say it. If you don’t, that’s also fine to say.

Examples:

  • “I’m aiming for Codeforces Specialist (1400) over the next 6 months.”

  • “I want to apply these foundations to understanding the ML systems I work on at Zoho.”

  • “I’m going to spend 3 months going deep on systems programming before returning to competitive programming.”

Do not fabricate ambition. If you’re taking a break, say so. Authenticity is the signal.


Acceptance Criteria

  • Published publicly on GitHub (repo pinned to profile) AND on Dev.to or Hashnode (cross-posted)

  • All 7 artifact links are present, live, and functional

  • The M9 pitch paragraph is present and accurate

  • The 3 proud problems section is filled in with genuine reflection (not “I’m proud of this because it was hard”)

  • The “what I’d tell myself at Month 1” section is honest — not aspirational, not self-congratulatory

  • Codeforces profile link is included and the profile is public

  • LeetCode stats section is accurate (use the LeetCode profile page stats)

  • Document does not contain any claim that cannot be verified via the linked artifacts

  • A shorter version (3-4 paragraphs + links table) is posted on LinkedIn


What to Avoid

Do not write: “I’ve mastered dynamic programming.” Do write: “I can identify and apply 7 DP patterns, implemented each from scratch in my handbook, and solved 25 DP problems with pattern annotations.”

Do not write: “This journey transformed me.” Do write: “I can now solve Codeforces Div. 2 B problems in under 25 minutes, which I could not do 9 months ago.”

Do not write: “I’m now confident in my CS foundations.” Do write: “I can derive time complexity from first principles, implement data structures without libraries, and recognize algorithmic patterns in unfamiliar problems.”

The difference between these pairs is specificity. Specific claims are verifiable. Vague claims are marketing. This document should contain no marketing.


Signal It Sends

Every other rung in this portfolio demonstrates a technical skill. This rung demonstrates something rarer: the ability to finish, reflect, and communicate what you learned. Very few people who start a structured self-improvement project complete it and write about it publicly.

The capstone is not the climax of the technical work — that was the Codeforces rating and the DP handbook. The capstone is the proof that this was a journey, not a grind. It’s the difference between someone who did 100 pushups and someone who can explain why they trained, what broke, what worked, and what they’d do differently. Both are strong. Only one is interesting to talk to.


Month M9 (Last 2 Weeks) Timeline

Day

Goal

April 13

Write Section 1 (starting point) — raw draft, 1 hour

April 14

Compile all artifact links, verify they’re all live and public

April 15

Fill in Section 2 (artifact table with honest sentences)

April 16

Fill in Section 3 (stats from LeetCode, Codeforces, GitHub)

April 17-18

Write Section 4 (3 proud problems) — take your time here

April 19

Write Section 5 (what I’d tell myself)

April 20

Write the M9 pitch paragraph (having written everything else, this is now easy)

April 21

Full edit pass — remove anything that’s vague, add links everywhere

April 22

Publish on GitHub + Dev.to/Hashnode

April 23

Write LinkedIn version (3-4 paragraphs + links) and post

April 24-27

Buffer for final contest, final fixes, or just rest


Navigation: ← Rung 7: Codeforces Rating | Portfolio README | Ladder Summary Table →