Worse is better

June 16, 2019

A couple of weeks ago when arguing the merits of microservices vs monoliths in the office, I decided to go back and read a couple of famous blog posts:

I think of Worse is Better as taking KISS (keep it simple, stupid) to concept the max, and only invest in something when it’s broken. I think part of the reason this works well is because it aligns well with how many businesses invest in software development. If you were to wait until you had a perfect product to release, you’d either be too late or you’d run out of money getting there.

One comment I read on Hacker News recently that I liked was along the lines of: “Good software is software that is easy to replace.” I think this goes well with the KISS, single responsibility principle, and worse is better (there are simple interfaces if it’s easy to replace).

It also reminds me of this thread: How is GNU yes so fast? Given that it’s a one-page program that is easily replaceable, you can have two wildly different implementations: