Skip to main content
97 Things Every Programmer Should Know: Collective Wisdom from the Experts — reviewed on MethodicalFunction.
97 Things Every Programmer Should Know: Collective Wisdom from the Experts — reviewed on MethodicalFunction.

Why this book matters

Most programming advice arrives as either a manifesto or a tutorial. Manifestos want you to convert; tutorials want you to complete exercises. 97 Things Every Programmer Should Know, edited by Kevlin Henney for O'Reilly, does neither. It offers 97 short essays—most about two pages—from practitioners who have already paid the tuition. The format fits how working engineers actually learn between meetings: one idea, one sitting, one chance to argue with yourself before Slack pulls you back.

I keep it as a desk book rather than a cover-to-cover read. When a code review stalls on "that's just how we do it," or a junior asks what "simple" means in practice, a single essay is often enough to reopen the conversation without assigning a 400-page syllabus.

What it is

This is a curated anthology, not a curriculum. Henney collected contributions from people whose names already live on other shelves—Robert C. Martin, Martin Fowler, Michael Feathers, and many others less famous but equally specific. O'Reilly's 258-page volume (ISBN 978-0596809485) treats each item as a standalone insight: code quality, testing, collaboration, career judgment, and the quiet habits that keep systems livable.

You do not need to read them in order. The book assumes you already write software and want better instincts—when to stop polishing, how to talk about tradeoffs, why reviews matter more than cleverness. It is wisdom literature for people who ship, not a substitute for language docs or architecture texts.

What makes it good

The strength is compression with provenance. Each essay has a named author and a sharp claim. That matters because advice without attribution becomes folklore; advice with a face invites disagreement. A few patterns show up again and again in useful ways:

  • Simplicity as a discipline, not a vibe. Several essays push back on accidental complexity without pretending every problem is trivial.
  • Testing and review as social practices. The best items treat quality as something a team does together, not a personal purity contest.
  • Career and craft in the same volume. Switching between technical judgment and professional judgment in five-minute bites mirrors real weeks of work.

Because the pieces are short, you can use the book as a mentoring tool. Assign one essay before a 1:1. Ask what the author got right and what the author's context does not match your stack. That is more valuable than highlighting an entire chapter of a denser title and never discussing it.

The collection also resists the illusion that there is one correct engineering culture. Different contributors contradict each other at the margins. That tension is a feature: it trains you to hold multiple heuristics and pick the one that fits the failure mode in front of you.

Tradeoffs and who it is not for

Quality varies because authorship varies. Some essays feel evergreen; a few read like snapshots of an earlier tooling era. That is expected in a multi-author book, but it means you should skim with a filter, not treat every page as doctrine.

It is also not comprehensive. If you need a systematic treatment of concurrency, distributed systems, or a language deep dive, this will frustrate you. It will not teach you to program. It will not replace a solid testing book, a design book, or time spent reading your own codebase.

Skip it if you want a single narrative voice, a project-based course, or a checklist you can paste into a style guide unchanged. Reach for it if you want portable prompts for better judgment—especially for juniors who can code but have not yet built a vocabulary for why some choices age well.

Verdict

Recommended, with the honesty that not all 97 essays will earn equal shelf space in your head. The best ones more than justify the book; the weaker ones cost almost nothing because you can finish them in minutes and move on.

For the shorter affiliate-oriented take, ratings, and purchase links, see the companion Nerd Approved micro-review. Use this log review for depth; use Nerd Approved when you are ready to buy.

Joshua Morris

About Joshua Morris

Joshua is a software engineer focused on building practical systems and explaining complex ideas clearly.