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 2: Links to All 7 Artifacts¶
Present them in a clean table or structured list. For each one: the artifact name, a one-sentence description of what it is, the link, and one honest sentence about the actual experience of building it.
Rung |
Artifact |
Link |
One Honest Sentence |
|---|---|---|---|
1 |
Complexity Audit ( |
[GitHub link] |
“Deriving merge sort’s recurrence for the first time made me realize I had never actually understood it, only memorized it.” |
2 |
Data Structure Library ( |
[GitHub link] |
“The hash map implementation broke in 3 different ways before I had a version I was confident in.” |
3 |
Algorithm Blog Posts |
[Hashnode/Dev.to profile] |
“The binary search post got 40 views; the merge sort post got 2. I published both.” |
4 |
LeetCode Journey ( |
[GitHub link] |
“It took until problem 60 for me to stop solving by feel and start solving by pattern.” |
5 |
Graph Showcase ( |
[GitHub link] |
“Dijkstra on real road data made the algorithm feel like it mattered for the first time.” |
6 |
DP Handbook ( |
[GitHub link] |
“Writing the interval DP chapter took 3x longer than any other pattern.” |
7 |
Codeforces Log |
[Codeforces profile] |
“Contest 3 was my worst — I submitted a wrong solution to A and panicked for 20 minutes.” |
Fill in your actual links and your actual honest sentences. These sentences are the soul of this section.
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 →