While I am on PTO (as I am right now), my mind rarely strays far from Harper. Perhaps you could call this “poor work-life balance”, but I think otherwise. I believe that living a fulfilling life is hard, so having one takes effort. For me, part of having a fulfilling life is to strive for greatness. Harper has the potential to be great, and I am partly responsible for getting it there. Therefore, part of living a fulfilling life (for me) is to imagine ways to position Harper so that it can best achieve its potential.
That’s all a complex way to explain why I am reading Getting Real by DHH and Jason Fried while on PTO. I apologize for all the corporate language.
A few years ago, I read Rework, another book by the same authors. In short, Rework is a collection of ideas which, taken together, form a set of ideals which must be embodied to build great businesses.
In a similar vein, Getting Real is a set of ideas which, taken together, form a set of ideals which must be embodied to build great web applications.
The two books are structured similarly: As a collection of (exceptionally) short chapters, each containing a single idea or piece of advice. They are both exceptionally fast reads. I do not think that reading both is necessary, but I do recommend that every engineer read at least one.
If you do not have the time (or the attention span) to read either book, there is one idea which, I believe, accounts for 90% of the benefit you stand to derive from them. That is the idea of mass.
What is mass?
In physics, mass is the quality of an object to resist acceleration. The more mass an object has, the more difficult it is to accelerate. Conversely, the less mass an object has, the easier it is to move.
Why is this relevant to our jobs as software engineers? If you already know the answer to this question, you’re senior enough to skip this essay.
Our job is to produce products which address consumer demand. If we do not produce products which address a consumers needs, we are bad at our jobs.
The trouble with this is twofold.
How does this all relate to mass?
In order to identify a consumer needs and track it over time, we need to be able to change and iterate quickly. Software and systems with a high mass are able to do this by definition, so to be able to do our jobs well, we need to also address this second-order problem of minimizing our mass.
So, I’ve explained how reducing mass results in systems that are easier to change, and systems that are easier to change are better positioned to address consumer’s needs. How then do we reduce mass?
Here are some off the top of my head, in no particular order:
There are several more listed in the books, with far more detail than I can afford here. As I said before, you should read them.
Published July 24, 2026 at 8:48 PM
Proofread by Harper.
A complete or partial loss of function while reviewing the output of a coding agent.
I have been seeing an increasingly prevalent trend of people showing up in online spaces flaunting that they are writing with the assistance of AI. They seem to be proud of this. They shouldn't be.
Back in my day, we used math for autocomplete.