HomeBooksThe Pragmatic Programmer

The Pragmatic Programmer

by Andrew Hunt & David Thomas

5 min Narrated 6 ways to learn 6 sections

Key takeaways

  • Take responsibility for your work and your career; nobody else will manage them for you
  • Every piece of knowledge should live in one place, so a change is made once
  • Fix small problems early because neglect spreads, like one broken window inviting more
  • Build in small steps, get feedback fast, and let the design adapt to what you learn
  • Automate anything you do more than twice, from tests to deployment to setup

Inside this bit

  1. Craft over cleverness

    Picture 2 developers at a Bengaluru startup. One writes brilliant, dense code that only she understands and grumbles when requirements change.

  2. Do not repeat yourself

    The book's most quoted principle is DRY, short for don't repeat yourself. The idea is not simply avoid copy and paste.

  3. Broken windows and software rot

    Hunt and Thomas borrow an idea from urban policing. A building with one broken window that stays unrepaired soon has many, because neglect signals that nobody cares.

  4. Tracer bullets and prototypes

    How do you build something when you do not fully understand the problem? The authors offer 2 tools that are often confused.

  5. Automate, test and own your tools

    Pragmatic programmers are lazy in a useful way. Anything you do more than a couple of times, they say, should be scripted: building, testing, deploying, setting up a new machine.

  6. Put it to work

    This week, find one piece of duplicated knowledge in your project, a rule or a value that lives in more than 1 place, and give it a single home. Fix one broken window: a flaky test, a misleading name, a comment that lies.

Learn it six ways

Visualize, Mind Map, Practice, Scenario, Challenge and Review are written for this book.

Narrated

Listen to this bit, read by Michael or Bella.

Quiz and flashcards

Test what you read and keep it with spaced repetition.

Bits AI

It answers about the book, the section, the quiz question you are on.