Jacob Bennett

staff eng at @medium.com, dad web jacob.blog

33 followers106 following64 stories

Longform Stories

Run a better book club

Notes from a moderately-successful book club I ran for Designing Data-Intensive Applications.

May 2·5 min read·898 words

The model vs the harness

"What model does it use?" is the wrong question. Most of the differences you feel between AI tools come from the harness, not the model.

Mar 16·3 min read·589 words

AI adoption maturity model

A maturity model for AI enablement across your company

Mar 4·3 min read·466 words

Most product ideas don't work

Dec 31·1 min read·105 words

Cohesion vs Coupling

Dec 28·1 min read·173 words

Really useful git commands

Nov 21·1 min read·45 words

One-way doors vs two-way doors

Nov 17·1 min read·173 words

Alternatives to Product Managers

Nov 3·6 min read·1157 words

Product Management

Nov 1·1 min read·46 words

Architecture Decision Records

Oct 7·1 min read·54 words

Learn in public

Aug 5·1 min read·63 words

Representative problems

Jul 28·1 min read·73 words

Type I and Type II errors

Precision, recall, and F1

Jul 25·2 min read·267 words

The five-percent rule

Jul 23·1 min read·165 words

Right-size models for the work

Jul 16·1 min read·92 words

Value, Viability, Usability, and Feasibility

Jul 15·2 min read·214 words

Slowification

Jun 29·4 min read·678 words

Notes on Creativity, Inc

Jun 24·3 min read·502 words

Strategists audit for progress

Jun 17·1 min read·69 words

Hypernormalization

Jun 13·1 min read·117 words

What makes an effective product team?

Jun 13·2 min read·361 words

Next-token prediction (LLMs)

Jun 3·1 min read·89 words

Giving good feedback

May 23·2 min read·234 words

Entertain to inform

May 16·1 min read·113 words

Running effective 1-on-1s

Apr 9·1 min read·22 words

How will we know

Effective engineering leadership optimizes for observable outcomes

Mar 23·1 min read·87 words

Ball of yarn analogy

The importance of incremental maintenance

Mar 21·1 min read·88 words

Effective interfaces decouple clients from the encapsulated implementation

Feb 16·1 min read·34 words

Communication is the job

Feb 13·1 min read·187 words

Gatekeeping

Feb 2·2 min read·260 words

Product Managers are not Project Managers

Jan 31·1 min read·55 words

Create psychological safety

Jan 26·1 min read·32 words

Stable Dependencies Principle

Jan 4·2 min read·230 words

What developers miss about the Single Responsibility Principle

The real meaning of the "S" in SOLID: a module should have one, and only one, reason to change.

Nov 5·3 min read·526 words

How to estimate work like a senior software engineer

A structured process for making software estimates that are more accurate than shots in the dark.

Aug 29·7 min read·1312 words

What exactly is tech debt?

Defining and quantifying technical debt: what it is, where it comes from, and how to measure its impact on your team.

May 17·6 min read·1036 words

Conway's Law

System boundaries tend to follow communication boundaries. Plan for that or pay in meetings and glue code.

May 28·2 min read·285 words

YAGNI

Defer capabilities until need is proven; speculative code costs build time, calendar time, and carry weight in the codebase.

Oct 10·5 min read·805 words

Gall's Law

Working complex systems started as working simple systems

Sep 11·2 min read·267 words

Hick's Law

Why choice reaction time scales with the log of alternatives, and what that buys you in menus, settings, and incident tooling.

Jul 7·3 min read·574 words

Unix philosophy

McIlroy's pipes-and-tools rules still explain good CLIs and composable services, even when the universal interface is JSON.

Apr 14·4 min read·750 words

Occam’s razor when you pick models

Why the familiar razor about unnecessary entities is sharper as a habit of work than as a slogan, across code, debugging, and ML.

Mar 3·3 min read·526 words

Amdahl's law

Why parallel hardware stops helping once a fixed slice of work stays serial.

Feb 14·1 min read·184 words

Dunning-Kruger, self-assessment, and software work

What Kruger and Dunning measured in their studies, why the pop account misleads teams, and how to run reviews and hiring without treating confidence as a personality probe.

Jan 9·4 min read·742 words

Hanlon's razor

Defaulting to non-malicious explanations in incidents, postmortems, and everyday teamwork.

Dec 25·1 min read·188 words

Parkinson's law and software schedules

Why slack in a deadline often turns into scope, polish, and meetings instead of safety margin.

Nov 11·3 min read·459 words

Cunningham's Law

Why wrong claims draw corrections faster than plain questions, and why the famous line is a shaky match for Ward Cunningham's own story.

Oct 14·3 min read·455 words

KISS in software design and review

Why Keep It Simple is a habit for design and review, and how to tell simplicity apart from cleverness.

Aug 9·3 min read·468 words

Broken windows in software

Visible neglect in a codebase invites more neglect; small repairs compound.

Aug 7·2 min read·278 words

Fitts's law

Why pointing time depends on distance and target size, and what that means for dense UIs, touch, and tools.

Jun 30·2 min read·392 words

Law of leaky abstractions

Why every useful abstraction eventually forces you to learn what it hides, and what that means for frameworks and APIs.

Jun 6·2 min read·364 words

Moore's Law

Why the transistor cadence shaped software economics, and what changes when that cadence stretches.

May 16·3 min read·442 words

90-9-1 is the shape of the room

Heavy lurker and superuser skew is normal in participatory systems, which matters when you read feedback or run an internal forum.

Apr 26·2 min read·295 words

CAP theorem and what partitions force

Eric Brewer's CAP conjecture became a precise impossibility result for linearizable read-write services under arbitrary message loss.

Mar 2·3 min read·530 words

Pareto principle

A small share of causes usually drives most of the effect; use the skew as a testable guess, not a debate club.

Feb 28·2 min read·376 words

Brooks' law

Fred Brooks on why staffing up a late project often pushes the finish line out, not in.

Dec 3·2 min read·338 words

Hofstadter's Law

Why software work slips after you add slack, and how the joke about recursion maps onto real plans.

Dec 1·2 min read·293 words

Dunbar's number and engineering orgs

What Robin Dunbar's ~150 limit claims, and how it shows up in org design, on-call, and communication load.

Nov 22·3 min read·539 words

The ninety-ninety rule

Why the last slice of a build eats most of the calendar, and what to do about it.

Sep 18·2 min read·239 words

Murphy's law for engineers

Treat Murphy's law as risk hygiene, not fate. Defensive design, testing, and SRE habits turn the slogan into something you can ship.

Aug 21·2 min read·389 words

Clarke's three laws

When complex systems read as magic, people stop asking what has to stay true for them to work.

Jul 19·2 min read·368 words

Postel's Law

Why 'be conservative in what you send, liberal in what you accept' still shapes APIs and parsers, and where it breaks.

May 19·2 min read·399 words

Goodhart's law and engineering metrics

Why velocity, coverage targets, and badly written OKRs invite gaming once they become the scoreboard.

Apr 5·2 min read·227 words

DRY principle

Hunt and Thomas on why duplicated knowledge is a maintenance tax, and when merging similar code makes change harder.

Jan 23·4 min read·747 words