







Of the many axioms in the world of software, few rise to the occasion of Thou Shall Not Rewrite Your Application. Spolsky called it the “single worst strategic mistake that any software company can make” in his seminal 2000 essay Things You Should Never Do. The Big Rewrite has been likened to al…
How I stopped worrying and learned to love the easy fix
On the balance between perfect solutions and pragmatic fixes in software engineering
Is It Time to Rewrite the Operating System in Rust?
Bryan Cantrill explores Rust, explains why it has captured the imagination of so many systems software engineers, and outlines where it might best fit in the deep stack of operating system software.

Common Sense Refactoring of a Messy React Component | Alex Kondov
One thing I've learned from all the consulting I've done is that rewrites rarely lead to anything good. Almost in all cases, when you have an application runnin
Why We Can't Have Nice Software - Andrew Kelley
The problem with software is that it's too powerful. It creates so much wealth so fast that it's virtually impossible to not distribute it.
Complexity and Strategy | HackerNoon
I struggled with how to think about complexity through much of my career, especially during the ten years I spent leading Office development. Modeling complexity impacted how we planned major releases, our technical strategy as we moved to new platforms, how we thought about the impact of new technologies, how we competed with Google Apps, how we thought about open source and throughout “frank and open” discussions with Bill Gates on our long term technical strategy for building the Office applications.

How to create software quality.
I’ve been reading Steven Sinofsky’s Hardcore Software, and particularly enjoyed this quote from a memo discussed in the Zero Defects chapter: You can improve the quality of your code, and if you do, the rewards for yourself and for Microsoft will be immense. The hardest part is to decide that you want to write perfect code. If I wrote that in an internal memo, I imagine the engineering team would mutiny, but software quality is certainly an interesting topic where I continue to refine my thinking. There are so many software quality playbooks out there, and I increasingly believe that all these playbooks work in their intended context, but are often misapplied.

Where Did Software Go Wrong? | Jesse Li
Software is broken, but it's not because of NPM, startups, AI, or venture capitalists. A deep dive into how we think about and produce code, and how our software systems reflect the manic state of the modern world.

The peril of laziness lost | The Observation Deck
In his classic Programming Perl — affectionately known to a generation of technologists as "the Camel Book" — Larry Wall famously wrote of the three virtues of a programmer as laziness, impatience, and hubris: If we’re going to talk about good software design, we have to talk about Laziness, Impatience, and Hubris, the basis of good software design. We’ve all fallen into the trap of using cut-and-paste when we should have defined a higher-level abstraction, if only just a loop or subroutine. To be sure, some folks have gone to the opposite extreme of defining ever-growing mounds of higher level abstractions when they should have used cut-and-paste. Generally, though, most of us need to think about using more abstraction rather than less.

Open Source is Not Enough
by James Halliday // The open source movement has fundamentally changed how software gets written. But in the process, corporations have been given a vast gift of free labor.


Code Is Cheap Now. Software Isn’t.
The barrier to entry for building software has collapsed. The barrier to building something that matters hasn’t moved an inch.
Not just development, distribution of software may change as well - <antirez>
Tailoring Legal Protection for Computer Software
Peter S. Menell, Tailoring Legal Protection for Computer Software, Stanford Law Review, Vol. 39, No. 6 (Jul., 1987), pp. 1329-1372
R. S. Doiel, Software Engineer/Analyst — Robert's ramblings
By R. S. Doiel, 2026-02-21 (revised: 2026-03-03, epilogue added 2026-03-27)