My mom took up painting a few years ago and I am absolutely amazed with what she is able to create. It is wonderful. It is inspiring. It shows what one can accomplish if they absolutely love what they do.
What I truly admire about the way my mom paints is she is able to take a step back, review her painting and with very little hesitation just get rid of it. I’m not talking about putting the painting in the corner with the expectation of coming back to it some other day. I mean get rid of it. She picks up her brush and begins painting OVER THE TOP of her previous work. Just like that… She uses the same canvas, but new paints and a new perspective. She gives herself a fresh start with no feeling of loss. It’s remarkable.
I find when I’m writing I will occasionally put together what I feel is the perfect sentence. When I review the entire article, I’ll step back and think, “Damn it. The perfect sentence just doesn’t work.” Then I will work extremely hard in attempt to somehow fit that sentence into the post just because I don’t want to lose it. I’ve gone as far as change the entire point of the article in order to salvage a single statement.
Coding can be the same way. I wrote some code last night that I really liked it. As it turns out, today (with a change to business requirements) my code is now 100% useless. I worked really hard to make the code work within the new parameters, but it was a fruitless effort. Ultimately, I took a page out of my mom’s book. I stepped back, recognized my work was crap (under the new circumstances), took a deep breath and started over.
Yesterday’s code is no longer part of the project. It’s another block of code which will never be seen, used, appreciated, laughed at or hated. It’s just another day in the life of a coder.