Orthogonality of Simple and Easy¶
I’m often fooled in thinking that simple looking things should be easy to duplicate. Whether its a discipline, or a thing, or a system, the simpler it looks, the easier I expect it to be. Instead these properties seem to be orthogonal. Some simple things really are easy but I think just as many are hard. Perhaps a few examples will help.
I’ve met more than one young software developer who thinks he could duplicate Facebook in a fortnight. Once you’ve learned a little about creating websites, how hard could it be? It’s mostly just text and picture posts, right? It’s just a front-end to a database of relationships and properties of entities. That’s what you learn in undergrad. But all these ignore the enormous problem that scale creates technologically.
Likewise with the iPhone. The device is incredibly easy to use. But Apple goes to incredible lengths to produce that effect. Anyone working with hardware, software, and humans knows how challenging it can be to get all three working in apparent harmony.
Want to give up smoking or any habit? Go cold-turkey. What could be simpler, right? And that’s easy, right? Wrong.
Imagine climbing a mountain. Do you go straight up or make switch-backs? The direct and simple approach is the hardest.
Likewise with code and refactoring. Most refactoring works to simplify the code. But why didn’t we write it simply when we started? Because simple and correct code is hard to write.
Perhaps most importantly, I think a lot of what Jesus taught exemplifies the simple vs. easy distinction. The more I study his life and teachings, the simpler I think his commands get: love your enemies, give to the poor, etc. These platitudes are simple but far from easy.
Watch yourself. Don’t be deceived in the distinction between simple and easy.