The keyboard is still the predominant way we interact with a computer. Voice input, touch screens and even whole body gestural input may be on the increase but most of us still type our commands or data into the machine. So how important a skill is typing for programmers?
The keyboard is still the predominant way we interact with a computer. Voice input, touch screens and even whole body gestural input may be on the increase but most of us still type our commands or data into the machine.
This makes it all the more surprising to observe how many programmers use just two fingers when confronted by a keyboard and use the time honoured "hunt and peck" technique. It isn't stylish and it isn't efficient.
Imagine if a musician picked up a guitar, say and then proceeded to play using just one string at a time. You'd have to conclude that while they might be musically brilliant they just hadn't taken the time to physically master the tools of their trade.
And what else is that keyboard but the main tool of our trade?
What really amazes me, is that after years of doing it and getting by, many programmers like a lot of other computer users don't know that there is a right way to type. They have just observed the simple fact that some people seem to be able to type faster than they can and sort of assume that it must be just practice - and one day they will get to the same level of speed.
Even if they do notice that more than two fingers are in use there is an implicit assumption, or is it hope, that one day the other useless fingers on both hands will get into the game. Train the first two fingers and the others will get the idea and follow...
Wait a moment - who says that there IS a proper way to type?
How do we type?
The QWERTY keyboard was invented in 1873 but it didn't come with a user manual.
Obviously it didn't really matter what the keyboard layout was, there wasn't going to be an obvious best way to type. After a while a number of styles were in used but the matter seems to have been settled by a competition to see how fast each method could go.
The winner was a system called "home keys" and the speed was an amazing 120 words per minute. At the time there were even public typing contests and great fun was had by all with the new technology.
The "home key" system allowed users to "touch type" - the term wasn't invented for some years after the invention of the system. The majority of typing at the time was copy typing - i.e. reading a handwritten or corrected draft text and typing a copy. The problem was that if to use a keyboard you had to look at the keys, you would glance at the source text, remember a chunk of it and then type it out while looking at the keyboard. If you could touch type then you didn't have to look at the keyboard and could simply focus on the text and type what you read.
You typed by touch rather than sight.
The home key system made touch typing much easier. All you have to do is start to type with your fingers positioned on the home keys - ASDF for the left hand and JKL; for the right hand.
The home keys
To type any character you only move the finger closest to the key and return that finger to the home key it was resting on. In this way every key press is reduced to a fixed movement of a particular finger and you don't have to look at the keyboard. Because each movement for each letter is completely fixed you can rapidly build up "muscle memory" that frees you
Now you know why there is usually a molded dot or dash on the F and J keys on most computer keyboards - it is there to help you position your fingers over the home keys without looking. The strange fact is that some touch screen virtual keyboard have the dot on the F and J keys even though you cannot feel them.
Using the rule that you move the closest home key finger to type any letter you get a simple finger assignment map. Notice that for some characters the same finger does a lot of extra work - the little finger on the right hand for example is very over worked for such a small digit.
Finger assignments: Yellow for little fingers; pink/purple for index fingers on the left and right hand respectively.
A skill worth learning?
You can teach someone to touch type quite quickly, there are lots of website and applications that will do the job, and you can expect them to get to 60 words-per-minute in no time.
Once it was the rule that lots of people were taught to type at school - but most of them were girls and most ended up in low-skilled jobs. As a result typing is seen as a manual worker's skill not worthy of anyone with a brain and a prospect of working smart. There is a tendency for schools no longer to teach typing or at best offer it as an option. Yet schools still put a great deal of effort into teaching children cursive script with the sole advantage that it can be written using nothing but a ballpoint pen or a nail for that matter.
There are many questions of why we select some skills to teach while neglecting more useful ones and how the educational curriculum could be overhauled to meet the needs of the modern world but... this is a much wider issue.
The issue at hand is to learn to type or just make do?
The keyboard is still our main interface to the computer and for many reasons we accept the challenge completely unprepared because we just don't bother to learn the mechanical skill of touch typing. Just think how much more productive you could be if you could simply think your thoughts or your code onto the keyboard as fast as you could think them.
You may think that you can type fairly fast and it isn't blocking your programming but there is evidence that touch typing frees the mind for better things. if you can type using all fingers without having to look at the keyboard then you free up neurons and time to think about what you are typing.
Touch typing is clearly a skill to be valued.
Or is it?
There is a change in the way we interact with computers and it is mostly due to the use of touch screens. You simply cannot touch type on a mobile phone's virtual keyboard. When presented with such a thing your only option is to use one or at most two fingers. Given the way that the unit is held you also can't use the full keyboard style for a two finger peck. It seems that the best you can do is use two thumbs. This is perhaps the biggest change to typing since the introduction of touch typing. There are even apps and websites that will teach you how to two-thumb touch type. This is a big change because before the touch screen smartphone we only had one major text input device - the full size keyboard - now we also have the virtual keyboard to deal with.
So should you learn touch typing or thumb typing?
At the moment the answer is probably both but this is not a good answer.
For all of the musings on change there is one clear conclusion - typing is a useful and relevant skill. If you have any children to educate make sure that they learn to type. Notice that if schools do not teach everyone to touch type what better way to gain an advantage than to make sure little Johnny or Jane can. Think of it as a secret weapon.
There are a number of typing tutors that gamify the task to the point where it is actually fun... then there are those who think that typing fast and accurately is fun in itself.
Finally what is good for the children is good for us. Learn to type - it's not too late. Even if you have developed an advanced hunt and peck technique you can retrain your finger muscles and make use of physical memory in a very short time. Get a copy of a typing tutor, stick a cover over the keyboard and get practising.
For many programmers the single big efficiency improvement that can be made to their technique is to learn to touch type.