I know I've written a lot of times already about how awesome the company I work for is and how much fun I've been having at work. This time though I'd like to reflect a little about how I get into the groove of being productive and learning more about the different situations I've encountered in the work I've done in the past and now. Although I can't talk about the exactly what I do in Google, I can tell you that it involves writing code (lots of it), making sure things are going according to expectations, and doing open source development. That sounds like a lot to do and the rest of this post is about how I get things done at work.
Right off the bat I can tell you that I'm not a manager. If you know me in person you will say that I would be the hardest person to manage and would be the worst manager too. A lot -- if not all -- of my previous managers will tell you that I'm a nightmare to manage. So how do I get away with still getting things done if I don't do well with managers?
I like managing myself. I don't like putting my work in the hands of others. I like directing myself and making sure that I do what I need to do. This is something that I've seen very productive people do very well and this is one of the traits I'd like to keep developing in the hopes of someday being able to manage other people effectively if absolutely necessary.
So how exactly do I manage myself?
- Make a list of things to do. This may sound so simple but in fact its simplicity is what's really powerful. Just having a list allows you to track what you've done and what else you need to do.
- Focus on what you're doing. If you're working on something, focus on what you're doing and minimize distractions. If this means putting headphones on so that you can't be bothered then do that.
- Write things down. I like putting my ideas down somewhere if I think they're worth pursuing. If they're not worth pursuing I forget it. If it's on a piece of paper and I look back at it at some point later on then I know it's worth pursuing.
- Determine your priorities. If you don't determine your priorities you won't know what is the best use of your time. There's nothing better than knowing what you need to do first at this time because you have your priorities straight.
Self-management then for me is a matter of knowing what exactly I need to get done in a certain period of time and making sure that I'm on-track for that duration. If I committed to doing something, then I make sure it's in my list of things to do, that I have time to focus on it when it's time for me to do it, write the important details down so that I can keep it out of my brain, and I can properly determine what my priorities are. Making sure that I'm doing what I need to be doing at any given time lets my manager (hopefully) focus on bigger things and not what I need to be doing.
One part of management is over-management. Sometimes I get to over-manage myself and I tend to overwhelm myself by having too many things to do. This is where the concept of "pace" is very important. There are a few things that I do when I pace myself:
- Determine my optimal work block. I do find this out by noting the time I start working on something and then when I'm done or stuck or feel like I need a break I note the time again. The amount of time elapsed would be my optimal work block. It may take a while to figure this out if you're not used to doing this yourself yet but I find that my optimal work block is 1.5 hours.
- Determine tasks that can be done in a discrete number of work blocks. It's sometimes not enough to know what your work block is, it's also good to know what you can really do in a discrete amount of time on a personal basis. I find that I get a lot of code done in 1.5 hours, so I try to think about coding tasks that might be good to do in 1.5 hours. Documentation though is something else and I typically take more time to write documentation, so usually my documentation tasks are pretty small but each one fits in my optimal work block.
- Lay out your work blocks in a day. If you know me I'm not a morning person. Knowing this myself, I typically schedule most of my work blocks in the afternoon. My ratio is usually two work blocks in the morning (3 hours) and four work blocks in the afternoon (6 hours).
- Seek to accomplish each task in as little time as possible within a work block. A task usually does not take 1.5 hours though for me, but the reason I think about 1.5 hours worth of work is so that I can pace myself to not do too much in a small amount of time. By giving myself 1.5 hours worth of time on a task, I don't necessarily need to rush it but I do need to focus on what I'm doing in that amount of time. If I find myself spending more time on something, that's alright -- as long as I move my tasks down the line and keep focusing on what I'm doing.
- Take breaks in between work blocks. This is crucial. I typically take a 5-10 minute break in between my work blocks just to give my mind a rest. If I'm working on something that's taking longer than 1.5 hours, this prevents me from feeling exhausted. I get up from the chair, walk to the nearest micro-kitchen and get myself a drink or go out for a walk. This way I don't get frustrated working on something for longer than I need to work on it because I take my breaks in between.
This pacing routine allows me to stay productive and know when I'm getting faster or slower on typical tasks that I encounter. Usually I find myself working on something faster, which allows me to take on bigger tasks in the same amount of time.
I know that I'm getting more or less productive because I track myself. This is where my lists come in really handy. There are many ways of tracking yourself but I like the manual and intrusive way: by writing things down on paper and then looking back on my progress each week. I have a weekly routine which allows me to track myself against a list of goals. The process isn't very hard to follow either:
- First thing on a Monday, I look back at the past week's TODO's and Goals. This gives me perspective on what I've done, what I haven't done yet, and what I wanted to do in general the past week. This perspective is important to give me a sense of whether I'm going as fast as I want or whether I need to go faster (or at least accomplish more things this week).
- Next I set a number of goals for the week. I do this right after looking back on the week and figure out what I need to be doing this week. Knowing this in advance will allow me to get into the required frame of mind to start planning ahead or at least setting goals that I measure my to-do list items against.
- At the beginning of each day I list down the to-do's for that day. I don't do this all at the beginning of the week because it lets me be more creative on a daily basis. Having the goals for the week in perspective, I can then write down the things I need to accomplish on a daily basis on the same day I need to accomplish them. I do this first so that I can set myself up for the whole day ahead.
- As I accomplish items on the list, I keep notes. The notes help me with keeping important details out of my mind and onto paper and further allowing me to focus on what I need to do instead of what I've already done.
This routine has helped me see what I've been getting done and what else I need to be doing. It keeps things in perspective for me and gives me a better sense of whether I'm being effective and efficient at the same time.
Keep Yourself Motivated
Sometimes the problem isn't the pace or the management. There are times in the past where I frequently felt burnt out and unable to push through because I've gotten bored. This is a very dangerous situation that can cause an uncontrollable spiral of demotivation and lost morale which can infect your teammates. I avoid this situation by doing the following:
- I celebrate as soon as I accomplish something. This can be as simple as letting me read a journal paper, do some Google+'ing, write a blog post, or just eat some (free) sushi rolls. I also share the accomplishment with my peers when appropriate.
- I keep the weekends off limits. When it's the weekend, I tune out. This means I'll be offline and I'll be spending time with my family. This is important to allow me to recharge on the weekend for another week of productivity.
- I do things that make me happy independently. Even though getting things done makes me happy, watching a movie with my wife makes me happy too. I balance the happiness I get from getting things done with the happiness I get when enjoying the little things in life.
Perhaps the hardest part of managing yourself and your productivity is that it has to become a habit. It does take a conscious effort and a lot of trial/error to getting to know yourself and how you work. If you do invest in it though I believe it does get you pretty far.
I believe that the only kind of organization that matters is the one that makes you more effective. If ultimately a process or a technique just gets in the way of progress, I think it's mostly not worth the effort of following every single detail in that technique.
How do you get into your groove?