Reading

I have compiled this list primarily to remind myself of great books I have read that can also help the people I am mentoring. I think it might be useful for others as well. The books are not in any particular order.

The Staff Engineer’s Path

Great book that I plan to use for mentees who want to ‘level up’. Clear explanation of what is expected of seniors and the roles of staff.

Main topics

Leadership, Expectations for senior+ roles, Project management

Most useful chapters

Three maps, Finite time, You’re A Role Model Now (Sorry)

Tidy First?

Small book that can be read in a single afternoon. First part is about refactoring, second half is much more about business and if we should really clean up, why and when. I would recommend the first part to juniors instead of clean code (really, please do not recommend clean code…). The second part is good if you feel a bit more philosophical, but in the context of mentoring I do not see many occasions to really recommend it. Still, the second part is a maximum of 2 hours reading, so I would not skip it myself.

Main topics

Code quality, refactoring

Most useful chapters

first half of the book

Fundamentals of Software Architecture

When I wanted to learn more about architecture I started with this book and I think I was really lucky. It is a great introduction, starting with what architecture is, how it can help software, what tools architects use… The second part of the book is an overview of different architectural styles where the concepts from the first part of the book are put into practice.

Main topics

Architecture

Most useful chapters

Architectural thinking, Modularity, Second half as a reference to have at hand

Good strategy / bad strategy

This book is more business-oriented than code-oriented. But even for developers, understanding the reasoning behind business decisions (or the lack of reasoning) is very important. I would recommend it to someone who is struggling to understand business decisions, or the reasons why the big rewrite was rejected by the client.

Main topics

business, strategy, big picture

Most useful chapters

Bad strategy, Why so much bad strategy, Proximate objectives, Inertia and Entropy

The DevOps handbook

Classic DevOps book and still the best overview of DevOps you can read. Anyone who runs their own software should read this.

Main topics

DevOps, improvement of existing systems, Operations

Most useful chapters

Part I - three ways, Enable fast and reliable automated testing, Automate and enable low risk deployments

A philosophy of software design

If you have junior and want to push his understanding of coding a bit further, I would recommend this. It goes deeper than best practices and talks about concepts and what makes good code good. I red this one a long time ago (so no recommended chapters - sorry) but the memory of reading this is that the world of software engineering expanded right as I was reading.

main topics

abstraction, modularisation, code quality

An Elegant Puzzle

This book is about management. As with Good Strategy/Bad Strategy, I think it is good for developers to have a better understanding of management for their own good. This book is written for developers moving into management roles and a lot of the lessons covered are useful event if your dream is to sit uninterrupted building new features. Big advantage of the book is that it is very practical, it does not cover too much theory but gives clear specific advice.

Main topics

leadership, tech strategy, management

Most useful chapters

Product management - exploration, selection, validation, Visions and Strategies, Kill your heroes

The Software Engineer’s Guidebook

I did not like this book as much as others on the list, but it is still worth mentioning. Mainly because this book covers a lot of topics. Great to quickly refer someone to other materials or to get an overview of something.

Missing books

In this list I have included books that are also good, but are either too technology specific or not universal enough. Some of them I am currently reading but have not finished, so they have not made the list.