There is a common misconception about programming. If you don’t write software, you might think that a programmer sits at a desk typing in code all day. In reality, it is very rare to find a programmer who spends all their time coding. Saying that a programmer is someone who types code into a computer is like saying a lawyer is someone who talks in court. Although it is an important part of the job, it is just one of many types of work that make up the full role.
Because a programmer isn’t entirely dedicated to typing, many programmers say that they don’t need to be able to touch-type. I disagree with this statement and here’s why.
When you first practice a motor function, your brain must deal with the individual steps involved in making up the action. For example, if you were to take up archery, there are many small details that need to be combined to make a good shot. A good instructor will teach you not to worry about hitting gold, but instead to concern yourself with grouping your arrows close together. To do this, you need to learn to be very consistent. You must draw the bow string in the same way, touch your hand to the same place on your face, keep your back in the same position, aim in the same way, smoothly release the string in the same way and keep a whole host of tiny details under control.
The idea is to practice the movements until you no longer need to think of them all individually.
In your brain, what happens is that the combination of all of the actions will eventually be moved as a special set of instructions into your cerebellum. When this happens, you obtain a special gift; without having to think about all of the individual movements you can perform the action to a high standard. It is as if you get hundreds of brain-cycles at the cost of just one. The brain still initiates the action, but the cerebellum takes care of precision, timing and coordination.
So this is why programmers should touch type. Not because it will let them type code in faster (although they might), but because it frees up their brain for the other, more important, aspects of the job – thinking about the design and making it simpler.
You can learn touch typing in about a month and improve the speed to a reasonable standard in an additional month. Much of the performance of touch typing actually comes from improvements in accuracy, rather than actual finger-speed improvements, so even a basic touch-typing course combined with regular application of the discipline when using a keyboard would make a big difference.
So if you are a programmer who can’t touch type – why not learn it and free up your brain for the real work?