Booklist is an occasional feature where we ask Internet personalities about the books they read, and why. For this installment, we’ve asked David Heinemeier Hansson, the creator of the Ruby on Rails software framework.
Heinemier Hansson created Rails in 2004 while a student in Denmark. He had been hired by Jason Fried in Chicago to write software for an online collaboration program that would assist Fried, who ran a design firm, dialog with his clients.
To speed up the programming of this specific application, Heinemier Hannson created a framework for the Ruby programming language. He called it Ruby on Rails. He delivered the collaboration program to Fried, who subsequently offered it as a service to other companies.
The service is now called Basecamp and roughly a million individuals and companies use it. Heinemier Hannson’s shortcut, Ruby on Rails, is now used by thousands of websites, including Twitter, Shopify and others. The framework is credited with dramatically lowering the cost of website development.
Heinemier Hannson’s followers refer to him as, simply, DHH. He’s now a partner with Fried in 37signals, which produces Basecamp, Highrise and other collaborative tools. We asked him about the books that inspire him and he provided the list of authors and books below.
Gerald M. Weinberg
I’ll read anything by Weinberg. He’s been programming since 1957 and has one of the most comprehensive grasps of software development, psychology, and problem statements. My favorite Weinberg books include:
- Are Your Lights On?
- Secrets of Consulting
- Quality Software Management 1-4
Beck has been a tireless rebel who’s had a huge, lasting impact on the software industry. Always thinking about how we can push good ideas to 11 [on a scale of 1 to 10]. My favorite Kent Beck books are:
- The Smalltalk Best Practice Patterns
- Extreme Programming Explained: Embrace Change
Fowler takes the time to think long and hard about tough problems and then presents them in a way that’s so easily digestible that it almost seems too easy. Classics by Fowler include:
- Patterns of Enterprise Application Architecture
- Refactoring: Improving the Design of Existing Code
Evans’ book, Domain-Driven Design, is great. It offers a mental framework for thinking deeper about the abstraction of object oriented programming.