Apoorva suggests, "[H]ow about linking to any other test/dev blogs/sites/resources that you frequent, or feel would do good for beginners/seasoned testers as a read."

I'll do this in three parts: books permanently on my bookshelf, key blogs I track, and useful websites.

Books Permanently On My Bookshelf


  • Testing Computer Software, Cem Kaner, Hung Quoc Nguyen, Jack Falk: This book taught me testing.
  • How to Break Software, James A. Whittaker: Short and sweet and jam-packed with simple ways to bring your app down in flames.

Software Design and Development

  • Agile Software Development, Robert C. Martin: Don't let the title fool you - this book is mostly about a core set of principles on which your software designs should be founded.
  • Object Thinking, David West: One of the most important books when it comes to object-oriented design.
  • Object Design, Rebecca Wirfs-Brock, Alan McKean: More good OOD info.
  • Domain Driven Design, Eric Evans: And yet more.
  • Design Patterns, Erich Gamma, Ralph Johnson, Richard Helm, John M. Vlissides: The famous Gang of Four design patterns book.
  • Head First Design Patterns, Eric Freeman, Bert Bates, Elisabeth Freeman: Sure, get the GoF book for a reference, but get this book first.
  • Patterns of Enterprise Application Architecture, Martin Fowler: Patterns 201, kind of.
  • Holub on Patterns, Allen Holub: If you can get over your shock, Allen has some very thought-provoking ideas about how software should be designed.
  • UML Distilled, Martin Fowler: The best UML reference I've found.
  • About Face: The Essentials of User Interface Design and The Inmates are Running the Asylum, Alan Cooper: Lots of good information here about how applications *should* work and the importance of understanding your customer.
  • User Interface Design for Programmers, Joel Spolsky: UI design explained. Joel's revising and expanding this on his website, but the original is still worth reading.

Software Process

  • Agile Software Development, Alistair Cockburn: The best reference I've found on the many flavors of Agile.
  • Software Craftsmanship, Pete McBreen: I am proud to say I am a Software Craftsman.
  • The Pragmatic Programmer, Andrew Hunt and David Thomas. Which is to say I am a Pragmatic Software Craftsman.
  • Journey of the Software Professional, Luke Hohmann: This and Jerry Weinberg's Becoming a Technical Leader (below) are required reading for anyone pursuing a technical path.


  • Cracking Creativity and Thinker Toys, Michael Michalski: Great ideas for getting your creative juices flowing.

The Jerry Section

Pretty much anything by Jerry Weinberg is guaranteed to be good. My favorites:

  • Are Your Lights On?
  • Becoming a Technical Leader
  • An Introduction to General Systems Thinking
  • Secrets of Consulting
  • More Secrets of Consulting
  • What Did You Say? (with Charles N. Seashore and Edith Whitfield Seashore)
  • Weinberg on Writing



  • Michael Bolton: Michael (no, not *that* Michael Bolton) is my favorite source of make-me-think-hard ideas in the testing world.
  • Jonathan Kohl: Jonathan is another deep thinker about testing coming from an Agile perspective.
  • James Bach: James doesn't post very often, but when he does you can be sure it'll be worth reading.


  •  Joel Spolsky: Joel has something to say regarding just about every topic remotely related to software development.
  • Steve Pavlina: If you're interested in improving your self - and every tester should be - Steve is a must read.
  • Kathy Sierra: Lots of good info about how to make great software.


*** Want a fun job on a great team? I need a tester! Interested? Let's talk: Michael dot J dot Hunter at microsoft dot com. Great coding skills required.