colors ↓

:: blog

February 23, 2008

Time Management

by rz

I've been struggling with personal productivity as of late. I seem to not be able to get too much done. However, the situation has been improving slowly and I thought I'd share the things that have been working.

I started by reading Aaron Swartz's personal productivity guide. It is full of good advice, so I won't try extracting any of it here. It is worth the read.

Optimization

People often don't understand my obsession with having, knowing and using keyboard shortcuts instead of my mouse. Said obsession kicks in specially when I am writing web-related code and the reason is as follows. Using keyboard shortcuts I've already memorized it takes me less than a second to: save a file, switch desktops and refresh the browser. Using the mouse the same task expands to 4-6 seconds. Don't believe me? Try it! Worse if you are using a touchpad. I've heard the retort so often I can hear it in my head "oh wow you saved all of four seconds!" Well yes, I performed a trivial task five times faster. The kicker is I perform such trivial tasks 50 to 100 times an hour. Well whatever, 500 seconds is less than 10 minutes. But hey, that's enough time to take a break and read your favorite comic strip. The relevant part, though is that a good stretch of coding lasts 8 hours or more. In that case, knowing my keyboard shortcuts saved me 30 minutes to an hour. Enough time to go grab something to eat or call a friend to catch up. All these time-savers may not seem too significant but they compound and in the end they save a lot of time that would've been wasted otherwise.

More important than saving time with the keyboard while programming, though, is that every day life is full of trivial tasks. Some repetitive, some not. I quote this pamphlet about how to study physics to make the point:

There are 168 hours a week. Of these 168 hours you will be asleep for about 60, dressing and eating for about 20. If you take Saturday afternoon off for a hike, consider Sunday morning and afternoon as time off from studying, and have two four-hour dates a week, you have about 68 hours a week for work. If you are in class and laboratory for 20 hours, you still have 48 hours for study. It seems like a tremendous amount of time, doesn't it?--especially considering that you've taken off half of Saturday and most of Sunday. Just where does all the time go? A great deal of it is lost in ten-and twenty-minute idle discussions, time wasted during the twenty minutes while you wait before a class after you've needlessly spent another twenty minutes walking to the post office and back for a stamp you could have picked up just as easily on your way back from lunch, and so on. It is up to you whether you want to make good use of these numerous ten; twenty, or thirty-minute intervals. I'm not urging that you never take a minute off to enjoy life, but there is certainly little danger that you will use your time too efficiently.

You can save a significant amount of time by optimizing when and the way you perform the trivial tasks.

Secondly, Make the most out of the down time. Use time you spend walking to talk to old friends or listen to a podcast. Listen to the news while you get dressed. Read on the train. That kind of a thing.

There is a bigger point about optimization, though. If your workflow is smooth and efficient you are more likely to gain momentum as you do things -- efficiency brings more efficiency. The same thing happens at a bigger scale with your days: if you get a lot done today and you feel good about it chances are you are going to be in high morale tomorrow to repeat the feat.

Projects

You can essentially sort everything you have/want to do by the order of magnitude of the time you want to spend on it. Roughly it goes like this:

  • things that will take a few weeks to a couple of months
  • things that will take about a week
  • things that will take a few hours
  • things that will take about an hour

I will call the things that fall on the first class projects. Nobody should have projects that take longer than a few weeks: if you do, split them up into smaller projects. Keeping things manageable is crucial to getting them done. You need to be able to wrap your mind around your projects in order to get them done efficiently.

Failing to plan is planning to fail.

It is easier to wrap your head around a project if you devote some time to think about how you are going to do it. Duh.

The larger a project is the more planning time it requires. Of course, it is easy to run into diminished returns so having a hard limit on the time to put into planning is probably a good idea. Also, you don't have to plan it from beginning to end in the same amount of detail. Just from beginning to reasonable milestone. It is ok if all the details about how you move forward from that milestone are not yet clear so long you spend some time figuring that out once you get there. It'll be a lot easier to plan how to get to the second milestone after having reached the first. The balance is to plan enough so that you always know what the next step is and why you need to do that step.

Knowing exactly what you do next will have a significant effect on how quickly you get things done.

Back to the circus.

In reality you will seldom have just one project you are working on. Again, having someone else make the point I'm trying to make:

One metaphor I found useful is the following: Organize your tasks as if you were juggling them. Juggling several balls requires planning and skill. You must grab and toss each ball before it hits the ground. You can only toss one ball at a time, just as you can only work on one task at a time. The order in which you toss the balls is crucial, much as the order of working on tasks often determines whether or not you meet all your deadlines. Finally, once you start a task (grab a ball) you want to get enough done so you can ignore it for a while (throw it high enough in the air so it won't come down for a while). Otherwise you waste too much time in context switches between tasks. Do you see jugglers try to keep each ball at the same height above the ground, frantically touching every ball every second?

Make sure that when you plan a project it is split up in tasks that you can juggle along with tasks from other projects. Also, plan enough so that when it is time to grab a ball you don't have to think about how you are going to throw it.

Avoid context switches as much as possible. It takes time to save and retrieve the state information of where you left off.

Smaller Things

There is one catch to the sorting things by the amount of time they take. Most things that are worthwhile doing can take an unbounded amount of time. Having your priorities clear is the only way out of this. Once you have decided you want to do something prioritize by making it fit one of the categories in the list above. Out of the categories in the list the ones that give higher priority are the first (projects) and last (~an hour or so). Why the first gives highest priority is obvious.

Putting something in the last category gives it a high priority because you can repeat tasks that take about an hour often and accomplish a lot. You can become really good at playing the guitar if you practice for one hour every other day, you can read a lot by reading one hour a day.

Keeping Yourself In Line

Deadlines and constraints are good. If you are not disciplined enough to keep your own use external ones e.g. I will have x project done on time to show it a this conference or I can only work on x until the coffee shop closes.

Keep tabs on what you spend time on for a little while. For instance, pick an ordinary week and every few hours write down how you've spent them. At the end of the week go through your notes. If you are like me, you will be appalled at the amount of time you waste.

Make lists for everything. You stress your mind by having to keep track of things. Write them down instead. A corollary: always have pen a paper around. I acquired a little notebook that fits in my pocket and made it a habit to have it with me at all times, just like my keys.

Make to-do lists. One scheme that works for me is to make tomorrow's list right before I go to bed. Secondly, midday I revise the day's list and make the "before bed" list. This takes less than 5 minutes. Make the lists ambitious. Not so much that you know you can't do all that but enough that it if you only finish some of the list you still have accomplished something.

Learn to move on. Time is not fungible: sometimes you can do math, sometimes you can't. Sometimes you can read, sometimes you need to relax. If you find yourself having to fight yourself too much to do a task just move on to a different one from your list. If that doesn't work, take a break. It is ok to not finish a day's list or to not accomplish anything on a given day.

Tools of the Trade

I already mentioned a small notebook that fits in your pocket.

This one is obvious, but I thought they were pointless for a long time: get a calendar. Use it mostly for the things that you don't do regularly: meetings, appointments, etc. I recommend using a web-based one you can access from anywhere. I find that backpack works great for me since it has calendar, it allows me to make quick notes, and sends reminders to my cellphone . Feel free to use my referral code if you start using it: K29FGEPX4B ;-).

Develop filing systems. Being able to find information quickly becomes important when you start dealing with multiple things at once. I am terrible at this! I might write a separate post when I figure something that works for this.

« previous post :: next post »

blog comments powered by Disqus