Fires vs. Strategy
There’s a point that I’ve been making to engineers recently that I realized would be valuable if shared more widely. When you do engineering work, there are different types of tasks that get given to...
View ArticleThe Definition of Simplicity
Many years ago, I wrote a blog post explaining what was wrong with computers, and essentially saying the problem was complexity. Several years after that, I published Code Simplicity, which was...
View ArticleReasoning and Choice
One of the most important properties about any software system is the ability to understand what it is going to do without having to run it. This concept is usually referred to as the ability to...
View ArticleWhat is a Monorepo, Really?
There are often discussions at software companies about whether they should or shouldn’t have a “monorepo,” meaning “a single, version-controlled repository for all code at the company.” Very often,...
View ArticleCode Simplicity: The Fundamentals of Software is Now Free
About a year ago, a Twitter user tagged me and some other programming authors in a thread where they described the barriers to accessing computer programming books in their country. I’ve been made...
View Article