Simple Made Easy (link)

An oldie-but-good I was reminded of recently:

Rich Hickey emphasizes simplicity’s virtues over easiness’, showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path.

Sample takeaways:

  • We should aim for simplicity because simplicity is a prerequisite for reliability.
  • Simple is often erroneously mistaken for easy. “Easy” means “to be at hand”, “to be approachable”. “Simple” is the opposite of “complex” which means “being intertwined”, “being tied together”. Simple != easy.

Choose simple constructs over complexity-generating constructs; It's the artifacts, not the authoring; Create abstractions with simplicity as a basis; Simplify the problem space before you start; Simplicity often means making more things, not fewer; Reap the benefits!

He even predicts (to some extent) microservice architecture by declaring a set of separate strings hanging down independently can show a byproduct of simplicity can be more things, but things that are easier to understand and manage than if the strings were intertwined — and easier to update individually.

Leave a Reply