Playbook / Principal search path / Coding and language refresh

Coding and language refresh

Live loops still include coding or practical drills. Competency matrix scores coding ~6/10. I fix that with practice, not more architecture essays. This runs in parallel with north-star warmth — I don’t park coding until chapter 4.


Honest stack (LOCKED)

SurfaceProofWhat I say
Python / FastAPI / LangGraphLucid AI + public spinePrimary daily AI stack
Java / Spring BootVolvo ecommerce microservicesExpert OOP / enterprise services — I lead with this on Java-preferring JDs
TypeScript / React / Next.jsPortfolio UIsFull-stack delivery
Kafka / eventingLucid MSK migrationDistributed systems depth
GoNot primary“I haven’t been day-to-day Go recently. I read it and can contribute on platform surfaces within weeks. My distributed-systems bar is proven in Java and Python.” Never fake fluency.

14-day micro-plan

Days 1–3 — Staff+ coding bar

From coding/, timed 45–60 min, no answer sheet:

  1. LRU + concurrency
  2. Rate limiter / token bucket
  3. Time-based KV

Pass bar: correct + tests narrated + complexity aloud + when to stop.

Days 4–6 — Platform-flavored

  1. Idempotent event consumer
  2. Circuit breaker
  3. In-memory pubsub

Days 7–9 — FDE / Applied practical

  1. Practical FDE coding drills
  2. One SQL narration drill (window functions / funnel) against a toy schema

Days 10–12 — Java surface (Intuit-class JDs)

Re-open one Volvo-shaped story: Spring service boundary, idempotent payment/webhook handler sketch on a whiteboard. Java syntax can be rusty. Structure matters.

Days 13–14 — Go literacy (Rivian-class JDs) — optional, smart

Not fluency theater:

  • Read idiomatic Go error handling + contexts
  • Rewrite one small Python helper (token bucket) in Go once
  • Stop at “I can navigate and pair,” not “I’m a Go expert”

Weekly maintenance (whole arc)

CadenceAction
3× / week in war room; 1× / week laterOne timed coding problem
Before a Java-prefer JDOne Spring/Java whiteboard
Before a Go-prefer JDOne Go read + honesty line

Use Practice Arena when rubrics exist; otherwise timer + rubber-duck.


How I talk while coding (so it doesn’t sound like LeetCode theater)

  1. Clarify the contract — inputs, failure modes, what “done” means.
  2. Brute force aloud if I need it. Then the structure I’d actually ship.
  3. Complexity once. Tests as I go — not a speech at the end.
  4. Staff+ stop line: concurrency, idempotency, or a tenant/keying bug. Then I stop adding features.

I’m going to lock the interface, get a correct version, then make the cache/limiter/consumer safe under concurrency. If we have time I’ll add the Staff+ piece — I won’t gold-plate a rate limiter into a platform.

If I’m stuck:

I’m going to say the brute-force version out loud so we don’t sit in silence, then I’ll name the bottleneck and fix that. I’d rather ship a correct O(n) with tests than freeze hunting a clever one.

If they switch languages mid-problem:

I can finish this in Python or TypeScript cleanly. If you need Java, I’ll sketch the same structure — syntax may be rusty, the concurrency and idempotency calls won’t be. I won’t pretend I’m as fast in Go.

SQL narration (FDE-style):

I’ll start with the grain of the table, then the window or funnel, then the null and late-event cases. I won’t invent a warehouse I haven’t seen.


What I’d say if they ask language fit

Daily drivers are Python and TypeScript for agent platforms. Java and Spring are real history from Volvo-scale ecommerce — I can lead that conversation. I won’t fake day-to-day Go. If this team is Go-primary, I’ll be honest about ramp, and I’ll show the distributed-systems bar from Java and Python.