In 2020 I took upon myself to start looking up some popular books from the industry. During my career, no one has ever suggested any tech reading for me. I haven’t been interested or knowledgeable about it either. The main focus for me during the first four-five years of my career was simply to be a better programmer in general.
I took upon myself to start looking up some popular books from the industry. I wanted to become a better software engineer and architect. This lead me to write up a short list of books that I’d be interested in. I managed to read only a few of them during 2021, but I have multiple titles ready for this year!
Below I’ve listed some of the books I read in 2021 and what I’ve already read in 2022. I’ve also read some fantasy literature (like the Witcher series), but those don’t really fall into the context of this blog.
2021
Building Microservices - Designing Fine-Grained Systems
by Sam Newman
Great book for anyone who’s interested in distributed systems or more specifically, microservices. A must for any organization that is considering a shift to then from a monolithic system. I ordered this book in fall of 2021, when the 2nd edition came out, which was a complete rewrite from the 1st edition released in 2015. 500 pages of great knowledge that stems from experience and will most likely teach you a thing or two.
Clean Agile
by Robert C. Martin
Being interested in agile, this book was great lightweight reading from one of the original signers of the Agile manifesto. Kind of a memoir from Robert C. Martin of old experiences with reflections into agile from his perspective.
Domain-Driven Design in PHP
by Carlos Buenosvinos, Christian Soronellas, Keyvan Akbary
Having read Eric Evans’, Domain Driven Design, this was a nice continuum to it. Written with my primary language (PHP) in mind. The book is highly technical, describing how to design your application from a programmers perspective, with tons of code examples. A good read with some nice tips as I’m using DDD in a PHP app I’m currently developing.
Turn The Ship Around!, A True Story of Building Leaders by Breaking the Rules
by L. David Marquet
I got interested in leadership at some point and noticed someone recommend this book in an article. It is a very nice story about empowering a submarine crew to work more autonomously in a very top-down lead organization (the navy). The idea of empowerment can be applied in any industry and will result in more performant employees, or team members.
Radical Candor (Audio)
by Kim Scott
This was one of the rare audio books I’ve ever listened to. This book describes a management style that builds upon a culture of feedback with praise and criticisms. In my opinion (and I could’ve interpreted the book wrong), the title of the book implies aggressive directness with your feedback and some people are not capable of handling that at all. You should be very careful applying this style of management without previous training in leadership or management. It does not apply to all people and you should instead identify the people you can apply it with.
Patterns of Enterprise Application Architecture
by Martin Fowler
This book is more of a reference book containing a wide variety of design patterns in architecture. Some of them are quite old, but do apply in modern context. Not a very thrilling book, but maybe something you can keep on the shelf like an encyclopedia, that you can look up when you need to.
Clean Architecture
by Robert C. Martin
A great book that explains how to design a loosely coupled architecture. This book is something you can find any architect recommending and in my opinion it contained the best description I’ve ever read about the SOLID principles. A must read if you intend on designing application architectures.
Domain Driven Design: Tackling Complexity at the Heart of Software
by Eric Evans
One of the most important books any proper developer and architect should read. While you might not apply Domain Driven Design (DDD) in your applications, knowing this concept is a must. You will run into terminology like ubiquitous language, bounded context and aggregates in this line of work. It will also teach you a completely new perspective on how to model your application from the perspective of any domain.
Don’t Make Me Think (Revisited)
by Steve Krug
This was the first UI\UX books I ever read. It is highly recommended to anyone who does user experience design. I didn’t do much design work in 2021, so I’ve already forgotten the contents of the book.
2022
Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations
by Nicole Forsgren PhD, Jez Humble, Gene Kim
One of the most important books for any developer, architect, product owner, manager, CTO, CIO or CEO who wants to improve their technology team’s performance. This book summarizes the research behind the State of DevOps studies between 2014-2017. It explains how the authors identified the elements that make up the most high performing teams in tech and what scientific methods they used to perform these studies. I truly recommend reading this book, taking it and applying it’s teachings in your organization if you want to improve performance and actually measure it using outcomes, instead of outputs. These concepts don’t just include implementing technical solutions, but how those solutions also lead to a better culture, architecture, innovation and more.
Surrounded by Bad Bosses (And Lazy Employees)
by Thomas Erikson
This book mostly describes how to identify different types of bosses or employees, using the DISA model, with (in my opinion) very far end examples. It tells you how to react and communicate with them, so you can build a better working relationship. It does not contain many real life examples, which was a shame, but I did pick up a few nice ideas from it.