Chapter 10 — Postface

Pages 469–473


Core Idea

Software developers are building the future — for everyone. That power demands ethical responsibility, not just technical excellence.


The Scale of Our Power

Software now pervades everything: phones, cars, embedded systems, medical devices, financial systems, social media. We developers are “building our castles from pure thought-stuff” (Brooks), and those castles affect billions of people’s lives.

Life-critical embedded systems (heating controls, medical equipment) can kill if poorly designed. Social platforms can enable peaceful revolution or foment hatred. Big data can improve or destroy privacy. Banking systems change people’s economic lives.

The programmer who thinks “my code doesn’t matter” or “it’s just a feature” is wrong. The difference between utopian and dystopian outcomes often lies in small decisions made during development.


Two Ethical Questions for Every Piece of Code

Tip 98: First, Do No Harm

Ask before shipping:

  1. “Have I protected the user?”

    • Have I applied security patches?
    • Does the system fail gracefully without harming the user?
    • Am I storing only the data I need?
    • Is sensitive data encrypted?
    • What are the possible failure modes, and have I handled them?
  2. “Would I use this myself?”

    • Would I be comfortable if my own data were handled this way?
    • Would I want to be driven by this autonomous vehicle?
    • Am I comfortable doing this?

Tip 99: Don’t Enable Scumbags

If you’re building something that exploits, surveils, or harms users — regardless of how many degrees of separation you are from the decision — you share responsibility. “I just implemented what I was told” is not an ethical position.


The Closing Call

Tip 100: It’s Your Life. Share it. Celebrate it. Build it. AND HAVE FUN!

The book ends where it began — with agency. You have extraordinary power to shape the future. Use it deliberately, ethically, and joyfully.


Reflection

The Postface connects the technical principles of the entire book to a larger purpose: the code you write matters beyond the ticket. Every practice in the book — DRY, good naming, testing, security, communication — ultimately exists to serve people well.

The final call is not somber but joyful: we’re incredibly privileged to build things from imagination. Use that privilege responsibly, and have fun doing it.