My reading list
I try to read broadly. I don't read a lot, but it's surprising how a little bit of reading mounts up over time. I also get a lot of ideas from online communities of various sorts, and I'll try to add these over time as well.
This is also serving as my own to-read list, so not everything here has actually been read by me.
Code That Fits In Your Head
I came across Code That Fits In Your Head after a colleague attended a workshop with the author, Mark Seeman, at NDC London. The idea that "anyone can write code that a computer can understand, the trick is to write code that a human can understand" and from what I understand, this is a really helpful set of heuristics to achieve this.
Status: Not read yet
Don't Read Clean Code
Clean Code by the creepy uncle who shall not be named is not a book I recommend. Not because I don't love clean code (I do) but because (1) I don't think this book gives good suggestions on how to avoid it and (2) because of the author's well-documented appalling behaviour. The two are not unrelated.
The author takes a gatekeeping, perfectionist, hierarchical and right-first-time approach to clean code. This is completely in contrast to the times where I've had success with actually creating teams that write clean code, which has focused on pair programming, highly psychologically safe environments, feedback and continuous improvement. The cleanest code I saw was with a team who had a team motto of "refactor with joy and wild abandon", and was extremely junior-weighted.
If you're looking for good reference guides to improve your code craft, instead try:
- The Pragmatic Programmer by Andrew Hunt and David Thomas
- Code Complete by Steve McConnell
Domain-Driven Design: Tackling Complexity in the Heart of Software
Domain-driven design should be a required skill for any enterprise-scale developer (and any working in companies who aspire to that size), and this book by Eric Evans is the go-to reference as far as I'm aware.
Status: Read a long time ago, I should probably refresh.
Accelerate: Building and scaling high performing technology organisations by Dr Nicole Forsgren is (or should be) a core reference text for everyone in software delivery. It's a bit dry and academic at times, but works surprisingly well as a troubleshooting reference guide when things aren't going as well as you think they should be.
The Phoenix Project and The Unicorn Project
The Phoenix Project is a DevOps classic, and I have to say the first 1/3 of the book was pretty difficult to read as it bundled together all the worst parts of all the worst projects I'd ever been on. It just made the recovery all the more glorious to read.
I haven't read the Unicorn Project yet, but it tackles some of the broader thinking that's emerged as the DevOps movement gains maturity.
The Machine That Changed The World
This is part analysis of Lean methodologies and part history lesson on the car industry. I found the combination of this and The Goal to give two very different and complementary pictures of Lean manufacturing and the underlying principles that carry forward into DevOps and Agile approaches.
What a book. Incredible.
This novel is based around a factory in the 1980s, but don't let that make you think it's any less relevant. This book explains Theory of Constraints beautifully and once you've seen it, you'll see it everywhere, and it will completely change the way you look at systems.
A must-read for any systems thinkers.
The 4 Disciplines of Execution
Ok, I haven't read this one yet. But it's been sitting on my desk for quite a while now.
I don't like OKRs. They're messy and complex and I've spoken to a lot of people about them and the best I've heard was "we were able to succeed with OKRs, but it felt like it was despite them not because of them"
4DX is much less well known but seems to approach the same problem from a position that's much more philosophically aligned with what I think good software delivery looks like.
Product and Strategy
Empowered and Inspired
Good Strategy, Bad Strategy
Good to Great and Built to Last
Ok, I haven't actually read these. But their ideas are so impactful, they've trickled through to me in many different ways. I do intend to wrap up my thinking properly on this at some point and actually read the books...
People, Leadership and Culture
The Fifth Discipline
The Advantage by Patrick Lencioni was recently highly recommended to me. I've already read 5 Dysfunctions of a Team by the same author and would recommend it - it's very easy to read and has some easy to absorb ideas. Looking forward to getting into The Advantage