Shorter pieces, mirrored to dev.to and Medium. Each takes a single argument from the books and works it out at article length — the canonical copy lives here.
Software’s Second Free Lunch Development does not scale by adding people, and AI does not fix it — it cuts the cost of a worker, not the coupling that caps how many can help. Borrow the trick that makes GPUs scale, uniform and independent pieces, and building parallelizes; the ceiling moves from Brooks to Amdahl.
Read-Point Planning: Your Backlog Is a Cache of Beliefs Plans do not fail by tangling, they fail by rotting. Mark invalidations when knowledge is created, verify beliefs only where the plan is read, stamp what you verified — and staleness becomes a query over git history instead of an opinion.
Engineering Is the Checkable Fraction of Your Practice Type inference has refused to guess for fifty years and build systems learned the habit; decomposition methods never did. Three clauses, the five things they forbid, and a definition of engineering stated as a ratio rather than a badge.
Java Backend Design Technology: A Process-First Methodology The design phase of the technology: deriving structure from the process rather than from a model of the nouns.
Keep the Context Map. Replace the Aggregates. Strategic domain-driven design does not rest on tactical DDD, so you can keep one and replace the other. How to annotate a context map so it feeds a change-driver decomposition.
The Underlying Process of Request Processing What every backend request actually does, underneath the framework that hides it.
The Six Patterns That Cover Everything Leaf, Sequencer, Fork-Join, Condition, Iteration, Aspects — and why the list is closed.
From Subjective Opinions to Systematic Analysis: Pattern-Based Code Review How structural patterns turn code review from a matter of taste into something two reviewers can agree on.
Why Interface + Factory? The Java Pattern That Makes Everything Replaceable The smallest structural decision in the technology, and what it buys.
Every Test Can Name Why It Exists Four kinds of test, each derived from a property of the code rather than chosen from a convention.
Fail-Safe Your Legacy Java in One Sprint The smallest change to an existing codebase that pays for itself immediately.
Slices: The Right Size for Microservices Neither a monolith nor a service per noun — the unit that follows from the process.
Pragmatica Aether: Let Java Be Java A runtime that removes the framework instead of adding one.
No Framework, No Pain: Writing Aether Slices What writing a slice actually looks like, end to end.