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).
Sitecore Development
-
Professional Sitecore Development by John West
http://www.amazon.com/Professional-Sitecore-Development-John-West/dp/047093901X
Software Engineering/Software Development/Software Craftsmanship
-
Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882 -
Agile Principles, Patterns, and Practices in C# by Robert C. Martin
www.amazon.com/Agile-Principles-Patterns-Practices-C/dp/0131857258 -
The Clean Coder: A Code of Conduct for Professional Programmers by Robert C. Martin
http://www.amazon.com/Clean-Coder-Conduct-Professional-Programmers/dp/0137081073/ -
Refactoring: Improving the Design of Existing Code by Martin Fowler
http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672 -
Working Effectively with Legacy Code by Michael Feathers
http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052/ -
The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and Dave Thomas
http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ -
The Mythical Man-Month: Essays on Software Engineering by Frederick P. Brooks Jr.
http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/ -
The Passionate Programmer: Creating a Remarkable Career in Software Development by Chad Fowler
http://www.amazon.com/The-Passionate-Programmer-Remarkable-Development/dp/1934356344/ -
Dependency Injection in .NET by Mark Seemann
http://www.amazon.com/Dependency-Injection-NET-Mark-Seemann/dp/1935182501/ -
Implementation Patterns by Kent Beck
http://www.amazon.com/Implementation-Patterns-Kent-Beck/dp/0321413091/ -
Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt
http://www.amazon.com/Pragmatic-Thinking-Learning-Refactor-Programmers/dp/1934356050/
Design Patterns
-
Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (The Gang of Four)
http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ -
Head First Design Patterns by Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson
http://www.amazon.com/Head-First-Design-Patterns-Freeman/dp/0596007124/ -
Design Patterns Explained: A New Perspective on Object-Oriented Design by Alan Shalloway
http://www.amazon.com/Design-Patterns-Explained-Perspective-Object-Oriented/dp/0321247140/ -
Programming in the Large with Design Patterns by Eddie Burris
http://www.amazon.com/Programming-Large-Design-Patterns-Burris/dp/0615662145/ -
Pattern Hatching: Design Patterns Applied by John Vlissides
http://www.amazon.com/Pattern-Hatching-Design-Patterns-Applied/dp/0201432935/ -
Refactoring to Patterns by Joshua Kerievsky
http://www.amazon.com/Refactoring-Patterns-Joshua-Kerievsky/dp/0321213351/
JavaScript
-
JavaScript: The Good Parts by Douglas Crockford
http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742/
UML
-
UML Distilled: A Brief Guide to the Standard Object Modeling Language by Martin Fowler
http://www.amazon.com/UML-Distilled-Standard-Modeling-Language-ebook/dp/B000OZ0N8A/
SCRUM/Agile
-
Agile Estimating and Planning by Mike Cohn
http://www.amazon.com/Agile-Estimating-Planning-Mike-Cohn/dp/0131479415/ -
Succeeding with Agile: Software Development Using Scrum by Mike Cohn
http://www.amazon.com/Succeeding-Agile-Software-Development-Using/dp/0321579364 -
Agile Retrospectives: Making Good Teams Great by Esther Derby, Diana Larsen, Ken Schwaber
http://www.amazon.com/Agile-Retrospectives-Making-Teams-Great/dp/0977616649/ -
Coaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Managers in Transition by Lyssa Adkins
http://www.amazon.com/Coaching-Agile-Teams-ScrumMasters-Addison-Wesley/dp/0321637704/ -
The Art of Agile Development by James Shore
http://www.amazon.com/The-Agile-Development-James-Shore/dp/0596527675/
Unit Testing
-
The Art of Unit Testing: with Examples in .NET by Roy Osherove
http://www.amazon.com/Art-Unit-Testing-Examples-NET/dp/1933988274/ -
Test Driven Development: By Example by Kent Beck
http://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530/
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!
Sizeable and pretty inclusive list 😀 – definitely a few more for my reading list.
I have just bought Domain Driven Design – Eric Evans & Patterns of Enterprise Architecture – Martin Fowler both on recommendation. Will let you know how I get on with them.
Domain Driven Design is excellent. Well worth reading.
Great list Mike! I absolutely loved The Pragmatic Programmer. That book changed everything for me in regards to developing software. A must read for all software engineers, young or old.
Awesome list of books! All developers should be required to read Clean Code before they touch a keyboard. The only 2 that are in my must read list are “Refactoring to Patterns” http://www.amazon.com/Refactoring-Patterns-Joshua-Kerievsky/dp/0321213351 and “Implementing Lean Software Development” http://www.amazon.com/Implementing-Lean-Software-Development-Concept/dp/0321437381
Great List. I’d like to make a suggestion: Sitecore XP: Nonlinear insights contains articles on a variety of subjects relevant to both the technical and business side of SItecore. It’s written by 6 Sitecore MVPs and several Sitecore developers. No email is required. Take a look: http://www.nonlinearcreations.com/Digital/sitecore-the-nonlinear-way