2022 was a special year. My wife and I moved! After 22 years living in a mobile home park we had a new house built on 6 acres of land we owned. It isn’t a large house but it is all ours.

As this year comes to a close, I want to list all the books I read. I read fewer books (I think?) than last year. Some of them I didn’t finish (for reasons I’ll explain below).

Here is the list of them and a brief mention of the effect they had on me.

The Apollo Murders, Chris Hadfield 2021
I read An Astronaut’s Guide to Life on Earth and enjoyed it very much. When I heard the author was creating a fiction book I was all in. I wasn’t disappointed either. The book was just my style. It was deep in science and space travel, history, mystery and adventure. Hadfield captures the era of early space flight vividly and I really enjoyed how real people and events were wrapped into the story. Hadfield’s first fiction book was a great success in my mind. I can’t wait for the next one.

System Error Where Big Tech Went Wrong and How We Can Reboot, Rob Reich, Mehran Sahami, Jeremy M. Weinstein 2021
A a software developer I have a front row seat for how technology can affect people. I’ve spent the past 8 years observing people’s use of social media. And I think it is just flat out broken. I wanted to know what others thought of how the larger companies influence (ie. manipulate) people. This book was a chance to gain a bit of insight. I didn’t agree with all the points the author’s made. And they could have reduced several chapters into a few paragraphs (they liked to ramble). But there are some key insights on regulation, free speech and how to better manage our own future that were worth the read.

Accelerate: The Science of Lean Software and DevOps , Nichole Forsgren, PhD, Jez Humble, Gene Kim 2018
This book had been recommended several times and I decided to give it a look. The authors discuss their research, survey methodology and results of software development companies. The result is a set of metrics that can help predict higher performance. Some of the discussions rang true for me based on my experiences while others did not. The ramifications of their research is that software development companies need to change the way they work in order to improve. Not an easy sell. Some of what they describe can be hard to achieve. But the ideas are sound and they back up their recommendations with a lot of data and research and science. Far better that basing it on the experiences of a single team on a single project with a lot of guess work.

Imperial Earth, Arthur C. Clarke 1975
I first read Imperial Earth as a young adult and found it fascinating. It introduced me to pentominoes (I even had my Dad craft me a set of the 12 shapes out of wood… which I still have 30 years later). I decided to re-read the novel and I must admit I was surprised how much of the story I had forgotten. The book is pure science fiction at its best, but I’d admit it probably isn’t for everyone. Clarke describes what the future might be like using science and ideas from the early 1970s. Most of them seem still plausible today, but a few not so much. It reminded me of 20,000 Leagues Under the Sea in how it creates a fantastic world and describes it to the reader with all the wonder it can muster.

Modern Software Engineering, Dave Farley 2022
I read Farley’s book Continuous Delivery when it was first released and re-read it last year. When I heard Farley had a new book out I bought it without much thought of the content. I knew I would enjoy it. But I wasn’t prepared for the impact this book would have on my ideas of software development and how I perceive myself as a software engineer. I had always scoffed at people who described themselves as a ‘software engineer’ because I felt that what we do isn’t really an engineering discipline. At least when compared to electrical, mechanical or civil engineering. But this book changed my mind. Engineering is the use of scientific principles to design and build things. And Farley lays out an impressive case for how we can develop software with a true engineering approach. I have read this book twice now and am starting it for a third time. It is that good. Every developer should read this.

Software Mistakes and Tradeoffs, Tomasz Lelek and Jon Skeet 2022
I wanted to enjoy this book more than I did. The book tackles various topics of software development and highlights how the decisions we make can influence the successful development of software products. All decisions have tradeoffs and the authors walk you through a lot of ideas to think about. But the book felt a bit bland. And maybe that’s not a bad thing? I don’t know. But I’m not sure there is much I can apply to my day-to-day work. That being said I am only half-way through so I need to perhaps revise my review once I am finished.

Debug It!, Paul Butcher 2009
As part of packing for our move this year I came across several books I purchased but never read. Debug It! was one of these and I decided to give it a read (or toss it!). I was impressed. And yes, I should have read it a long time ago. Debugging software is not a simple activity. You can spend a lifetime debugging software and never learn good debugging techniques. This book was a wealth of good advice. It describes debugging from a logical, experimental approach. It teaches good habits and more than a few ways to prevent you from having to debug your code in the first place. I’d recommend this to any developer, but especially those who have not yet done a lot of debugging.

Programming TypeScript, Boris Cherny 2019
Effective TypeScript, Dan Vanderkam 2019
I discovered this year that my knowledge and understanding of TypeScript had been pretty bad. I studied and learned TypeScript years ago and the language has advanced and evolved significantly since then. So it was time for a reset. I bought a Effective TypeScript and dove in. I realized right away that there were some core concepts I needed to understand first. So I switched to another book Programming TypeScript which was more what I needed. It was a great re-introduction to TypeScript. It was the book I wished I could have read back in 2015 when I first learned TypeScript. Once I completed it, I returned to Effective TypeScript and found it much more engaging. With the basics under my belt, the context of the ideas and advice made much more sense.

The Passage, Justin Cronin 2010
THis book was a gift and I liked it right from the start. The first 1/3 of the book was fast-paced and very well written. It described a world for the characters and really put you in the heart of the action. The book then time-jumps to the future with a completely new set of characters… which is where I am now. I have not finished the book, but based on the first 1/3 I can’t wait to see where it takes me.

The Books I Read in 2021