Your web-browser is very outdated, and as such, this website may not display properly. Please consider upgrading to a modern, faster and more secure browser. Click here to do so.
During the workday, everyone has upswings and downswings of productivity. One of the secrets of increasing productivity is to learn how to manage these, to make the most of your best times, and to mitigate the damage of your low swings. Here are some tips for that.
Separate High-Functioning and Low-Functioning Tasks
Every job comes with some amount of drudgery. Maybe it’s answering emails and IMs. Maybe it’s writing documentation, or some other form of paper work. Either way, these are tasks that can be accomplished without a whole lot of thought. Take care of these things when you are in a slump can help you accomplish something when you are feeling sluggish. This will also get them out of the way for when you are ‘in the zone’, and really need to focus.
Set The Pace
The way you start the day can do a lot to set the pace of the entire day. Pushing yourself to be productive for at least the first 15-30 minutes of your day can help you set a good pace for the rest of the day.
Know when to Quit
Sometimes the best thing you can do is step away from the task at hand for a bit. Taking a break and getting some air can sometimes do wonders for helping you get over a stumbling block. If your place of work allows it, it can be beneficial to leave work early on bad days, and stay late when you’re on a roll.
The important thing is to not try to hard to force yourself through the down times. They are natural, and they are going to happen. More hours have been lost by people fixing bad code that was written by someone pulling all-nighters than have been gained by these kinds of practices.
For more on this topic, check out Joel Spolsky’s article Fire and Motion.
The best text editor available, in my opinion. I used to love Notepad++, but once I got introduced to the terminal and was forced to learn a new tool, I realized how much more productive I could be using emacs.
Version control should be mandatory for any project these days, no matter how large or how small. Mercurial is my tool of choice, but any distributed version control system will do (I also use Git for some things)
Over time I come across a ton of different links & resources, and Diigo is the best tool I’ve found so far to keep them all organized. It also comes with chrome & firefox plugins, which make it a breeze to use.
The easiest way to keep multiple files synced across multiple computers. It can also act as a quick way to throw up an HTML page or host some photos if you need too. I also use it to keep clones of repositories, so I can keep my worked synced across multiple machines.
Much like version control, I think issue tracking is something that every software project needs, no matter how large or how small. At worst, it’s a fancy to-do list. At best, it’s a way of organizing a lot of information, planning, and progress throughout a project. You can keep track of milestones, and looking back through old tasks can often provide valuable information about past changes & fixes. If you are just getting started, Fog Creek offers a ‘student & startup’ edition which is free for up to 2 people.
Great for having multiple environments to test & develop on. I currently use it to run an Ubuntu instance, and I’m hoping to set up OS X & Android environments in the near future.
A fast, simple way to keep notes & documentation together. It’s a self-sufficient file, so you don’t need hosting or a database. There’s also a place that will host one for you for free at Tiddlyspot
So these are the main tools I’ve found that have helped me out. Anybody have any recommendations for additions?