Not sure if you know — those who follow me on Twitter definitely know — but I am very passionate around improving my craft. I typically do so through reading whatever I can get my hands on — this includes blog posts, tweets, threads on the Sitecore Community site and, most especially, software development books.
Since a lot of people know that I read a ton of books, I am frequently asked on what software development books I recommend. A few years ago, I had a huge list of recommended books that I could easily share via email but that was many computers ago, and I no longer have that list. I’m hoping this blog post can serve as a replacement for it.
I have read every book on this list, and recommend them all. I hope you find them as beneficial as I have.
Keep in mind that this list is not final. I am going to keep adding to it as I read more, or remember other books that I’ve read and recommend (I used to have a library of about 900 books with a diverse set of subjects including Psychology, Sociology, Theoretical Physics, Computer Science and Software Development but donated all but 5 books to charity in 2013).
Professional Sitecore Development by John West
Software Engineering/Software Development/Software Craftsmanship
Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
Agile Principles, Patterns, and Practices in C# by Robert C. Martin
The Clean Coder: A Code of Conduct for Professional Programmers by Robert C. Martin
Refactoring: Improving the Design of Existing Code by Martin Fowler
Working Effectively with Legacy Code by Michael Feathers
The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and Dave Thomas
The Mythical Man-Month: Essays on Software Engineering by Frederick P. Brooks Jr.
The Passionate Programmer: Creating a Remarkable Career in Software Development by Chad Fowler
Dependency Injection in .NET by Mark Seemann
Implementation Patterns by Kent Beck
Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt
Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (The Gang of Four)
Head First Design Patterns by Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson
Design Patterns Explained: A New Perspective on Object-Oriented Design by Alan Shalloway
Programming in the Large with Design Patterns by Eddie Burris
Pattern Hatching: Design Patterns Applied by John Vlissides
Refactoring to Patterns by Joshua Kerievsky
UML Distilled: A Brief Guide to the Standard Object Modeling Language by Martin Fowler
Agile Estimating and Planning by Mike Cohn
Succeeding with Agile: Software Development Using Scrum by Mike Cohn
Agile Retrospectives: Making Good Teams Great by Esther Derby, Diana Larsen, Ken Schwaber
Coaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Managers in Transition by Lyssa Adkins
The Art of Agile Development by James Shore
The Art of Unit Testing: with Examples in .NET by Roy Osherove
Test Driven Development: By Example by Kent Beck
If you have any books that you would like to recommend, please share in a comment.
Until next time, keep on learning and keep on Sitecoring!