Inspired by Aaron Patterson at the Mountain.rb Conference, I thought I’d share my favorite programming/software engineering books.
- C Programming Language (2nd Edition) by Brian W. Kernighan and Dennis M. Ritchie (1988)
- Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (1994)
- Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development by Craig Larman (1995)
- Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, and William Opdyke (1999)
- Peopleware: Productive Projects and Teams (Second Edition) by Tom DeMarco and Timothy Lister (1999)
- Extreme Programming Explained: Embrace Change by Kent Beck (1999)
- Effective Java by Joshua Bloch (2001)
- Test Driven Development: By Example by Kent Beck (2002)
- Refactoring to Patterns by Joshua Kerievsky (2004)
- Java Concurrency in Practice by Brian Goetz, Tim Peierls, Joshua Bloch, and Joseph Bowbeer (2006)
- Restful Web Services by Leonard Richardson, Sam Ruby, and David Heinemeier Hansson (2007)
- Getting Real: The smarter, faster, easier way to build a successful web application by Jason Fried, Heinemeier David Hansson, and Matthew Linderman (2009)
About the Author