I have read hundreds of books over the years and some of them have had a profound effect on me. In this post, I list my all-time favourite software development books. As you can imagine, this always proves to be a very difficult task; I could easily have tripled the size of the list this year, such has been the quality of recent publications, but keeping it small forces me to make hard decisions.
I read software development books to learn. I practice writing code to remember.
So, here it is - My 10 favourite development books 2023 (in alphabetical order):
- Code That Fits In Your Head by Mark Seemann
- Designing Data-Intensive Applications by Martin Kleppmann
- Domain-Driven Design by Eric Evans
- Domain Modelling Made Functional by Scott Wlaschin
- Extreme Programming Explained by Kent Beck
- Grokking Simplicity by Eric Normand
- Growing Object Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce
- Modern Software Engineering by Dave Farley
- Monolith to Microservices by Sam Newman
- Software Architecture: The Hard Parts by Neal Ford et al
I suppose that the one big surprise from someone who mainly travels the functional programming path, is an OOP book. However, GOOS, as it is commonly referred to, shaped how I approached writing code with regard to test-first and TDD.
The least surprising thing given the speed at which things go in and out of fashion, is that most of my chosen books are language agnostic.