Rationally irrational

I waste a lot of time sweating small details of code. Stuff that has absolutely zero impact on anything quantifiable. It took me a long time to stop feeling bad about this.

I’m not talking about turning awful code into great code, but polishing code that’s already plenty shiny over and over. Fretting over the length of a line, fussing over the proper indention, questioning the right number of returns. Superficial stuff. Pedantic stuff.

The payback isn’t that the piece of code will run faster, be easier to maintain, or even read clearer to other programmers. It’s purely a selfish act. It’s indulgent. And I’ve come to find it totally worth it.

For me, the limiting factor in writing code is rarely the number of hours in a day. I can’t program for shit after eight hours anyway. No, the trick is to feel motivated to do ever-longer stretches of work without letting interruptions tuck at my sleeve. To ride the high of the zone.

Sometimes the work itself is just so damn appealing that finding the zone is quick and easy. Those are the easy days. But other times it takes more effort, and I’ve found that effort goes down a lot easier when it’s not just the value of the output that has to drag the donkey to the trough. Spiking the motivation with sugary treats that tickle my idiosyncrasies along the way has proven a worthwhile mental hack time and time again.

It’s easy to feel guilty about such creative wankery, but foolish too. Accepting that you, as a human, are a deeply irrational beast of habit and motivation is liberating. It sets you free to find whatever hacks you need to deal with procrastination and distractions.

It’s not silly if it works.

You wouldn’t believe the number of hours I’ve poured into the Basecamp 3 codebase fretting over inconsequential details. But I hope you will believe that greasing my motivation with such fluff also resulted in a great piece of software. If you run a small business and want to regain control of it, now is a great time to signup.