“Simple Made Easy” by Rich Hickey
My link post last week was inspired by my attendance at Southeast PHP. In response to the talk I gave there, a fellow speaker reminded me of this talk from Rich Hickey, a creator of the Clojure programming language. It’s a classic, and I was glad to remember and think harder about it.
The point that Hickey drives at is the talk is a deceptively simple one: that there is a difference between “simple” and “easy” and that that distinction makes a difference for your programs. We often mistake them and conflate them. And doing so often leads us to complex systems which are easy to get rolling, but hard to really understand. *cough* WordPress *cough*
I could go on at some length about this talk. But I’ll just end with this quote, which I hope can encourage you to give it a watch. Here’s something he says while defining “easy”:
There a third part of “easy” that we don’t think enough about. It’s about being near to our capabilities. And we don’t like to talk about this because it makes us uncomfortable. Because what kind of capabilities are we talking about…?
The work that we’re in is conceptual work. So when we start talking about something being outside of our capability, it really starts trampling on our egos in a big way. And due to a combination of hubris and insecurity, we never really talk about whether something is outside of our capabilities.
It ends up that it’s not so embarrassing after all. Because we don’t have tremendously divergent capabilities in that area.
Image credit: Mike Mozart