It is a sad fact that many programmers don't learn to type, despite the fact that the keyboard is their main tool of the trade. New research, however, suggests that this might not matter as much as you might think and you don't have to be ashamed that you are not using all your fingers.
Researchers from Aalto University in Finland studied the typing behavior of 30 people using a motion capture system so that they could see exactly which fingers were being using to press which keys. What they discovered runs against many well accepted assumptions.
“We were surprised to observe that people who took a typing course, performed at similar average speed and accuracy, as those that taught typing to themselves and only used 6 fingers on average”, explains doctoral candidate Anna Feit.
What is even more interesting is that, unlike touch typing, untrained fast typists used their right and left hands differently. In general the left hand stayed in the same place on the keyboard and the right hand moved about more freely. If you touch type then both hands stay fixed in place over the "home" keys.
The home keys
It also seems that people who discover how to type fast on their own invent different ways of doing the job. The study found four general ways of using the left hand and six ways of organizing the right hand. These varied from using mainly the index or middle finger of a hand, to more complex strategies with multiple fingers, up to the full use of all fingers in the touch typing system. However, the strategy learned does not determine the typing speed - there were fast and slow typists using all of the strategies.
You can see the experimental setup and some of the conclusions in the following video:
So what are we to make of this?
While the touch typing system is assumed to be the best way to type Feit observes that:
“The touch typing system was developed for typing sentences on typewriters. It is not advantageous for Photoshop shortcuts or gaming, often done with one hand on the mouse”
The team also offer some advice for getting fast without formally learning touch typing:
Keep your hands static. Move only your fingers towards the keys and try to keep the palms of your hands fixed on one position.
Look at the screen. You'll be surprised how well you can type without looking at your fingers.
Prepare upcoming keystrokes. Start with special keys, such as Shift, Backspace, or Enter, and move the unused fingers earlier.
So there you have it - you don't need to learn to touch type to program. Or do you?
The one advantage they did find for the touch typing system was that trained typists looked at their fingers and the keyboard about half as much as untrained typists. This could still give you an edge over an untrained, but just as fast, typist.