My favourite books as a software dev
This post is a work in progress and it will be constantly revised and updated with new books.
Tech, programming and architecture books
Release It! Second Edition
A book by Michael Nygard, Release It! has great content about designing enterprise-level production systems that are robust, secure and can scale. Just look at the table of contents in the link I provided.
Team Topologies
A book by Matthew Skelton and Manuel Pais about how to "organise business and technology teams for fast flow". I found this book insightful when learning about strategically structuring teams – and I like to think about structuring teams in terms of business areas, using DDD to figure those out.
Google's SRE Book
A great, free book about software reliability engineering – things like alerts, on-call, testing and engineering for reliability etc.
Refactoring
A Martin Fowler classic, this is one of the books that has and will probably continue to age well.
… to be continued
Career development books
Staff Engineer
A book by Will Larson, Staff Engineer is a collection of interviews of staff engineer-level software developers from various companies. I found listening to other people's experiences as tech leads and beyond, and how things work at other companies extremely insightful.
Product and ways of working
Continuous Discovery Habits
A book by Teresa Torres, Continuous Discovery Habits was a great read for me. I got to look at what the team builds through a different lens and work close with our Product Manager to build rich, inspiring, and useful opportunity-solution trees.
Turn the Ship Around!
David Marquet tells an inspiring story about how he changed the mentality of the team he led on the Santa Fe nuclear submarine. He created a workplace where people could become responsible and proactive. We can make parallels to software development teams.
Measure What Matters
This book by John Doerr is mostly a collection of examples of how companies apply OKRs. Don't expect to know how to set good OKRs if you read this book – but I think learning about how they did it at other companies is still valuable. What I did learn is that OKRs can be long-term – and I remember the Netflix example from the book. It will also get you better at identifying bad OKRs.
Team Topologies
This is a book by Matthew Skelton and Manuel Pais that I'll have to revisit a few times. What I found particularly interesting is the 4 types of teams they propose. I'd like to do more exploration of the parallels between those types of teams and the types of systems that domain-driven design theory proposes.
Accelerate
A book by Nicole Forsgren, Jez Humble, Gene Kim this is a great follow-up to the Phoenix Project and the DevOps Handbook. It presents research-backed arguments about what practices seem to make technology teams perform more efficiently and effectively at work.