Last night, I tried to write a simple function. It should have taken me about a minute to write, and eight lines of code.
I got it wrong. Very wrong. Astonishingly wrong.
I got it wrong in every possible way you could get it wrong, and in a few entirely new impossible ways, apparently artisinally-crafted just for the occasion.
In short, I screwed it all sideways, and sixty seconds of code turned into somewhere North of two hours of swearing and debugging.
Today, it’s all genius again. Less than a dozen lines of code adds optional mouseover logic to my widgets, which gives them a delicious, customisable, tactile feedback. Great code. Elegant, concise, and correct.
I revisited last night’s code and fixing it was trivial and obvious.
Look, it doesn’t matter how good you are. You may be smart, skilled, and experienced. You can know your language inside-out. You can thrive on it like some cyborg supercomputer hybrid. You can be a genius among geniuses.
Sometimes you are just going to be unable to sit down and do the thing without completely bollixing the whole thing up, and bollixing it worse when you try to fix it.
You will have times like this. Fifteen minutes. An hour. Two hours. Maybe a whole day. It will happen.
Own it, because it’s going to get you now and again. Sometimes you will screw up the simplest arithmetic. Sometimes you can’t get something right even though you’ve done it a thousand times, like a champ.
If you can’t do the thing, do something else. Have coffee. Play a game. Help another team-member. Get lunch. Take a nap. Ask someone else to do it. Sit in the garden and sob inconsolably – whatever works for you. Just walk the hell away from what you’re screwing up and come back to it when your head is back in order.
An even more important lesson here is to help others deal with it when it happens to them, too. Because it will, and dissing them about it makes you an arse.
Screwing up is less important than properly dealing with it.
I should have closed my editor at least an hour sooner than I did, and done something else. Instead, I kept burning time in The Pit of Fail.
Don’t do that. Do something else. Do anything else.