Productivity Tips and Tools
As a full-time working parent also involved in the community, I often feel like I’m juggling a lot of tasks. I have to make sure that everything is heading in the right direction and no balls get dropped. The key to my success, and not falling into the trap of being busy for the sake of being busy, is to stay organized. Here are my tips and the tools I use.
Twitter is an important part of how I learn and find interesting things to read. I use Tweetdeck to organize my Twitter streams and the people I follow into specific categories. There are some streams I check twice a day, while others I just check once a week, or when I have time. It helps me keep focus on a specific subject and stay in context amidst the Twitter noise. It also helps me not miss important announcements like conferences, cfp openings, or meetups, and just keep up with friends.
Evernote is great. It’s flexible and searchable. You can even take pictures of things you’ve written by hand which will also be searchable (sort of… depending on how legible your handwriting is). You can organize things into notebooks and open up notes in separate windows, enabling you to look at multiple notes at once. I use Evernote to keep track of to do lists, thoughts, blog post ideas, conference talk proposals (before they’re fully formulated), code notes, and terminal commands or screenshots after walking through code so I can look over it again in the future.
I switched to Mircosoft OneNote when EverNote changed to having their service only available on two devices. OneNote is pretty good. The same syncing issues exist in OneNote as they do in EverNote. Additionally, the thing that really drives me crazy is that OneNote is constantly asking me to sign-in in order to sync. But there are some great features. Besides being able to use it for the same purposes as EverNote (ie- idea management, notebooks, code notes, etc.), but within a notebook, these items can show up as tabs. Then within those tabs you can have many pages.
So, for example, I create a list of items I’d like to cover in my weekly 1:1s. I keep a 1:1s tab in my work notebook and then under the tab, I have a “page” for every week. It’s easy to find the notebook/tab/page when the meeting rolls around or when I have an item to add to it. The major downside to OneNote is that you can’t open up tabs, notes, or pages into separate windows which means you can only look at one note at a time.
I’m a big believer in keeping up with email. Maybe this is an irrational stressor, but when I have that red number hovering, I feel like it’s something that NEEDS to be taken care of (this is also why I often close my email or hide the app bar when I’m programming.) Airmail allows you to get all of your inboxes in one place. The other nice feature is that you can easily file specific emails into folders in a different email address. With that function you can get an email at one address, but reply from another which I find really convenient. One tricky part is that any time you need to create a new folder, you need to go into the interface to create it and then re-map the account. Another is that you need to be careful to make sure you’re emailing and responding from the account that you want to be.
Github is great for a variety of reasons. I use public and private repos for the same reason others do… to keep track of projects and things I’ve worked on codewise. One thing that’s a little unique, I think, is that I use a private repo to keep track of conference talk proposals. For unique conference proposals, I create a folder for that conference and keep any proposals I’ve submitted under that conference’s folder. For proposals that are more standard, and basic information like abstract and details, I just keep all of those files in root. I also have a file for my bio and the list of conferences I’ve proposed to or want to propose to with the date of the conference, location, and proposal due date. The BIGGEST win for this approach is that when I’d like feedback, I can just create a PR and invite a few people to review it. They can review in one place and see each other’s comments to agree or disagree.
OneTab is a great Chrome extension that keeps me focused. The premise is simple. If you have lots of tabs open, you can pull them all into one tab. When you pull everything into one tab, it organizes all the tabs/links into a group and then you can close, re-open, and move around the tabs. It’s really helpful. I do, however, make sure that once I hit 90 tabs, I take some time to prune them or go through and start to read them.
To do list
I LIVE by my to do list. My to do list is broken down by day of the week. At the end of every day, I’ll look at the day’s list, see what didn’t get done, and then decide what day I’ll move it to. Every weekend I look at every day of the upcoming week and I make sure things are balanced.. For days that have more meetings, and therefore might be choppy, I’ll put some additional smaller tasks because I likely won’t go heads down as much. On days where I’m mostly free, I limit my to do list items so I can focus on code. I also look at evenings and make sure I’m only making a day’s to do list as long as the amount of time I have in that day.
So, for example, if the daytime AND evening look pretty packed, I try not to have more than 4-5 items on the to do list. I’ll balance that by having a few more things on the to do list for different days. Now, here’s where my to do list doesn’t fit the mold… I have a “weekend” section and an “other” section. The weekend section is often things I think about during the week that are personal and need to be taken care of over the weekend. The “other” section contains longer term things. These are items that don’t need to happen this week or next week, but maybe a month from now that I don’t want to lose track of. Occasionally if something has remained on “other” too long, I’ll try to filter it into the to do list for that week or the following one if it makes sense. Finally, there are a few recurring items on the to do list, like a personal retro every Friday.
Being busy can be really challenging. In order to make sure you’re accomplishing tasks and not falling into the trap of being busy for busy sake, you need time to reflect. Every Friday I take 30 minutes to do a personal retro. It’s super simple and I keep all the notes in a OneNote notebook. I look at the previous week and think about:
- What I’ve LIKED
- What I’ve LEARNED
- Whats LACKED
- The retro doesn’t just focus on work things, but should definitely include work items (especially the learned part so you can keep track of what you’re learning).
Time blocking for specific task types
The last part of the puzzle is minimizing context switching. On days where I have a lot of meetings, I’ll try to accomplish lots of small tasks, like things that I can put bits of thought into but that can easily be interruptable. This also means that those tasks are taken care of so I can really go heads down and focus on more complex technical challenges on the days where I have larger blocks of uninterrupted time. Even within the smaller tasks, I try to limit context switching. If I know I have a meeting related to a specific topic, I’ll try to also accomplish related to do list items.
None of these tools are perfect. There are trade-offs to each one. And sometimes I still go a little crazy or feel a little overwhelmed. These systems took a bit of time to put in place initially, but now that they’re established, they’ve become lifesavers for me and my busy life. I’d love to hear your favorite apps for organizing!