The Software Simplist

Udi Dahan is known as the "Software Simplist". What does he mean by simple? Is he saying that software cannot be used to tackle complex problems? Or does he mean that we work at a problem until a simple, clean, and concise solution presents itself? And what about "the simplest thing that could possibly work"?

Here are a few of my favorite quotes regarding simplicity:

"I wouldn't give a fig for the simplicity on this side of complexity; I would give my right arm for the simplicity on the far side of complexity" ~ Attributed to Oliver Wendell Holmes Jr.

"Simplicity does not precede complexity, but follows it." Alan Perlis

"Complexity means distracted effort. Simplicity means focused effort." ~ Edward de Bono

From these statements we learn that true elegance and simplicity only come after diving head first into a problem and then seeing all the various nuances and angles of the problem.

That's why I tend to gravitate towards Udi's down-to-earth approach to tackling software. It's when you've been through the fire that you gain the perspective and understanding to solve a problem in a simple way.

The next time you're convinced you've found a simple solution, take a step back and consider if you're on the near or far side of complexity.