Portfolio Ladder: Signal-per-Unit-Effort

The portfolio is not a resume. It is a credibility proof stack that a hiring manager can find in 90 seconds of Googling your name.

The rule is signal-per-unit-effort. A 500-line matmul writeup with real numbers and a roofline plot beats a 5000-line “LLM from scratch” tutorial that adds nothing to the existing corpus.


The eight rungs

#

Artifact

Effort

Signal

Aligned phase

1

CPU tiled matmul writeup

~2 wks

Low-mid

Phase 0

2

SGEMM ladder repo

~4 wks

Mid

Phase 2

3

Triton FA2 impl + blog

~4 wks

Mid-high

Phase 3

4

Quant bake-off report

~3 wks

High

Phase 5

5

Mini inference engine (~800 LOC)

~8 wks

High

Phase 4 capstone

6

First merged PR to a major engine

~4-12 wks

Very high

M9+

7

Enterprise reference architecture

~4 wks

Very high

Phase 7

8

Sustained OSS contribution (own an area)

6+ months

Job offer tier

M12+

Each rung teaches you something. Rungs 1-5 build technical fluency. Rungs 6-8 build social proof that you are a member of the community, not just a lurker.


Where to post each artifact

Every artifact ships to THREE places:

  1. GitHub repo — the code, README, benchmark scripts. github.com/<you>/<project>. This is the primary artifact.

  2. Blog post — the narrative explaining what you did and what you learned. Substack, Ghost, or your own site. Write for the version of you six months ago.

  3. Social distribution — announce on r/LocalLLaMA (rungs 4, 5, 6) or GPU MODE Discord (rungs 2, 3), and tweet the blog with a good hook (all rungs).

LinkedIn: for rungs 5-8 only. Rungs 1-4 are for the technical audience, not recruiters. Once you have the mini-engine (rung 5), then update LinkedIn.


The “past examples” pattern

Every rung has a public example you should study before writing your own:

  • Rung 2 (SGEMM): Simon Boehm https://siboehm.com/articles/22/CUDA-MMM. Literally the model. Beat him if you can.

  • Rung 3 (Triton FA2): the official Triton tutorial FA2 kernel; the ThunderKittens FA2 in ~100 lines.

  • Rung 4 (Quant bake-off): r/LocalLLaMA weekly quant threads from 2024-25 by ikawrakow and others.

  • Rung 5 (mini engine): Karpathy’s llm.c, meta-pytorch/gpt-fast, punica-project, mistralrs.

  • Rung 6 (first PR): search PRs merged from unknown contributors in vLLM 2024-25 by browsing the “hacktoberfest 2024” tag or issues tagged “good first issue” that closed.

  • Rung 7 (reference architecture): Anthropic’s engineering blog on serving Claude, Character.AI’s writeup on serving 20k QPS, the AWS “Deploy Llama-3 on SageMaker” whitepaper style.

  • Rung 8 (sustained OSS): look at who has 50+ merged PRs to vLLM. Those people are the pattern.

Don’t reinvent. Take the pattern, improve one dimension, publish.


Cadence

Do not batch these. One rung per phase. The whole point is to publish while you learn, not at the end.

Month

Rung to ship

M2

Rung 1: CPU matmul writeup

M4

Rung 2: SGEMM repo

M6

Rung 3: Triton FA2

M8

Rung 5: Mini-engine v0.1 (early)

M9

Rung 6: First PR opened

M10

Rung 4: Quant bake-off

M11

Rung 5: Mini-engine v1.0

M12

Rung 7: Reference architecture doc

M13+

Rung 8: Sustained OSS

Nine deliverables in 13 months. One every ~6 weeks. This is doable if you protect the time and stop tutorial-hopping.


The anti-patterns

  1. “Yet another LLM from scratch” repo. Everyone has one. Yours will not stand out unless you add something new (a custom kernel, an unusual optimization, a killer benchmark).

  2. “I fine-tuned Llama on X dataset.” Not inference eng. Skip.

  3. Blog posts without numbers. Every rung must have a table of measurements. No hand-waving.

  4. Perfectionism. Ship rung 1 at 70% quality by M2. Iterate later. Don’t hold rung 1 until M4 to “make it great.”

  5. Skipping the write-up. Code without a blog is 20% of the signal. The narrative is what makes it findable and credible.


The North Star

Somebody hiring for an inference-engineer role at Anthropic / xAI / Mistral / Databricks / Together / Fireworks / Baseten / Nvidia / Anyscale / Sarvam / Krutrim opens your GitHub profile in 2027. What do they see?

  • A pinned repo: “vLLM-style paged attention mini-engine, 800 LOC, benchmarked vs vLLM on H100.”

  • A pinned repo: “Quant bake-off: GPTQ vs AWQ vs SmoothQuant vs FP8 across Llama-3, results table.”

  • A merged vLLM PR fixing a real bug in the KV cache manager.

  • 3-5 blog posts on their personal domain, all with numbers.

  • Contributions across FlashInfer / SGLang / llama.cpp visible on GitHub contribution graph.

In 90 seconds of scanning, they close the tab and say “yes, phone screen.”

That’s the target. Every rung is a step toward that scan-and-decide moment.


Cross-references

  • Community distribution channels per rung: 10_communities/

  • Papers backing each rung: 09_papers/

  • study conversion of each rung: 13_discipline/09_interview_conversion.md

One line: publish nine artifacts in 13 months, each aligned to a phase, each with real numbers.