Software Engineering and DevOps

I’ve read more books and articles / seen more videos than this, but these are what I feel to be important and seminal content that I refer to often. Presented in roughly the order I’ve read them:

  • Design Patterns - This is a pretty foundational read, and though there are aspects at times that seem dated, a number of these patterns really stand the test of time. Moreso, this book engages the mind to start thinking about software in a different way.

  • Scalable and Modular Architecture for CSS - I searched high and low for patterns for CSS. There’s pretty good prescriptive guidance when it comes to most programming languages, but when it came to a logical organization pattern for stylesheets I wandered in the desert for a long time. Until I found this book. I have yet to find a better approach.

  • Smashing Books: 1, 2, 3 + 3 1/3, 4, 5, and more - These books have come out at certain intervals over the years, and although I don’t claim to be a Designer of any sort, what I do know about web design has come from these series of books. Smashing Magazine has also produced other non-numbered books on more specific subjects which are also great.

  • Learning JavaScript Design Patterns - Frontend development has changed a lot but this book first introduced me to some fundamental concepts including the important AMD pattern.

  • Microsoft Visual C# Step by Step, 9th Edition - I read an earlier edition of this book, but you’ll want to get the latest available. It’s not exactly an earth-shattering book, but I decided to retroactively add it to the list, as in hindsight it is a very good book to give to as an introductory book to the C# language for someone who has not used it before.

  • C# Coding Conventions (C# Programming Guide) - I’m a big proponent of “When in Rome, code like the Romans do,” i.e. stick to the conventions of the communities surrounding a given language. These are those conventions for C#.

  • Framework Design Guidelines - Dovetailing off of C# conventions is overall conventions for library design in conjunction with the .NET Framework.

  • Adaptive Code: Agile coding with design patterns and SOLID principles (2nd Edition) (Developer Best Practices) - This is one of those unassuming books that winds up being totally earth-shattering. The SOLID principles are so well laid out this book, and it goes into good depth on a concept that is pretty essential these days: Dependency Injection. And much, much more. I cannot recommend this book highly enough.

  • Microsoft .NET - Architecting Applications for the Enterprise (2nd Edition) (Developer Reference) - After reading Adaptive Code, I recommend people read this book. It builds on those core concepts but takes them up a level into application architectural patterns including DDD and the Domain Model, CQRS, Event Sourcing and more.

  • Building Microservices - After reading the previous two books I highly recommend folks read this one, as it builds on those concepts more. This is another earth-shattering book that will entirely change how you look at software and deployment and a number of practices.

  • Pattern: Backends for Frontends - BFF is a key architectural pattern called out in Building Microservices and one that I reference often in designing applications, especially ones with multiple clients.

  • PowerShell Practice and Style - I looked around for a long time on good conventions for writing PowerShell and came across this from the community. I follow these rules about 95-98% of the time, though Microsoft themselves will have slightly different practices – what I wind up doing is following convention based on the project, so that at least within a given project things are consistent. Common things that vary per project are, brackets opening on the same line and the use of backticks.

  • Getting Started with PowerShell Desired State Configuration (DSC) - A great course for PowerShell DSC and PowerShell in general – lots of great tidbits shared throughout by Jeffrey Snover, the inventor of PowerShell.

  • Advanced PowerShell Desired State Configuration (DSC) and Custom Resources - Another great course to get deeper on PowerShell DSC and PowerShell in general.

  • The DSC Book by Don Jones et al. - A good evergreen book on PowerShell Desired State Configuration that continues to be updated. This book helps to fill in a lot of gaps an answer a lot of the niche questions about PowerShell DSC.

  • The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win - Another earth-shattering book. A necessary read for any DevOps practitioner.

  • Scaling Git (and some back story) - I refer to this seminal blog post by Brian Harry quite often, as it goes into great depth on how a large company like Microsoft standardized around common engineering standards with Git and VSTS.

  • Pro Git - aka the Git Book. You only need to know a handful of commands to get going as a normal Git user, but if you really want to understand the full breadth of the tool you need to read this book.

  • Mastering Regular Expressions - No, I have not mastered them, they are still hard. But, I at least have a better idea around DFA’s and NFA’s and how the different engines work having read this book.

  • Zero Trust Networks - This book takes your traditional concepts of network security and flips them on their head, and presents a model of what modern identity and trust-based security looks like - an earth-shattering book.

  • Learn SQL Server in a Month of Lunches - I began to get into a series of “Month of Lunches book” around certain tools and products I used every day but wanted to round out my knowledge base on. This was one of them, gives a good, no-nonsense introduction to managing SQL Server.

  • Learn Active Directory in a Month of Lunches - Similarly I wanted to round out my knowledge in Active Directory and this book was great for that.

  • Learn Windows IIS in a Month of Lunches - Similarly I wanted to rout out my knowledge of IIS and this book was great for that.

  • Learn Windows PowerShell in a Month of Lunches (Third Edition, 2017 or newer) - I was fairly deep on PowerShell by the time I started to pick up the PowerShell series of “Lunches” books, but I wanted to start with the first introductory one to round out any aspects I may have missed, and understand if it was a good intro book to recommend to others (and it is).

  • Learn PowerShell Scripting in a Month of Lunches (First Edition, 2017 or newer) - The next logical book in the PowerShell “Lunches” books was a good insight into creating maintainable PowerShell scripts. I frame these scripts as useful pieces of long-lived business logic that could be packaged up and distributed as single Script modules (e.g. Install-Script).

  • Learn PowerShell Toolmaking in a Month of Lunches (First Edition, 2013 or newer) - The next logical book in the PowerShell “Lunches” books was a good insight into creating PowerShell modules, including facets of cmdlet design. I frame these modules as useful collections of related and cohesive commands taht could be packaged up and distributed as cmdlet modules (e.g. Install-Module). (Not to be confused with compiled, C# binary cmdlet modules).

  • The PowerShell Scripting & Toolmaking Book (Leanpub evergreen book, limited print runs) - This is an evergreen, logical continuation of the PowerShell “Lunches” books with additional advanced content.

  • The Release Pipeline Model - This is a seminal whitepaper that outlines a Release Pipeline Model that’s especially oriented around Infrastructure / Configuration as Code, using tools like PowerShell DSC and Chef.

  • The DevOps Handbook - The logical successor to The Phoenix Project, but more of a straight-forward handbook instead of a novel. We read this book as a team, and I can say confidently that it goes into the “earth-shattering” category and thus is very worthy of this list.


Over the course of 2016 and now into 2017 and beyond I started taking health seriously. In particular I lost 40 pounds eating a well formulated ketogenic diet, which I consider a lifestyle and something I will do forever now. in 2017 I’ve also started incorporating the gym into my diet after understanding the strong correlations between overall muscle mass and longevity.

  • 2 Keto Dudes - This is the podcast that got me started on my keto journey and pursuit of overall better health. I had listened to Carl Franklin for years on podcast .NET Rocks, and when he mentioned he was starting a new podcast with his friend Richard Morris to document his journey through Ketosis to fix his Type II Diabetes, I was intrigued, and knew I could do it, too. And I did. And I’m in the best shape of my life because of it.

  • The Ketogenic Forums - The dudes, being the software developer types, put their skills and energy to work to set up these Ketogenic Forums, which is a great source of information for anyone who is in the ketogenic lifestyle or thinking about starting the ketogenic diet.

  • The 4-Hour Body - This book can be a little crazy at times, but I have to admit this was the first place I heard about the concept of low carb and ketosis, and though I didn’t understand it years ago when I first read it, and I don’t necessarily follow the “Slow Carb” diet Tim lays out (I stay pretty much low carb most of the time), it has a lot of concepts that were ahead of its time. Still worth a read.