I was once providing a live coding demo in a hall packed with executives.
The entire room peered at me as I crafted a simple piece of code that I had written tens of time before. Once I thought I was ready – rather, once I was sure I was ready – I hit the play button.
Boom! The program spat out an execution error to publicly humiliate me. Red faced and with beads of perspiration on my forehead, I fixed the error and got the script to run. The crowd let me off the hook with some consolatory applause.
The first execution will always have a bug. As a developer, you learn to accept this as gospel truth. You soon realize that there is neither pride nor any point in striving for perfection on the first run. This lets you scramble code fast and iterate to get it to run.
Recognizing that the first draft is never going to be perfect liberates us to create fast and hit the play button rather than be held back by the illusion of perfection.