FastAPI: Type Hints as Infrastructure
One idea — the function signature is the contract — gives you validation, serialization, docs, and editor support at once. Here is how it works and where it bites.
Notes on backend engineering, distributed systems, AI/ML, and the parts of the job that are not code.
One idea — the function signature is the contract — gives you validation, serialization, docs, and editor support at once. Here is how it works and where it bites.
Schema-based serialization, a real plugin system with encapsulation, and first-class async — the Node framework that treats performance as a design constraint.
Stocks, flows, feedback loops, and leverage points — Donella Meadows' framework, applied to incidents, teams, and the architectures that keep failing in the same way.
A contract-first, binary, HTTP/2 RPC framework. Where it beats REST, where it hurts, and how to run it in production without regret.
Node is single-threaded — except for the parts that are not. A tour of the event loop's phases, libuv's thread pool, and the failure modes each one produces.
Bytecode, reference counting, the GIL, and the free-threaded future — plus an honest account of when Python is the right tool and when it is the expensive one.
What the words mean, which problems each family of models actually solves, and why most ML failures are data and evaluation failures rather than modelling ones.
Linear algebra, calculus, probability, and optimization — filtered down to the concepts that appear in real model code, with the reason each one matters.
The parts of JavaScript that still surprise people, what TypeScript actually buys you, and the type-system features worth learning past `any`.
Writing, disagreeing, estimating, and saying no — the competencies that decide whether your technical work ever reaches anyone.
Hypothesis-driven work, MECE decomposition, the 80/20 pass, and the pyramid principle — a consulting toolkit that maps surprisingly well onto debugging and architecture.
Collaboration is a technical practice: how you review code, hand off context, share ownership, and stay dependable when the sprint goes sideways.
Namespaces and cgroups, images and layers, then the control loop that makes a cluster converge — plus the defaults that will page you at 3am.
Metrics, logs, and traces are the plumbing. SLOs, cardinality discipline, and alerts that mean something are the practice.
Ten books on craft, design, and systems — what each one is for, and the order that makes them land.
Interview prep, real understanding, and reference-grade depth are three different goals with three different reading lists.
Communication, influence, difficult conversations, and career mechanics — the reading list for the half of the job that is not code.
Capacity thinking, queueing intuition, caching discipline, and failure design — the competencies behind systems that hold at scale.
A defensible default stack, layer by layer, with the reasoning and the alternatives — and the constraints that should actually drive the choice.
Money changes the requirements: correctness over availability, an immutable ledger, idempotency everywhere, and an audit trail that satisfies a regulator.