Today’s header image was created by chuttersnap at Unsplash
Last time, I discussed the first five books in my top 10 list of books which have had a positive effect on my software development career.
If you remember, I said that I wasn’t going to list the obvious choices (like Code Complete), because they were obvious. Also because I wouldn’t be able to bring much to the conversation about them.
As a little reminder…
How Are You Going To Do This?
I’ll list each book, discuss why I think you should read it and how I think it’s helped me to improve. I’ll also link to the book on Good Reads where you can see what other people think about each book, and I’ll even have a link directly to Amazon where you can buy a copy of the book.
The List – Another TL;DR
Here is the same list from last time, complete with links to GoodReads, before we go into the remaining five books, I thought it would be a good idea to list them again.
As with last time I’ve not ranked them. Each book appears in the list, but not in any kind of order.
- Code: The Hidden Language of Computer Hardware and Software
- The Imposter’s Handbook
- Clean Code: A Handbook of Agile Software Craftsmanship
- The Complete Software Developer’s Career Guide
- Algorithms To Live By
I covered these first five in the previous part in this series
- The Spirit of Kaizen: Creating Lasting Excellence One Small Step at a Time
- Masters of Doom
- Effective Programming: More Than Writing Code
- Dreaming in Code
- The Phoenix Project
these would make amazing gifts for the software developer in your life
Let’s get back to the list.
The Spirit of Kaizen: Creating Lasting Excellence One Small Step at a Time
What does Kaizen have to do with software development? Well, let’s take a quick look at the Japanese phrase Kaizen:

The little characters above the kanji are called Furigana and aid the reader in pronouncing them
This is usually translated into “Change for the Better”, but actually translates to “betterment” or “improvement”.
Kaizen is the name given to a methodology which was largely adopted by the Japanese after the Second World War, that of continuous improvement through small changes.
The theory goes that it’s much easier to make lasting changes if you make them in tiny increments.
this backed up by the habit loop in Charles Duhigg’s The Power Of Habit
Using a constant feedback loop of:
- Observe
- Plan
- Change
- Reflect
you can make small, but fast changes to your behaviour, thought processes or habits
it also sounds a heck of a lot like Agile, to me
Buy “The Spirit of Kaizen: Creating Lasting Excellence One Small Step at a Time” at Amazon
The Spirit of Kaizen is both a fantastic introduction to the topic of Kaizen and the history of the methodology, but also a fantastic story about how it can be utilised to improve business processes. It draws from Mauerer’s practise of being a consultant.
interesting side note: I first heard about this book on The Art of Manliness podcast
Masters Of Doom: How two guys created an empire and transformed pop culture
Think what you want of First Person Shooters, and video games for that matter
did I say that I run a video games blog with my brother 😛
you can’t deny the impact that the two Johns (Carmack and Romero) had on the industry in the early 90s. They effectively revolutionised the genre, using computers which didn’t belong to them, in their own time.
Buy “Masters Of Doom: How two guys created an empire and transformed pop culture” at Amazon
This book chronicles the forming of iD software and the early design documents which became the Doom bible. It’s a fascinating read, and an amazing entry point into the mind of one of the best
in my opinion
contemporary software engineer: John Carmack. How good is he? Well, every time someone said that something couldn’t be done, Carmack made it happen. you can see footage of Carmack’s remake of Super Mario Bros. 3 (mentioned in the book) here, for example.
Nintendo had informed Carmack that porting SMB3 to PC would be impossible due to technical limitations
Effective Programming: More Than Writing Code
I’m sure you’ve heard of Jeff Atwood
if you don’t read his blog, then you really should
or one of the products he has created
There’s more to being a software engineer than just writing code, that much is a given. This book takes the reader through a whistle stop tour of some of those topics in order to take you from being a good engineer to being a great engineer.
Buy “Effective Programming: More Than Writing Code” at Amazon
Sure this book is comprised of some of his more famous blog posts, but it’s great to have to hand for reference. Plus, using a computer in order to learn this these things feels a little antithetical.
Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
We all have those projects which seem to go nowhere or suffer from a little scope creep
“if you could just add this one tiny feature…”
Imagine that happening with your dream project. Now imagine that you’ve secured thousands of dollars of investor money. Now imagine that your progress is being reported very, very publicly. NOW imagine
I’m already imagining too much
that the project process starts to slip.
Dreaming in Code is about the development of Chandler, but more importantly a glimpse into what open source project management is like.
I have no idea how the Linux Foundation manages it, if I’m honest.
Dreaming in Code covers what happens when a project’s goals aren’t met and the mad scramble which happens in order to reach those goals.
Buy “Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software” at Amazon
The more important outcome of the events in this book was the creation of the Open Source Applications Foundation.
Do you have a Playstation 2/3/4/PSP/PSP Vita? Do you have an Android device? Do you have a wireless router? Do you access the Internet?
If you answered yes to any of these questions then, without a doubt, you use open source software everyday. Regardless of whether you work in open or closed source software development, the lessons to be learned in this book are vital.
The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win
Oh boy. This book.
It’s all because to the folks at the CodingBlocks.{NET} slack group that I know about this book.
so big thanks to them.
I’m sure that I’d have heard about it eventually, were it not for them. But thank goodness for all those folks telling me about it.
Let me start by saying this: if you work as, or with software developers/coders/IT folks/engineers, then this book WILL change the way that you see your business. You’ll see how everything in the business is meant to drive towards a single goal, and that you’re probably surrounded by folks who (with or without knowing it) undermine the businesses ability to reach that goal on a daily basis.
Reading this book introduced me to a bunch of business management processes. It even lightly
and I mean really lightly
touches on Kaizen (without calling it out by name).
Sure, it’s fiction but the authors know the industry. Really, really well. The characters could be almost anyone at your company, without being a caricature. It’s scary how so many big companies act the same way. Even Microsoft acted the way that Parts Unlimited
the fictional company in the book
did, back in the day – as pointed out in the references section at the back of the book.
Buy “The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win” at Amazon
There is so much information in this book that it benefits from multiple reads. From the Theory of Constraints to Kanban and everything in between. Seriously, you’ll learn so much about business project management and how development is meant to be done from reading this book.
If you’re a developer/Ops/DevOps/IT person and you take your job seriously:
READ. THIS. BOOK
That’ll do it for my two part list of top 10 dev books… for this year, at least. I’m keeping a log of the books that I read and I’m going to be doing another one of these lists, this time next year.
If you’re a developer (or any other kind of IT person), what would your top 3 recommended books be? Are they the same as mine?
If you’re not a developer, what would your top 3 recommended books be?
Let me know in the comments below and I’ll make sure to read them in the coming year.