I focus a lot on trying to maximize my own productivity — I always feel like I have way more things that I want to get done than I have time for doing, so I’ve put into place a number of systems that help me make sure I’m making progress on the things that matter to me without letting all of the other little things in life slip through the cracks. A number of people have asked me about my system for staying productive, so I’ll at least outline it here.
- Make heavy use of google calendar for scheduling — I’ll block off time for heads-down work, for dinners with friends, or just to mark when someone will be in town visiting. I trust the calendar over my memory, so if it’s an event is not on my calendar it’s very unlikely that I will show up!
- Inbox zero — in both my email inbox and my to-do app, I make sure to get to inbox zero by the end of the day. Doing this helps me keep my mind clear of clutter and reduces the anxiety of opening up an email client and seeing a huge inbox of things outstanding
- I use Things for my to-do app, and I use it religiously. If it’s not in Things, it probably won’t get done.
- I use Instapaper for tagging things to read at a later date (though I’m considering switching to Pocket)
- I use Netvibes for an RSS reader (though I’m considering switching to … anything else)
In this blog post, I’m going to focus on the techniques I use for my to-do system, and will save how I use some of these other tools for future posts:
Basics of the to-do system:
I have two goals for my to-do system: 1) work on the things that are most important, 2) promote habits and good behaviors I’m trying to develop and, 3) don’t forget anything.
- First thing in the morning I review my to-do list which will have a mix of things scheduled weeks ago, recurring events that show up every day or week, and things that I added the day before. I will sort all of the tasks according to their priority and will make adjustments as necessary — if the list looks too long, I’ll proactively push things to tomorrow or next week.
- For activities that I’m trying to build habits around (doing my Anki flashcards, writing in my journal, writing blog posts, running) I’ll use repeating tasks that pop up every day or every week
- As things pop up during the day, I make heavy use of keyboard shortcuts to quickly add tasks to the “Inbox” which I can sort through later
- By the end of the day, I’ll have either completed all of my tasks or will have rescheduled tasks I couldn’t get into the future. I’ll also generally take a look at what’s scheduled for the next day so that I know what’s coming down the pipe.
Between the morning and end-of-day review sessions I generally feel like I’m able to consciously prioritize the work that’s most important. The dopamine hit of box-checking also encourages the habits that I don’t enjoy (e.g., writing in my journal, running) but that I know are good for me. Overall I feel like this system works very well for me and I have very little to change.
Writing good to-dos:
The most important trick for making this system effective is writing good to-do items. For me, that means making an item that feels achievable in <2 hours of work — often times I’ll have a to-do item that I’m sort of dreading but that doesn’t have a strict deadline, and I’ll find myself pushing it off day-after-day-after-day. When I observe myself doing this, I know I have to change the to-do item to make it something that feels easier to accomplish which will make it feel less painful to start.
For myself, that generally requires a very simple change from “do x” to “start x”. That’s almost always all it takes to go from making zero progress, to getting the thing done. If I have an idea for a blog post, the to-do item “write blog post on x” feels very daunting — that’s normally at least a few hours of worth of work staring at me from my to-do list. However, if I change that to “outline a blog post on x”all of the sudden that seems extremely doable, something I can crank out in 30 minutes at a coffee shop. This applies to software engineering problems as well — going from “build feature that does x” to “start on feature that does x” makes all the difference in the world in terms of how much progress I’m able to make. Often, even though the to-do item only says “start”, I’ll go ahead and finish the whole thing because once I’ve got the momentum going I don’t want to stop at all.
All sorts of things:
I don’t just keep work things in my to-do list. I’ll often include names of musical artists I want to listen to, movies I’ve heard about and want to watch, or even just ideas I have for interesting things to learn more about. My to-do list enables me to keep my email inbox at zero, because when I get an email that I know I won’t have time to deal with properly, I’ll simply create an item on my to-do list, paste in a link to the email, and schedule for a time in the future when I expect to have enough free time to deal with it.
Having a good system for adding things to my to-do list allows me to shift the decision from “is this thing worth doing right now?” to “when will this thing be worth doing?”. This takes a lot of the pressure off of getting things done that you know are important but you also know will disrupt your flow or aren’t the most important thing to do today. If someone sends me a link to an article and asks my opinion on it, I can simply pop it in my to-do list and tell the person I’ll get back to them “sometime this weekend”. There’s no requirement that I get it done before I forget about it, and having a trustworthy system for deferring the prioritization decision means that I don’t end up distracted by all of the incoming items.