The other day I was talking to a client of mine about some of the books that inspired me early on in my career. The three books I chose represented an important step of my journey early on as a software developer.
The first book that I chose was The C Programming Language by Brian Kernighan and Dennis Ritchie. Circa 1978, this is often referred to as “KnR”. When I first started learning C back in college in the mid-90s, this book represented the ultimate guide for how to code. Even if you aren’t writing C, a lot of the lessons in this book carry forward in many other languages. This book really represented a starting point for me in thinking about how to write software.
The second book, Domain Driven Design by Eric Evans, was one that I discovered in roughly 2005 while I was at Rackspace. At the time I was working on a small team but we were writing software that had to work with other systems within a much larger ecosystem. This book taught me how to think about not just writing software that solved the problem at hand, but software that was elegant, was readable by others, and could be built upon by a much larger team. I think back to lessons from this book quite often and refer junior developers to it on a fairly regular basis.
The third book is a little bit of a departure from pure software development learning. That is Continuous Delivery by Jez Humble and David Farley. For those in the DevOps world, this was really the early days of thinking about the notion of not just writing and testing software locally, but how to build, test, and deploy software in a large team very rapidly. Even though the book was published in 2011, a lot of these lessons really make up the foundational thought processes for our modern CI/CD pipelines. This will help you think about building and deploying software quickly and efficiently.
What books inspired you?
