Have you ever looked at a beautiful program or software library and thought to yourself, “This is elegant, beautiful, well thought-out and expertly crafted, I wish I could write stuff like that.” Because I sure have. I’m going to let you in on a little secret: you can write stuff like this.
The illusion of perfect looking code sometimes makes me feel inferior. I think to myself, “Here are all these cool software geeks who have everything figured out, I’ll just never measure up to them.” But that’s just it, it’s an illusion. The code didn’t start brilliantly coded, I guarantee it. Most people understand that beautiful objects start with a beautiful idea. What people often don’t understand are the steps in between this great idea and the magnificant object that comes out the other end. It’s like there’s this quantum leap that’s supposed to happen somewhere in there. If we can’t go immediately from idea to flawless execution, we feel miserable. We give up, because we could never make something that cool or that inspiring.
What I’ve realized is that great creators have lots of failures. They have this great idea that they work through iteratively. They’re slowly shaping, molding, reworking and throwing away. Most of the time we only see the finished pieces of art. We rarely get to see the process in which the work of art was created (and this is where some of the magic and wonder lies in seeing this stuff). It often makes me wonder how many pieces of art they never even shared with me in the first place. How many other hidden gems you got in that treasure chest of yours Picasso? How many pieces did the master crafter throw away before we saw anything worth admiring?
Write your software in iterations. Be comftorable throwing code away. You’re rarely if ever going to get things perfect on your first try. If you have an idea and have the drive to see it through, don’t let anything stand in your way of crafting it into reality. This is what a master truly understands. This is why a master enjoys the journey of creating, rather than the finished product that results from the brilliance of creation.