At PM Connect, self-development and professional growth are at the heart of our culture.
We empower our people to keep learning, and with a great book you’re onto a winner.
Our CTO Andrew Robins reveals 10 of his top books about tech. From design principles that can apply to door handles as well as code, to dispelling DevOps myths. We’ll hand over to him:
I am an avid reader, that’s for sure. So rather than focusing on any one particular subject, I have chosen 10 of my favourite books, and tried to cover a broad range of areas of tech (history, industry, development, management and design).
In no particular order, they are…
- The Design of Everyday Things — Don Norman (1988)
This is an excellent book, with great significance to software development whilst not actually being about it.
It’s a book about designing things, whatever those things might be — if your job in any way involves making things which other people interact with, whether digital or analogue, you will learn something from this book. You will learn about how to think about design.
The objects studied might be as banal as door handles, kettles or (desk) phones, but the points about user centred design are as valid today as they were 32 years ago.
- Code: The Hidden Language of Computer Hardware and Software — Charles Petzold (2000)
If you know nothing about computing, you will love this book as it follows the historical ‘journey’ of code from morse through to http, explaining how we got to where we are today.
Along the way, Petzold stops off at numerous important points in history, covering topics such as braille, telegraphs, Boolean logic, electric circuits, peripherals, barcodes and GUIs, explaining them all with brilliant clarity.
This is a great example of a writer doing an excellent job of explaining the evolution of technology in an enjoyable, highly readable way that will entertain both those with and without domain knowledge.
- The Mythical Man Month and Other Essays on Software Engineering — Frederick P Brooks (1975)
This is one of the most referenced books ever written about computing. If you have worked in software development for any length of time, then it is pretty much unimaginable that you will not have thought about, encountered or suffered from the best-known thesis of this book — ‘adding manpower to a late software project makes it later’.
The failure to fully understand the potential damage of multiple developers treading all over each others’ toes in a desperate race to finish a project is one of the biggest gaps in understanding between developer and manager.
This collection is worth reading for the ‘big ticket’ essay alone, but the wider collection is, in places, still remarkably relevant.
- Burn Rate — Michael Wolff (1998)
If you want to know how the first dot-com boom happened, and even more so, why it exploded, then you should read this book. This is the story of how, in 1994, while working as a print journalist, Michael Wolff set up Wolff New Media, with a mission to do, well, he didn’t really know what, but it would be online — whatever it was.
A brilliantly funny book, once you’ve read it the only thing that will surprise you is that it took so long for the bubble to burst at all.
- The Lean Startup — Eric Ries (2011).
This is a succinct, informative summary of a collection of arguments you’ve possibly seen before, only probably not in the same place, and not presented in a way which shows so clearly how they all work together.
Although presented here with reference to startups, pretty much all the points are equally valid in the context of established companies. If you are involved in the planning, execution and delivery of software projects, this is very much worth a read.
- Head First Design Patterns — Freeman, Robson, Bates, Sierra (2014)
In years of hiring and working with developers, I have learned (sometimes the hard way) that the really good ones are the ones who understand how to design, how to architect a project. Pretty much anyone can commit to memory the syntax of whichever language they work with.
Designing software to be efficient, extensible, maintainable and understandable is much harder. This book explains how to apply design patterns to achieve that.
Although the examples are in Java, they are sufficiently generic to make sense to non-Java people, and help to make this the most accessible guide to a complicated subject you’ll find.
- The Soul of A New Machine — Tracy Kidder (1981)
One of the truly great books of the early days of computing. Tracy Kidder chronicles what happens when a company called Data General Corporation decides to design a next generation computer.
What we see is a story of competing factions, changing focus, risk-taking, shifting objectives, and desperate changes in direction as the teams struggle to deliver what they see as the future.
Incredible to think that this book was written so long ago, as I suspect many of the challenges, frustrations, failures and battles described remain relevant in the industry today.
- The Phoenix Project — Gene Kim, Kevin Behr, George Spafford (2013)
Dev Ops manages to combine being one of the most sought-after areas of specialisation in the IT job market today with being something which manages to remain mostly misunderstood.
The Phoenix Project shines a light through the (let’s be honest, slightly weird) medium of a work of fiction based on a bloke called Bill. It is an excellent explanation of the importance of Dev Ops, and how to overcome some of the more common day to day problems you’ll encounter.
- Peopleware — Tom de Marco, Timothy Lister (1987)
I have long thought that managing development teams is not primarily a technical task. The technical bits are the easy parts to sort out. It is the people that make it challenging.
Peopleware is primarily about creating the environment, culture, teams, skillsets and physical spaces in which to successfully carry out software development.
I have not read another book which has had such an ongoing influence on my career, on how software development works.
- The Art of Human-Computer Interface Design — Brenda Laurel, ed (1990)
In the early 90s, I did a Masters in Communication in Computing. This entailed learning to develop, as you’d expect, but we also learned about the wider subject, and in particular the growing field of Human Computer Interface design.
If I am honest, this is the bit I enjoyed most, and the very first book we were told to buy was this compendium of articles on interface design, edited by Brenda Laurel.
Although it is out of print now, there are usually second hand copies knocking around on eBay or Amazon (as above). Well worth a read, even if mainly as a museum piece.
So there you have it, 10 suggestions for building a well-rounded technical book collection. A quick shout out, though, for a few other excellent books which almost made the cut — Lab Rats by Dan Lyons, The Innovators by Walter Isaacson, People vs Tech by Jamie Bartlett are several that spring to mind.
Find more of Andrew’s insights on his Medium blog here.