Jeff Atwood has another great blog post, this one about going commando and putting down the mouse. Knowing keyboard shortcuts is a great productivity booster, as the keyboard-to-mouse context switch has high latency. I prefer keeping my hands on the keyboard as much as possible, delegating to the mouse only when necessary. As such, I've setup a variety of keyboard shortcuts in Microsoft Word to perform common actions and am fairly well-versed in the keyboard shortcuts for Visual Studio.
There is one place where I overuse keyboard shortcuts, and that is when I am teaching or training. By habit, when I want to perform some action I use the keyboard shortcut I know, but this doesn't translate well when you are showing a class how to accomplish some task because they only can see your screen on the projector and cannot see the keys you just pressed.
In any event, Jeff's blog entry reminded me of a past experience. There have been many developers I've met over the years who have impressed me in various ways. Here is a story about one of them that is related to Jeff's blog entry...
At the university where I did my undergraduate work, computer science seniors had to take this special class their last two semesters that attempted to mimic real-world software development projects. We'd get assigned to groups and would have to pick a problem from a long list that would involve meeting with real clients (small businesses in the community), crafting requirements, building the app, testing, deploying, and so forth. A pretty neat program.
Anywho, each group would have to give a 15-30 minute presentation at the end of the semester to the faculty and other groups, discussing their progress, challenges encountered, blah blah blah. Many would demo their application. In my junior year I was in the computer lab working on an assignment and in came a group of seniors getting ready to present their senior project. One group member had lugged his desktop computer from home to demo their application. 15 minutes before class was about to start and they were to present, the desktop is plugged in and powered up in order to do a final test run. To his group members horror, the mouse was not working! I don't know if they had it plugged into the wrong port, if it had dropped on the way over, or if it was just an old and unreliable computer or peripheral. Regardless, the group member who brought the desktop machine showed his mettle by shrugging off his group members' panic, going commando and launching the app and running through their presentation entirely from the keyboard!
I didn't know this guy outside of seeing him in the lab a few times over the course of the school year. Never knew his name or saw him again after that day. But I remember his calm in the face of four worried group members and his mastery of the keyboard, and for those reasons I was thoroughly impressed and knew that this would be a developer I'd want on my team.