Reading List
I am an avid reading fan, leaning towards non-fiction. This page is a collection of books that I have read and would recommend to others. Most of them are related to career in Software Engineering, but there is an odd book that has provided me with a different perspective, enhanced my creative thinking, and helped my career in some other way.
Software Engineering at Google
Google engineers share their experience of what it takes to keep the code running and improving for 20+ years. There is a lot of emphasis on why certain things are done the way they are. This gives an opportunity to pick and adapt certain practices because it’s possible to understand why they work, why they might be relevant to the reader’s situation. » Download (free) » Buy on O’Reilly
Pragmatic Programmer
Starting my career I worked at a digital agency, where the speed of development was important, but not so much the quality. Me and a couple of colleagues were not content with that, and after the company bought this book we started to methodically go through each chapter and try to apply the ideas. Having many short term projects we could really dig in, experiment each concept well, and as the result - learned a lot. » Buy from Publisher
Coders at Work
A collection of interviews with prominent software engineers from 10+ years ago. Each of them have a unique view of the craft, and insights into what is important. Early in my professional career I used this as an inspiration of what things I can try to apply myself - some were forgotten, but some of them stuck and I still do to this day. » Buy from Author
The Systems Bible
One of my favourite axioms of system design comes from this book, the Gall’s Law: “A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.” While Gall’s Law is the most famous one, the book is full of other excellent insight that I found useful. » Buy on Amazon
The Psychology of Computer Programming
Originially published in 1971, this book is probably one of the most underrated books noone heard of. Even though it was written 50 odd years ago and it focuses mostly on psychological, social and environmental aspects of programming, that are still relevant today. A few blog posts that I have “On The Soft Aspects Of …” come from the back of this book teaching me to think that not every problem is a technical one. » Buy from Author
Orbiting a Giant Hairball
In the words of the author: “To find Orbit around a corporate Hairball is to find a place of balance where you benefit from the physical, intellectual and philosophical resources of the organization without becoming entombed in the bureaucracy of the institution.” This book taught how to keep my creativity on while working in a place where a lot of rules are largely already established. And whento challenge those rules. » Buy on Amazon
Rules for Radicals
A highly controversial book, depending which end of political spectrum you come from. However, for me personally, this book taught that the only way to change a system is by exploiting its own rules against it and what a big part of it is creative thinking. These lessons have been very helpful for me when communicating the impact of tech debt to stakeholders - I focus not what problems I am having because of that debt, but look for ways to frame it in their terms. » Buy on Amazon
Turn The Ship Around
By far the best management advice book that had a tangible impact on my team leading practices. After reading this, I transformed my team to own their work at the level they are working at. The book tells a fascinating story how the author transformed the team of a submarine in the US Navy from the worst performing to the best one, in a year. » Buy from Author