For years, I lived with a secret that I did not want to share. I never learned how to type properly! As a professional software developer with a couple of computer science degrees from Georgia Tech, that’s difficult to admit.
Now, do not misunderstand. I could functionally type really rather well. It’s not as if I was hunting and pecking with two fingers with my face above the keyboard. But I had my own special way of typing that had evolved from the time I was a child whose hands were too small to use the proper hand positions. I did not know how to use the home row properly and I would have to look at the keyboard from time to time to reorient my hands.
Then five months ago, in August, 2013, I decided to do something about this. At the time I was having some discomfort in my hands and because my livelihood depends upon computer programming, I switched cold turkey to the Dvorak keyboard layout, which is more ergonomic. So my purpose in switching was not typing speed but for health reasons to protect my ability to work long term. Switching layouts was the perfect time to teach myself proper typing since I had already gone to war with 26 years of QWERTY muscle memory and thus had the opportunity for a fresh start. Here is my progress so far on an English language typing test after having switched to the Dvorak Keyboard layout:
As you can see, I am not yet a super fast typer, but am glad to be making good progress while pure touch typing. It’s a good thing that I am a computer scientist who is not paid by words per minute. It turns out that most of the hard work in software development does not involve typing.
I am a fan of mechanical keyboards and I really like both the Unicomp SpaceSaver M and the DAS Keyboard Ultimate. I work with a MacBook so I have to use that keyboard as well. I have written previously about my SpaceSaver M because it was so easy to rearrange the keycaps when I first made the switch.
For truly learning to touch type, one must break the habit of looking at the keyboard for anything. For that, nothing comes in quite as handy as an all black, no inscriptions keyboard.
This Darth Vader-est keyboard is really helping me to learn to touch type. Even all of the numbers and symbols that are used in computer programming!
You may wonder why I would have spent this much money on keyboards and then have multiple to choose from. It’s because as Jeff Atwood has said about developers, We Are Typists First, Programmers Second. When one writes for all waking hours per day, then having an excellent keyboard is very important.
Writing vs. Coding
While writing computer software, one typically types a large number of English words and an extraordinary number of symbols.
Consider this bit of Ruby code that I recently wrote for an internal project:
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
It has plenty of words, but it also has quite a few punctuation characters, parenthesis, and curly braces. Learning to touch type these without looking proved to be a bit more of a challenge and I really did not master them until after having switched to the all blank DAS keyboard for several weeks. It was just too easy to cheat and look on the regular keyboard.
Getting faster at typing really just means the need for practice and that means the need for drills.
It is written by Jarosław Foksa and it is really quite good. Jarosław is really nice and responds to emails personally. When I emailed him about American spellings being mixed in with British spellings, he emailed me an updated app with a word database that was entirely harmonized for US English.
My life and livelihood revolves around writing software, emails, and other documents. I really do spend 15 hours at the computer on most days, sometimes more. Learning to type well and having a quality keyboard to type on is really important to me and to my future.
If you too, would like to learn how to touch type then here are some resources to check out:
- Type Fu, my favorite typing tutor!
- Type Racer
- Typing Practice for Programmers
- Dvorak, Keyboard Layout of Champions, written by Phil Haack who works for Github and is a contributor to Octopress, the software that powers this website!
- Colemak keyboard layout
March 2, 2014, Harshvardhan Kelkar, a software craftsman based in the San Francisco bay area, has written on the importance to Learn to Type Before you Learn to Code. His experience rings true to my own, especially the part where he shared that:
I learned typing the wrong way. While I was a fast typist my finger placement was completely random not relying on the home row that the keyboard provides. Bad techniques are hard to eliminate once imbibed.