inicio mail me! sindicaci;ón

Archive for Programming

Grinding & Flying

Some days are easier than other.  I recently read a Joel Spolsky article titled Fire and Motion, which seemed to sum my current problem up nicely. I’m especially sensitive to the ebb and flow of productivity as I feel terrible about myself on days where I’m not able to manage much at work. It’s not nice to leave the office after eight or nine hours with nothing really to show for it. I guess I am busy most of the time - it’s just that some days lack forward momentum. I spend far too many days just spinning my wheels.

I’ve tried a few obvious things to help be more productive. I only check me email a couple of times per day (morning, noon, last thing), I take my Blackberry off while I’m working, I only check my feeds a couple of times per day (morning, noon, last thing), and I avoid meetings like the plague. The only problem is that it doesn’t seem to help. 

I have around five hours a day where - if I were so inclined - I could get stuff done at work. One problem is that it’s really hard for me to avoid distraction. By nature I’m nosey and curious, so if I see or hear something going on, I need to know what’s happening. So headphones and a wall to the rescue - but still I find it difficult to get traction. 

There is some undefined aspect of my day which defines whether or not I’ll be productive. When I’m on, I’m way on and work is effortless and time disappears. When I’m off, I’m way off and there doesn’t seem to be anything I can do to get myself going. If I could unlock the secret that allows me to fly it would be pretty incredible. It feels like there has to be some combination of factors and if I can just deduce which elements need to be in place, I could become a work machine. 

Until then I just have to grind some days out. Close my browser. Close MSN. Open my editor and go. Write documentation, add comments, read other people’s code, do anything. Just keep grinding. Any work done is better than no work done, even if it doesn’t feel that way. 

I wonder if people in other occupations have this problem. Do doctors sometime not feel like diagnosing patients? Do carpenters ever not feel like picking up a hammer? It would be a lot harder to fake it in those occupations. Is the only reason I get stuck spinning my wheels because I can? I certainly hope not.

My pet theory is that writing code is a lot more like art than most people would think. The more code I’ve written, and more importantly, the more code I’ve read, the more I’ve come to think that beautiful code is the realm of truly creative people. Like art, the more you program, the more you learn, the more you read, the more you see, the better you get. You can practice programming and get better. For some people it comes easily, for others it’s hard. On days where I’m stuck grinding, what if I just lack creativity? And if that is the problem, how do I get myself into a more creative place more consistently? 

I wrote this post because I really had to grind at work this week. And I have a really tight deadline. And I feel terrible, because had I been flying, I could have gone home thinking “I may not finish, but at least I did my best.” As it is I have to go home thinking “I may not finish because I’m useless and lazy.” Sometimes things become a lot clearer for me when I write them down. Unfortunately, this doesn’t seem to be one of those times. I’m no nearer the secret than I was when I started. On the bright side, by stating “I’m useless and lazy” I can find out the fun way if my bosses read this blog. Maybe sometimes spinning your wheels isn’t a waste.