Coding before you code

What does a professional athlete, a touring musician, and myself have in common? Other than the possibility of a lot of tattoos, probably not much. Although I was an athlete and a musician in my youth, those days have long since passed. We do share one other thing, though: how we prepare.

Arrive at any sporting event or concert early and you’ll see it. Those involved are warming up, getting prepared for the task at hand. Athletes are stretching, taking batting practice, throwing & catching, and walking through game plans. Musicians are doing sound check, going over the set list, and tuning and playing their instruments. So what do I, as a developer, do on par with that?

Something that I’ve been doing for quite some time now is what I refer to as “warm up” coding. It didn’t start as that, though. In the beginning, it was more procrastination than anything else. I knew I had something big ahead of me, but my head just wasn’t in it. So I’d mess around on twitter, go through emails, etc until I felt “ready”. But over time, the wasted time on twitter turned into checking support threads on my plugins, doing small fixes for friends, etc before I began my real “work” for the day.

Thinking more about it, the process made sense. Does an athlete go at 100% intensity while warming up? No. Does a band play the full set before the actual show? Nope. But doing those things help get your brain (and to a degree, your muscles) ready and prepared.

As a developer, doing those small things first help get my brain into a “coding” mentality. Since my time is at a premium, I need my time to be as productive as possible. While keeping twitter limited to smoke breaks and not having 100 tabs open helps a lot, the wasted time of staring at code was time I simply didn’t have. And the fringe benefits of keeping up on support and feature requests isn’t bad, either.

6 Responses to “Coding before you code”

I actually do this too. My problem is that sometimes I wind up spending so much time screwing around with “non-work” that my actual work gets derailed and I wind up feeling like I accomplished nothing for the day.

Lately I’ve been trying to set limits on how much time I spend messing around. Got any tips on how to use time more effectively during pre-work and actual work?

the same thing happens to me, although not as much. often, I have calls or other non-coding things in the morning as well, so that works as a good break. otherwise, a simple alert on your phone can do the trick.

One thing I’ve noticed is that I rarely code anything before 2pm. My mornings are usually spent checking in with my team, dealing with email, making coffee, thinking about stuff, then I eat lunch and settle in. A lot of times I don’t really get in the “zone” until late at night, then I get tired and go to bed and repeat the cycle all over again.

Great post! I rarely write much code these days (probably a good thing). But I do the same thing for design, presentations and writing. I not only work on smaller tasks, but I take smaller risks…just warming up for the larger work.

I’m glad you mentioned the risk aspect of it. Taking my “warm up” time allows me to try new things that I may not have a specific need for at that time, but probably will in the future. Cutting my teeth on some new API method now can really help down the road when I need it for something else.