Skip to content

Second System Syndrome

Second System Syndrome is the curse by which a simple system is doomed to be replaced by an excessively abstract, over-engeered, or bloated successor. You hack together a small simple program to solve a problem. Congratulations! It's wildly…

Gordon
Oct 28, 20251 min read

Second System Syndrome is the curse by which a simple system is doomed to be replaced by an excessively abstract, over-engeered, or bloated successor.


You hack together a small simple program to solve a problem.

Congratulations! It's wildly successful. Now you have a community, and the limits of your hasty work are starting to show. Time for a rewrite!

You've been keeping a list of all the features you would like, limitations you would like to surpass, and you want to avoid getting boxed into a corner again, so you design a super abstract architecture.

Fast forward a few weeks, and you're tangled up in abstractions. The features you have built out don't add up to a product-market fit. You're still weeks away from a finished product. Hmm.


The phrase was first coined in the book The Mythical Man-Month.


How do you avoid it? [[Start with a toy]], and [[modularize later]].


See also: second system effect on Wikipedia, [[Gall's Law]], [[design patterns]].

Did you enjoy this article?

Recommend it — Standard Reader surfaces well-loved writing to more readers across the network.

Across the AtmosphereDiscussions