Reading List
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
- 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.
Thinking
- 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
Blogs
Testing
- 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.
Others
- 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.
Websites
*** 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.