Can typing skills improve a developer’s productivity?
April 5th, 2011 Jorge Balderas, Consultant (email the author)
From personal experience, I’d like to make the case that typing skills can help improve development productivity. When I took a typing class on 7th grade, little did I know how much I would benefit from such skill throughout high school, college and work. On an average day I find myself typing about 50% of my day. Whether I am writing code, a design document or typing e-mails, I do a lot of typing. The biggest productivity gain of knowing to type does not come from typing speed, it comes from being able to type without actually looking at the keyboard. If you are able to do that, you can be looking at the screen instead of the keyboard and that allows you to make corrections as you type, thus minimizing review time and the number of corrections. In this blog post I will go over some techniques for improving your typing skills.
A bit of history on the QWERTY keyboard layout
Have you ever wondered why the letters in your keyboard are arranged in such a way? What is the rationale behind that layout? Who came up with such layout? Wouldn’t it be more intuitive to arrange them in alphabetical order? The modern keyboard layout that you find on most computers and smartphones today was invented over a century ago, in 1873 by Christopher Sholes. Contrary to popular belief the keys in the QWERTY layout are not arranged to improve typing speed. The main problem that Sholes was trying to solve was a mechanical problem. His layout was designed in such a way to minimize jamming of the typebars on a mechanical typewriter. If you have ever typed on a good old fashioned typewriter you probably know that it is very easy to jam the typebars of two letters that are adjacent to each other. While it is not hard to un-jam them, it is extremely annoying getting interrupted by this.

Jammed typebars (Source: Wikipedia)
It turns out that the first typewriter model constructed by Sholes had the letters arranged in alphabetical order in 2 rows. The QWERTY layout was born after several years of trial and error and influenced by a letter-pair frequency. Sholes ended up separating the letters of the most common digraphs (letter pairs) that occur in the English language, such as ‘th’, ‘he’, ‘in’, ‘er’, etc. Another aspect of the QWERTY layout that is still preserved to date, is the arrangement of the keys in diagonal columns, instead of being on a grid. The rationale for this diagonal arrangement is also mechanical, to give enough room to the levers of each key on a typewriter.
There have been many alternate keyboard layouts. The most popular one is the Dvorak layout. Ergonomic studies have found that in order to maximize typing speed a keyboard design should: balance the load on the right and left hand; maximize the load on the middle row; and maximize frequency of alternating hands while minimizing same-finger typing frequency. The Dvorak keyboard layout is superior to the QWERTY on all of these aspects. You can type 400 of the most common words in the English language on the Dvorak layout without ever leaving the home row. By comparison, you can only type 100 common words using the QWERTY home row exclusively. The reasons why the Dvorak layout never took over QWERTY is worth another blog post, but in my opinion it boils down to resistance to change.

US Dvorak layout (Source: Wikipedia)
Learning to touch type
Now that you know the rationale behind the QWERTY layout, let’s look at some techniques at mastering typing on this layout. I know many developers that can type very fast using a technique known as ‘search and peck’ which relies on primarily using the index fingers. While you can type relatively fast with that technique, I’d like to emphasize again that the biggest productivity gain comes from being able to type without glancing at the keyboard. Such technique is known as ‘touch typing’ and it has nothing to do with touchscreens. Touch typing relies on placing eight fingers on the middle row of the keyboard and knowing from muscle memory where each key is located and which finger to use for each key based on their location.
The first step is to learn how to position your hands on the keys on the middle or home row. Your left pinky finger is always placed on the ‘A’, while your right pinky is placed on the ‘;’ key as shown in the picture:

QWERTY home keys – start position for hand and fingers (Source: Wikipedia)
The next step is to learn and memorize which keys are assigned to each finger. The general rule is that each finger is in responsible for the key on the home position as well as the one immediately above and below. For instance the left pinky finger is in charge of the ‘A’, ‘Q’ and ‘Z’. The only exception to this rule is the index finger. Index fingers are in charge of 6 letters instead of 3. The left index finger is responsible for the ‘F’, ‘R’ and ‘V’, but also ‘G’, ‘T’ and ‘B’. It is extremely important that you stick to these rules, as tempting as it may be, you should never use your left index finger to type an ‘H’ or a ‘Y’. If you do that, your hand leaves the home position and it is also harder to memorize by repetition.

QWERTY finger and hand position (Source: Wikipedia)
Memorizing the keys’ positions takes a lot of practice. I actually learned to type the old fashioned way on my middle school using an Olivetti typewriter. For several months we were required to cover the keys with stickers so that we would not be able to peek at the keyboard at all. While I am not suggesting you do the same, as a starting point I recommend that you start by getting used to putting your hands on the home position and try using the finger assigned to each key. You can probably find several typing tutorials online. Mavis Beacon was a popular typing software back in the late nineties.
Typing on touchscreen devices
You may be wondering how transferable this skill is with touchscreen devices. Other than being familiar with the keyboard layout it is not as useful since you really cannot type on such devices without looking at the screen. The other problem is the small size of soft or physical keyboards. So ironically you cannot ‘touch type’ on touchscreens because you lose the touch of the physical keys. This is why many people do not like phones with soft keyboards only. Even on old cellphones, most people are able to type fast with the use of one thumb because they are able to feel the key buttons.
I have found that I am increasingly typing more on the soft keyboard of my phone compared to one or two years ago. Realistically most people will continue to use a physical keyboard to produce information, and smartphones and tablets to consume information. One thing is for certain the QWERTY keyboard layout is here to stay for the foreseeable future. You may have heard that ‘OMG’, ‘FYI’ and ‘LOL’ were recently added to the Oxford English Dictionary. I hope I don’t see the day when ‘pls’, ‘thx’, ‘txt’ are added to the dictionary if that ever happens, but I do see the QWERTY keyboard layout sticking around for a really long time.
Entry Filed under: Agile and Development
Pages
Categories
- Agile and Development
- Application Modernization
- Cloud Applications
- Process Integration
- Summa
- Technology + Healthcare
- Uncategorized
Most Recent Posts
- Summa Is Award Finalist at IBM’s Impact 2012
- Working with JqGrid and ASP.NET MVC - Setting up a base jqgrid parameters class
- Rebase a Slave Mercurial Repo to a Subversion Master
- The Social Enterprise Part 2 – How To Set Up Chatter In Less Than 30 Minutes
- Implement Clear Governance for BRMS
Feeds
Calendar
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Mar | May » | |||||
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | |

1 Comment Add your own
1. Jorge Balderas | May 12th, 2011 at 9:34 pm
Just came across this idea for a product to allow touch typing on a virtual keyboard: http://www.kickstarter.com/projects/1030552097/ikeyboard-0
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed