Simplicity as a prerequisite for reliability

📄 Wiki page | 🕑 Last updated: Oct 1, 2022

Simple is not easy, easy is not simple. Let's first get that out of the way. People are often equating easiness with simplicity, but they are very different words.

Rich Hickey goes more into detail about this in his presentation. If you haven't already, check it out (I don't agree with everything he said, but it's a good presentation, definitely worth watching).

Most often, achieving simplicity is the hardest thing to do in software development and usually, it requires an enormous experience.

Simplicity is an extremely important, probably the most important, aspect of software development. As Edsger Dijkstra put it, "Simplicity is prerequisite for reliability".

If your design is not simple, the whole thing will eventually become fragile, unreliable, and start to fall apart.

Unfortunately, complexity sells much better, and together with cargo-cult programming and resume driven development, this is one of the roots of the modern software development mess.

Ask me anything / Suggestions

If you have any suggestions or questions (related to this or any other topic), feel free to contact me. ℹī¸

If you find this site useful in any way, please consider supporting it.