04 — Weekly Rhythm (The Canonical Week)¶
Fifteen to seventeen hours per week. Sustained. That’s the plan. Not 40 hours in bursts, not 5 hours because you’re tired — fifteen, every week, disciplined like a viking. This file is what those hours look like structurally, day by day, hour by hour.
The Constraint That Shapes Everything¶
You have a full-time Zoho job. You have a family. You have a body that needs sleep and exercise. You have relationships that deserve presence. What you have LEFT is roughly:
~2 hours × 5 weekdays = 10 hours in the evening (after work, before bed)
~4–5 hours on Saturday (deep work)
~2–3 hours on Sunday (reading + retro)
Total: ~15–17 hours/week
With Zoho R&D alignment (see 06_zoho_alignment.md), by M6–M8 you can shift ~5–8 of the roadmap hours INTO paid Zoho time. Then the personal-time load drops to ~10 hours/week. That’s the target.
The Canonical Week¶
Day |
Time Block |
Duration |
Content |
Priority |
|---|---|---|---|---|
Mon |
7:00–7:30 AM |
30 min |
Paper reading (before Zoho drains you) |
High |
Mon |
8:30–10:30 PM |
2 hr |
Sprint deliverable work |
High |
Tue |
7:00–7:30 AM |
30 min |
Source code reading (rotate: vLLM / SGLang / flash-attn / llama.cpp) |
High |
Tue |
8:30–10:30 PM |
2 hr |
Sprint deliverable work |
High |
Wed |
7:00–7:30 AM |
30 min |
Paper reading (continue Monday’s) |
High |
Wed |
8:30–10:30 PM |
2 hr |
Sprint deliverable work |
High |
Thu |
7:00–7:30 AM |
30 min |
Source code reading |
High |
Thu |
8:30–10:30 PM |
2 hr |
Sprint deliverable work |
High |
Fri |
7:00–7:30 AM |
30 min |
Source code reading |
High |
Fri |
8:30–10:30 PM |
2 hr |
Sprint deliverable work OR lab notebook catch-up |
Medium |
Sat |
9:00 AM–1:00 PM |
4 hr |
Deep work block — the hardest thinking of the week |
Highest |
Sat |
2:00–3:00 PM |
1 hr |
Benchmark runs / lab notebook writeup |
High |
Sun |
10:00–11:30 AM |
1.5 hr |
Paper reading (finish the week’s) |
High |
Sun |
4:00–5:00 PM |
1 hr |
Source code reading (long-form) |
Medium |
Sun |
8:30–9:00 PM |
30 min |
Retro + next-sprint plan |
Highest |
Total: ~17.5 hours/week nominal, 15h/week floor after minor slippage.
What Each Block Is For¶
The Weekday Morning 30-Minute Slot¶
This is the highest-signal 30 minutes of your day. Your brain is fresh. Zoho hasn’t drained you yet. You are not competing with WhatsApp or Twitter or dinner or fatigue.
Use it for: Reading. Papers or source code. Never for building. Never for messaging or email or feed-scrolling.
Rule: Phone in another room. Coffee/tea allowed. One tab open.
Why this specific slot? Because if you try to make reading a bedtime habit, you’ll fall asleep. If you try to make reading a lunch habit, work will eat it. Morning is the only bulletproof slot. Even 30 minutes × 5 = 2.5 hours/week of pure paper/source reading. Over 52 weeks that’s ~130 hours, which is more than most people ever read on this stack.
The Weekday Evening 2-Hour Slot¶
After dinner, before sleep. This is the sprint delivery slot.
Use it for: Whatever the current sprint deliverable is. Coding. Debugging. Benchmarking. Writing.
Rule: No Twitter. No Reddit. No YouTube unless it’s a GPU MODE lecture you’re actively taking notes on. One deliverable at a time.
Concession: If you have 4 evenings that hit the mark, and Wednesday is a wash because dinner ran late or you were exhausted, that’s fine. You have 10 hours planned to hit 8. Don’t force it.
The Saturday Deep Work Block (4 Hours)¶
The most important block of the week.
Use it for: The hardest thinking you have. If it’s SGEMM debugging, this is when. If it’s writing the paged-KV block manager, this is when. If it’s reading FA2 for the fifth time, this is when.
Rule: Do it at a fixed time. Saturday 9 AM to 1 PM. Not “sometime Saturday.” Not “Saturday evening because I want to sleep in.” Sleep in Sunday. Saturday morning is the tent-pole of the week.
Environment: Coffee, snack pre-staged, phone in another room, computer plugged in, one browser tab, one terminal, one text editor. If you can code from a café or library once a month for variety, that’s fine.
The Saturday Afternoon Follow-Up (1 Hour)¶
After lunch. Not deep thinking anymore. But high-value: benchmark runs, lab-notebook writeup, screenshots for the eventual blog post.
Rule: This is the slot that turns Saturday morning’s work into a shippable artifact. If you skip it, Saturday morning’s work exists only in your head.
Sunday Morning Reading (1.5 Hours)¶
Long-form paper reading. Not the 30-minute weekday slot (which is one paper across the week); this is the deep-read of one paper you started Monday. Take notes.
Sunday Afternoon Code Reading (1 Hour)¶
Long-form source code reading. Not fragmentary. Pick a file, understand it, take notes. This is where the vLLM V1 lifecycle gets internalized — not from Aleksa’s blog (that’s the map), but from the source (that’s the terrain).
Sunday Evening Retro (30 Min)¶
The single most under-rated 30 minutes of the week.
Format:
What did I ship this week? (bullet list, honest)
What did I read? (bullet list)
What surprised me? (short prose — this is the memorable part)
What am I doing next week? (next sprint’s one deliverable, restated)
Am I sleeping? Am I lifting? Am I OK? (yes/no × 3)
Commit to your lab notebook. Template in ../13_discipline/02_lab_notebook.md.
The Reading-Code Ritual (Rotation)¶
From ../13_discipline/04_reading_code_daily.md:
Day |
Repo |
|---|---|
Mon |
— (paper day) |
Tue |
vLLM |
Wed |
— (paper day) |
Thu |
SGLang |
Fri |
flash-attn OR llama.cpp (alternating weeks) |
Sat |
— (build day) |
Sun PM |
Whatever caught your attention this week |
Method for each session:
Open the repo’s PR list, filter by recent merges in your area.
Pick one PR. Read the diff. Read the linked issue if any.
Write a 3-sentence summary in your lab notebook: what changed, why, what surprised you.
That’s it. 30 minutes. Not more.
By M6 you’ll have read ~150 PRs across these repos. That’s enough to spot the patterns.
The Non-Negotiable Health Floor¶
From ../13_discipline/08_health_burnout.md:
Sleep 7–8 hours. Not “try to.” Actually. Every extra hour of sleep is worth more than an extra hour of code.
Lift 3× per week. 45 minutes each. Squats, deadlifts, push, pull, carry. Boring, effective.
Walk 20 minutes daily. Idea generation, not fitness. This is where your best code ideas will come from.
One cooked meal per day. Not scrolled between snacks. Ideally with someone you love.
One deep dinner per week with a person you care about. Non-negotiable social rest.
Digital sunset: No screens after 10 PM ideally. 10:30 PM absolute latest.
These are not aspirations. They’re maintenance. Skip them for 3 weeks and the roadmap starts drifting whether you notice or not.
Slippage Rules (Real-Life Absorption)¶
One evening lost = write it off. Do not “make it up” by staying up till 1 AM the next night. That’s how burnout starts.
A full day lost = shift one deliverable to Sunday afternoon. No stacking on the next week.
A week lost = use a buffer week. Not “pretend it didn’t happen.” Log it, use a buffer.
Two weeks lost + no life event = read
../99_pre_mortem/03_burnout_month_6_to_8.md. You’ve drifted.
The India-Specific Notes¶
October Diwali: Family time is not a Saturday morning. Take the buffer week if it lands there.
May–June heat: Productivity dips. Cut to 10 hours/week if needed. Don’t fight it.
Wedding season (Nov–Feb): Schedule wedding travel into buffer weeks or into “reading sprint” deliverables. Trains and flights are decent paper-reading environments.
Family dinners: These are not the enemy of the plan. They are the reason for the plan. Do not code through them.
What Deviating From The Rhythm Actually Looks Like¶
Green (no action):
Missed one 30-minute morning session
Skipped Sunday afternoon code reading
Slept in one Saturday
Yellow (adjust, don’t panic):
Missed 2+ weekday evening blocks in one week
Skipped the entire Saturday deep-work session
Sprint deliverable slipped by 3–4 days
Red (stop and diagnose):
Missed the retro two Sundays in a row
Two sprints in a row without deliverable shipped
Started to dread opening the laptop
Red = open ../99_pre_mortem/09_summary_and_reset_protocol.md. Not before.
The One Sentence¶
Fifteen hours per week for 52 weeks = 780 hours. That’s what becoming an inference engineer costs. Show up.
Return to README.md · Next: 05_kpi_dashboard.md