- Make a daily list. Don't just refer to your overall to-do list -- if yours is like mine, it's a mile long and contains some items I've been meaning to get around to for months (okay, years). Each morning, write down the few things that you intend to accomplish today. The idea is to make your goals seem less overwhelming, so be reasonable with yourself about what you can actually get done in a day.
- Segregate time for each task. Don't try to do everything at once or flip back and forth between projects. I've found it useful to have some visual indicator of what project is "on" at any given time. I use a little stopwatch application that I created years ago to keep running totals of time spent on each project. When I can see the clock ticking for a client, I'm not as likely to get distracted -- or at least I have to take conscious action to switch focus.
- Focus. One reason why IT pros don't always do so well in social situations is that they have the power to concentrate intently on one problem to the exclusion of everything else. (No, honey, I wasn't ignoring you -- I actually didn't hear you, even though you were standing right beside me and speaking clearly. I might have even said "uh huh," but that was just a 202 response.) We geeks need to maximize this ability in order to be effective. We can't allow ourselves to be interrupted for "just a minute" to answer a question. The instant we break concentration, the entire problem that we were modeling in our head drops on the floor and shatters into a million pieces. This is why you shouldn't answer the phone, e-mail, or chat during these periods.
- Take breaks. This one seems to contradict #3. My wife never understands how I can take an hour for a long walk, but I get upset when she interrupts me for five minutes. The difference is, you take a break when it doesn't interrupt your flow. When you can't figure out a problem, it's time to put it on your mind's back burner for a bit. Or, right after you solve a problem, have a 10 minute celebration before moving on to the next thing.
- Take care of your equipment. I don't just mean your gadgets. Most of what you're paid for is produced by your brain, so treat it like your most important piece of equipment. Caffeine may put some spark in it, but overdoing caffeine may make you think less clearly. Years ago, I used to regularly have a beer with lunch until I discovered that neurotoxins like alcohol might be a contributing factor to all those bug reports. Get enough sleep at night, and don't forget to exercise. Your brain's function depends on your entire health. If someone were to even scratch the case of your notebook PC, you'd be pretty upset, so don't abuse the case of your primary processor.
- Follow through. If you have a choice between working on two projects, choose the one that is nearly finished even if the other one is more fun. When you complete a project, it creates momentum and reduces that long to-do list that haunts your psyche. Every time I complete a project, I feel an immense sense of relief; it makes me happier and more productive.
I'm not pretending that I always execute all of these tips without throwing an exception. Sometimes I get carried away with an emergency, only to be interrupted by another emergency or three -- and then my kids scream that I'm needed immediately to help with a serious household repair. The next thing I know, it's quitting time, and I haven't taken a break or eaten, and I've had way too much coffee, so I sit down with a bottle of wine and put my brain out of its misery. Guess how much I get done on those days?
Chip Camden has been programming since 1978, and he's still not done. An independent consultant since 1991, Chip specializes in software development tools, languages, and migration to new technology. Besides writing for TechRepublic's IT Consultant blog, he also contributes to [Geeks Are Sexy] Technology News and his two personal blogs, Chip's Quips and Chip's Tips for Developers.