I am sure that you have heard the often quoted “great developers are 10 times more productive than average developers”. As a consultant, I have seen this in practice many times, over the course of many projects at many clients. I am sure that you know people on your team, or people that you have worked with in the past, that fit this model. They always complete their work or tasks so much faster than anyone else on the team. But, have you ever stopped to really think about how that happens?
Now, there are lots of reasons why one developer is more productive than another. Things like years of experience and education do factor into the equation. And, you will always work with that one person that has an uncanny ability to work magic – make the impossible possible, and make it look easy at the same time. We can look back in history to find numerous examples of people that worked this magic in their fields – Einstein, Da Vinci, Mozart. Yes, there are people that just function at a higher level, sometimes without even realizing it. But, having a “gift” is not the only solution – there are many other things that people can do to try and level the playing field.
Step 1 – Ditch the Mouse
If you have ever spent anytime working with extremely productive people, you should notice one thing right away – they hardly ever touch their mouse. Think about data entry people – their whole day is spent rapidly entering in massive amounts of data, probably never once using their mouse. How many times have you worked on a project where you spent any amount of time optimizing the tabbing order of your fields, or added keyboard shortcuts, specifically for those data-entry type users? Now conversely, think about the less-than-productive people on your team. I am sure if you spent some time watching how they work, you will notice how heavily they rely on their mouse. The point here is to maximize the time your fingers spend on your keyboard, and minimize the amount of time your hand reaches for the mouse. Over the couse of a normal work day, think about how much time is wasted moving your hand from the keyboard to the mouse. It may seem insignificant, but the act of moving your hand from the keyboard to the mouse is also a minor disruption in your thinking and flow. I am sure you have heard the phrase “being in the zone.” I will cover this later, but you want to maximize your time in the zone and reduce or eliminate any distractions that take you out of the zone.
Try this – for the next half hour, do not use your mouse. Unplug it if you have to. How often do you find yourself reaching for the mouse? If the answer is a lot, then you have some work to do. Start with the program or application that you spend most of your time in each day – it could be Eclipse or Excel, it does not matter. Now, for the next few days, each time you reach for the mouse to do something, stop yourself, and spend the time to figure out what the keyboard shortcut is. I know, it does not sound like a lot of fun, but trust me, the payoff will be huge.
Start creating a cheat sheet of your most used keyboard shortcuts, and stop using the mouse for those tasks. A lot of programs have cheat sheets built in, but you need to be dedicated to eliminating your mouse use. One way to help successfully build a new habit is to make that habit, along with its successes and failures, public. So, tweet or blog or even just talk about which new shortcuts you have discovered and are now using. By writing them down and talking about them and actively using them, they will become more and more automatic.
Step 2 – Effective Shortcuts
Building upon Step 1, now is the time to apply the same principles to the OS that you work in every day (my examples will be Windows-centric, but equally apply to any OS). Pick the top three programs that you use regularly every day – for example Eclipse, Firefox and Outlook. When you want to start these programs, do you click on the Start menu, select All Programs, wait for the list of all of your programs to pop up, find the right folder, and finally click on the program you want to run? Do you find yourself hunting through the Start menu numerous times a day? I am sure you have worked with someone who calls you over to help them with something, and then takes 5 minutes to try and find the right shortcut to the program they want to start.
Now, a good first step is create shortcuts on your desktop for the top 5-10 programs that you use consistently, day in and day out. This eliminates the need to hunt through your Start menu. A better step would be to take advantage of the Quick Launch in the Taskbar. This does two things: you can launch a program with a single click instead of a double- click, and you do not need to minimize all of your open windows to find something on your desktop. By making your Taskbar two rows high instead of the default one row, you can move the Quick Launch up a row to take advantage of the full width of your screen. This is easily accomplished by right-clicking on the Taskbar, unselecting “Lock the Taskbar”, resizing the height to be two rows tall, and moving the Quick Launch to the top row, on top of all of the open program taskbar buttons. Now you have almost the entire width of your screen for Quick Launch icons, as opposed to having it crammed beside all of the open programs on the taskbar.
Once you start identifying the programs that you run the most often, and adding them to the Quick Launch, you should take note of a couple of tips to help keep all of those icons straight. First, make sure the icon is unique and distinct, so that you can know instantly which program you are starting. Second, by giving the shortcut a distinct name and comment, you can also quickly identify what is what by the tooltip when you hover over the icon. At this point, you might be wondering why you’re back to using the mouse to launch programs. Did I not just tell you to minimize your use of the mouse? You are correct, but for programs that you only launch once a day, this is acceptable.
But, if you want to keep expanding your keyboard kung-fu, there are many options available to you for launching programs, some provided by your OS and others provided by additional applications that you can install. For example, in Windows, to launch a Windows Explorer window, the keyboard shortcut is Windows Key + E (hold down the Windows key and press E), or to run a program, the shortcut is Windows Key + R.
Each OS has similar keyboard shortcuts, and a quick Google will provide you with exhaustive lists, but the true power of keyboard program launching comes from other third-party applications. For example, in Windows, Executor (http://executor.dk/) and Launchy (http://www.launchy.net/) are two popular keystroke launchers. In MacOS, you get LaunchBar, but you can use Quicksilver (http://blacktree.com/?quicksilver), or also Launchy.
All of these programs provide ways to launch programs without ever clicking the mouse. After spending a little time using one, you will wonder how you ever did without one.
Step 3 – Get and Stay in the Zone
Developing and programming has often been likened to creating art or music instead of engineering. I am sure you exactly what I am talking about when I talk about “the zone” – that place you reach when you are deep in your work and time has no meaning. Now, think about how often you reach that place during a normal work day. Are you constantly being interrupted with phone calls or emails? Are you always checking the latest news headlines or sports scores? How about keeping up with the endless stream of tweets? If you take a hard look at your normal day, I am sure that a lot of your day is spent instantly responding to some type of interruption (email, IM, tweet, etc) and then spending several minutes trying to get back to whatever it was you were working on before you were interrupted. Extrapolate that over the course of a day, and it is no wonder you feel like you can never get any work done.
To fully embrace this step might be the most painful of all. And, in certain roles and situations, it might be near impossible (for example, first level support). But, in the majority of situations, you can do this. You need to block time periods during your day where you will not let yourself get interrupted. The point here is to ignore everything but your task at hand, and let yourself slip into “the zone” where you are your most productive.
There are lots of ways to accomplish this isolation, and you may have to use multiple tools and techniques to be successful. Block your calendar so that you do not get invited to meetings. Turn off your email notifications, and ignore your emails until your time block is over. Close your browser windows so that you’re not tempted to check on your favorite sites. Set your IM status to “Do Not Disturb”. Wear headphones, even if you are not listening to any music. Turn off your phone. A quick Google will turn up lots of applications that can lock you out of certain web sites or applications, for example, that consistently suck up your time.
At first, you might experience symptoms similar to withdrawl, and your desire to “just quickly check on X” might be overwhelming. This is the hard part – you have to resist those urges and focus on the task at hand. The world will not stop if you do not check your email for 30 minutes, or 1 hour, or even 4 hours. For example, whatever problem in that urgent email that you felt that you just had to respond to can wait, or will even be resolved before you get to it. The chances are greatly increased the more people the email is sent to. Now, I am not suggesting that you go cold turkey and only check your email once a day, but to gradually ease into these time blocks, maybe 30 minutes to start with. At the end of those 30 minutes, “reward” yourself with 5 or 10 minutes of email or twitter or web browsing. Over time, you should be able to increase your “in the zone” time blocks, and notice how much more productive you are becoming. The point is to eliminate all of the time wasters in your day, and focus on your real work tasks.
Where Do I Go From Here?
There is a lot of information in this article, and trying to do everything all at once is just asking for failure and frustration. You need to start small – first by identifying your current habits and mentality, and recognizing how and where to apply these steps. If you think this is too much work, then you have already talked yourself out of even trying. Yes, at first it might seem like you are being less productive, especially if you have never used keyboard shortcuts, but gradually over time you will notice the improvements and start looking for more ways to become more efficient and productive. Good luck and have fun!