Further Reading¶
This guide stands on the shoulders of practitioners, researchers, and authors who have spent decades naming, refining, and writing down the ideas it summarizes.
The list below is not exhaustive. It is a starting point: the books, essays, and people that have most directly shaped the perspective of this handbook. Pair any chapter with the corresponding entry here when you want to go deeper than a field guide can.
Understanding the Problem¶
- Escaping the Build Trap by Melissa Perri. The clearest articulation of why shipping features is not the same as creating value, and what to do about it.
- Inspired: How to Create Tech Products Customers Love by Marty Cagan. Foundational text on modern product organizations.
- Strategize: Product Strategy and Product Roadmap Practices for the Digital Age by Roman Pichler. Focused on roadmap and strategy practices for the product owner role.
- The Lean Startup by Eric Ries. The originating articulation of build-measure-learn, validated learning, and the MVP. Required reading for anyone framing product work as a series of hypotheses to test.
- The Startup Way by Eric Ries. Extends the Lean Startup model from startups to large incumbent organizations, with explicit attention to how product-thinking survives contact with corporate structure.
- Continuous Discovery Habits by Teresa Torres. A practical discipline for keeping discovery alive after launch.
- The Mom Test by Rob Fitzpatrick. How to talk to customers without being lied to.
Product Discovery and UX¶
- The Design of Everyday Things by Don Norman. Why usability is a property of systems, not aesthetics.
- Don't Make Me Think by Steve Krug. The pragmatic introduction to web usability.
- Lean UX by Jeff Gothelf and Josh Seiden. Aligning design with hypothesis-driven product work.
- Trustworthy Online Controlled Experiments by Kohavi, Tang, and Xu. The reference text for A/B testing done correctly.
- Lean Analytics by Alistair Croll and Benjamin Yoskovitz. The canonical text on picking the One Metric That Matters at a given stage of a product's life, and on measuring fewer things rigorously rather than measuring everything badly.
Engineering and Delivery¶
- Continuous Delivery by Jez Humble and David Farley. The canonical text on trunk-based development, deployment pipelines, and release safety.
- Accelerate by Nicole Forsgren, Jez Humble, and Gene Kim. The research behind why high-performing engineering organizations work the way they do.
- Building Evolutionary Architectures by Neal Ford, Rebecca Parsons, and Patrick Kua. Architecture as a property that supports change, not resists it.
- Fundamentals of Software Architecture and Software Architecture: The Hard Parts by Mark Richards and Neal Ford. The most thorough modern treatment of architecture characteristics (the "ilities") as first-class properties that architectural decisions explicitly trade against each other.
- Building Microservices by Sam Newman. Including, importantly, when not to use them.
- Refactoring by Martin Fowler. Foundational vocabulary for safely changing existing code.
- Patterns of Enterprise Application Architecture by Martin Fowler. The reference catalogue for the recurring structures in non-trivial application software, useful both as a vocabulary and as a sanity check on supposedly novel designs.
- Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (the "Gang of Four"). The originating catalog of object-oriented design patterns and the source of the shared vocabulary (Strategy, Observer, Visitor, and so on) that most working engineers still use.
- Working Effectively with Legacy Code by Michael Feathers. How to bring untested, hard-to-change systems back under control.
- Clean Code by Robert C. Martin. The widely read (and widely debated) articulation of code-level habits and the case for treating readability as a first-order engineering concern. Read alongside more recent critiques; the underlying point about clarity holds even where specific prescriptions have aged.
- Extreme Programming Explained: Embrace Change by Kent Beck. The originating text for pair programming, collective code ownership, continuous integration, test-driven development, and several other practices that have since been quietly absorbed into modern engineering culture.
- Test-Driven Development by Example by Kent Beck. The canonical articulation of TDD as a design discipline, not a testing technique. The book it is most useful to misunderstand and then re-read.
- Tidy First? by Kent Beck. A short, practical recent argument for treating small structural improvements as a separable economic decision from feature work.
- The Pragmatic Programmer by Andy Hunt and Dave Thomas (20th anniversary edition, 2019). The foundational collection of craft-level habits for working developers, from DRY and orthogonality to the broken-windows theory of code quality. Reads as fresh today as it did at first publication.
- Code Complete by Steve McConnell (2nd edition, 2004). The encyclopedic reference on code-level construction practices. Older than most current frameworks; the underlying argument that engineering is a craft with a knowable best practice has aged better than most.
Essays worth reading on technical debt specifically¶
- Ward Cunningham, The Debt Metaphor (video). The author of the original metaphor explaining what he actually meant.
- Martin Fowler, Technical Debt Quadrant (essay). The classic four-quadrant model separating deliberate from inadvertent and prudent from reckless.
- Joel Spolsky, Things You Should Never Do, Part I (essay). The canonical argument against the "let's rewrite from scratch" reflex.
Quality and Systems Thinking¶
- Thinking in Systems by Donella Meadows. The most accessible primer on systems thinking ever written.
- The Fifth Discipline by Peter Senge. Organizations as learning systems, and the originating text for "systems thinking" as a discipline applied to organizations rather than only to engineered artifacts.
- Out of the Crisis by W. Edwards Deming. Where "quality is designed in" comes from.
- The New Economics for Industry, Government, Education by W. Edwards Deming. The follow-up to Out of the Crisis, articulating Deming's "System of Profound Knowledge" and the management philosophy underneath the quality movement.
- The Goal by Eliyahu M. Goldratt. The originating novel of the Theory of Constraints and the ancestor of much modern systems-thinking work in software operations.
- Re-Creating the Corporation and Ackoff's Best by Russell L. Ackoff. Foundational systems-thinking essays on why optimizing the parts independently degrades the whole, and why most management improvement efforts fail by mistaking parts work for systems work.
- Punished by Rewards by Alfie Kohn. The canonical critique of extrinsic-reward systems and a useful companion to Deming's arguments about why incentive structures routinely produce the behaviors they were meant to suppress.
- Agile Testing and More Agile Testing by Lisa Crispin and Janet Gregory. The reference texts on integrating testing into delivery rather than treating it as a downstream phase, with practical guidance on quadrants, automation strategy, and the role of testers on cross-functional teams.
- Software Teaming: A Mob Programming, Whole-Team Approach by Woody Zuill and Kevin Meadows. The canonical reference for mob programming (now often called software teaming): a whole team working together on a single problem at a single screen, with Zuill as the practice's most influential advocate.
- Domain-Driven Design by Eric Evans. Building software whose structure mirrors the business it serves.
- A Philosophy of Software Design by John Ousterhout. Complexity as the central engineering concern.
Operations and Support¶
- Site Reliability Engineering by the Google SRE team. The book that named the discipline.
- The Site Reliability Workbook by the Google SRE team. The companion volume that turns the ideas into practice.
- Observability Engineering by Charity Majors, Liz Fong-Jones, and George Miranda. The modern definition of observability beyond "logs and metrics."
- The Phoenix Project by Gene Kim, Kevin Behr, and George Spafford. The narrative that introduced DevOps thinking to a generation of practitioners; the on-ramp to The DevOps Handbook, written as a novel so the ideas land before the framework does.
- The DevOps Handbook by Kim, Humble, Debois, and Willis. How development and operations actually integrate.
- Making Work Visible: Exposing Time Theft to Optimize Workflow by Dominica DeGrandis. The canonical text on visualizing knowledge work, WIP limits, and the "five thieves of time" (too much WIP, unknown dependencies, unplanned work, conflicting priorities, and neglected work).
- Seeking SRE edited by David N. Blank-Edelman. Essays from practitioners across the industry.
- Richard I. Cook, How Complex Systems Fail (1998). A short paper from the resilience-engineering tradition that has become required reading for software incident analysis. The argument that "human error" is a label rather than an explanation reshaped how mature software organizations think about postmortems.
Economics and Risk¶
- Peopleware by Tom DeMarco and Tim Lister. Why software is a people problem before it is a technical one.
- The Mythical Man-Month by Fred Brooks. Still the best book on why adding people to a late project makes it later.
- Thinking, Fast and Slow by Daniel Kahneman. Required reading for anyone making decisions under uncertainty.
- Antifragile by Nassim Nicholas Taleb. A useful lens for thinking about systems that gain from disorder.
- The Principles of Product Development Flow by Donald G. Reinertsen. The canonical treatment of cost of delay, queueing theory, and the economics of batch size in product development. Required reading for anyone trying to make engineering trade-offs in explicit economic terms.
- Software Estimation: Demystifying the Black Art by Steve McConnell. The most thorough single-volume treatment of software estimation as a discipline, including the empirical research on estimation accuracy and the systematic biases of human estimators.
- Agile Estimating and Planning by Mike Cohn. The standard practitioner reference for story points, planning poker, and the discipline of treating estimates as relative judgments rather than absolute predictions.
- How to Measure Anything by Douglas Hubbard. A useful counterweight to estimation pessimism: a structured argument that almost any quantity (including ones teams treat as immeasurable) can be estimated meaningfully if the goal is to reduce uncertainty rather than achieve certainty.
- No Estimates: How to Measure Project Progress Without Estimating by Vasco Duarte. The book-length articulation of the #NoEstimates argument: that small batch sizes and forecasting from cycle time can replace much of the activity teams use estimation for. Useful as a corrective to overinvestment in estimation; controversial as a universal prescription.
AI and Software Engineering¶
This area moves faster than any reading list can keep up with. The references below are stable as of writing; treat the "People and Publications Worth Following" section below as the way to stay current.
- Co-Intelligence: Living and Working with AI by Ethan Mollick. The most measured published treatment to date of how AI integrates into professional work. The companion Substack, One Useful Thing, carries the ongoing version of the argument.
- Andrej Karpathy, Software 2.0 (Medium, 2017). The originating essay on software development as a discipline that increasingly trains code rather than writes it. Foundational framing for understanding AI's effect on engineering.
- Google DORA (DevOps Research and Assessment) program (dora.dev). The annual State of DevOps report and ongoing research on engineering performance, now including the effects of AI on productivity, throughput, and quality. The team's findings consistently complicate the simpler vendor narratives in both directions.
- METR (Model Evaluation and Threat Research), Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity (2025). A useful counterweight to vendor claims: experienced developers in the study were measurably slower using AI coding assistance, despite perceiving themselves as faster.
People and Publications Worth Following¶
These authors regularly publish writing that informs ongoing practice. Blogs and newsletters churn faster than books, so treat this section as a starting set, not a permanent reference.
- Martin Fowler (martinfowler.com): refactoring, architecture, evolutionary design.
- Charity Majors (charity.wtf): observability, on-call, engineering leadership.
- Will Larson (lethain.com): engineering management and organizational design.
- Camille Fournier, author of The Manager's Path and ongoing essays on engineering leadership.
- Lara Hogan (larahogan.me): management, performance, organizational health.
- Gergely Orosz (The Pragmatic Engineer): industry analysis for senior engineers.
- Marty Cagan / SVPG (svpg.com): product management.
- Honeycomb Blog: observability and production engineering.
- Google SRE site (sre.google): full text of the SRE books, plus updates.
- Simon Willison (simonwillison.net): the most reliable practitioner-level reference for what current AI tools can and cannot do. Prompt engineering, tool use, evaluations, and what LLMs are actually doing under the hood.
- Ethan Mollick (One Useful Thing): the ongoing companion to Co-Intelligence, with practical, classroom-tested perspectives on AI in knowledge work.
- Andrej Karpathy: pioneer figure on neural networks and LLMs; his essays, video lectures, and ongoing posts are widely considered the best public explanations of how modern AI systems actually work.
- trunkbaseddevelopment.com, maintained by Paul Hammant and contributors. The practitioner-level reference site for trunk-based development, with detailed treatments of the workflow variants, the supporting infrastructure, and the failure modes of long-lived branches.
A Note on Inclusion¶
A book or author on this list is not an endorsement of every position they hold. They are here because something they wrote substantially shaped a chapter of this guide. Read critically. The point of a reading list is to give you the raw materials to disagree with us, and with them, more usefully.