Touch Typing for a Developer?
The Whinger asks: "I've been programming in various forms for about 20 years now, and I still can't type. I keep thinking, "I must learn to touch type". Unfortunately, two finger typing, 'touch typing tutorial' into your search engine of choice throws back a minefield of hits. Of course, picking something to try does not guarantee success. Does touch typing help with programming? Do you know of any tutorials that you would recommend or avoid? I can't spend the next forty years two finger typing ;)."
If you're seriously considering retraining your typing, I strongly recommend the Dvorak layout. I typed in QWERTY for a long time, but I never really noticed any of its problems until I took the time to learn Dvorak a couple summers ago. It took me about of constant Dvorak to get back to my old speeds, but it was well worth it.
If speed is your only goal, Dvorak will certainly be worthwhile, as you'll probably be able to type faster than you would with QWERTY, but in my experience the most noticable difference is just how much more comfortable Dvorak is. That's important for me, because I've had tendonitis in my hands (from too much fast typing with QWERTY...go figure). As I said before, I never noticed that QWERTY wasn't comfortable until I learned Dvorak. It really is much better. I'd say a regular old flat keyboard with Dvorak is quite a bit better than an 'ergonomic' keyboard using the same old crappy key layout.
It might seem to some of you like this keyboard layout is a solution in search of a problem. That may be so, but only in the same way that Ogg Vorbis is (i.e. it has some definite benefits, but most people don't think it matters, since its competitor already has such a huge user base). But my point is, if you're going to do something, in this case relearning how to type, you may as well do it the best you can.
Btw, some people have said to me "well, I would learn Dvorak, but then I'd get confused by a regular keyboard." JFYI, this is wrong. I can still use a QWERTY keyboard as well as I ever could. However, I don't really enjoy having to do it :-)
To this end, I didn't relabel the keys themselves, I just taped a keyboard diagram below my monitor. I never look at the keyboard now, I just rely on the bumps on F and J.
When I learned to touch type, I was in 8th grade and doing computer work for our high school yearbook. The instructor in charge suggested that instead of using a computer to learn touch typing I should use a device he had. It was a simple keyboard with a little LCD display that would run through typing tutorials.
The thinking was that having a separate device avoids distractions, like wanting to check email or the web or play games. It worked for me. Just thought I would bring it up. I have no idea where you would get something like that now (I haven't checked the font of all knowledge...er, Google).
HTH.
However, anyone can type paragraph after paragraph of key combinations, all lowercase, with no numbers or punctuation, and get 100 wpm consistently.
Being a programmer, though, means you need to learn not only where all of the letters are and how to type them in both upper and lower case, but you need to learn how to make extensive use of the number and symbol keys. These are the least emphasized in many typing programs, which are more geared towards the letter/number/symbol ratios you would see in taking dictated correspondence.
There ought to be a "touch typing for perl programmers" type program, or a plugin or exercise set for popular programs that lets you practice symbols, newlines, indenting, commenting, etc
With that in mind, use Mavis, and stick with it. I type 90 wpm, closer to 75 when coding C++ or Perl. Spend lots of extra time on the number and symbol keys, and it will pay long dividends.
The facts have a liberal bias. --The Daily Show
That was how I learned to type. My junior year in college, I decided that I wasn't keeping pace on IRC like I would have preferred. I went to Office Max and bought a little book on typing, made I guess for new secretaries or receptionists or something, just a little plastic-ring-bound book about 25 pages long. I sat with my fingers on the home keys, made a consious effort to type each letter with the "correct" finger, and after about two months I was touch-typing about 80 WPM.
:)
To the original question-poster I say: touch typing has made my coding better, and faster, especially since I got good at getting to the []{}; keys. Making ; a force-of-habit from touch-typing rather than trying to think one character at a time, and forgetting the ; makes a world of difference to me
Only two things are infinite, the universe and human stupidity, and I'm not sure about the former. (Einstein)
The best way to learn to type is to start playing a MUD (multi-user dungeon, text based) Most are at least relatively entertaining, and many are extremely addictive. Thats how I learned to type, and right now I am typing at approximately 100 words per minute, and I have rarely used a typing tutor. Or become an IRC junky.
www.medievia.com is the game I used to play...get mudmaster.
I was in the same boat as you. My hands hurt, and I was a professional programmer. I _knew_ I needed to learn to touch type, but I couldn't stop looking at the keyboard.
So I painted my keyboard black. The first week _sucked_, but by week 3, I was at 80% of where I had been before, and that 80% was touch, no looking at all.
Over the next month, I crept up to a bit faster than I had been, and that was good. But the real benifit to my speed was that, with my hands always in the correct location, all the control-Key and alt-Key keyboard shortcuts for my editor, my shell, and my web browser became available, and even second nature to me.
It is worth it.
There are a number of businesses which sell keyboards with blank keys, for use in typing classes; you can google for them. I reference this only as a means of showing that this has worked for others.
Try it, it _will_ work. Just take the plunge, accept the reduced short term productivity, and paint the keys black.
-- Crutcher --
#include <disclaimer.h>
In the 8th grade (like 1980?) I took typing in school and we had a strange smiling black lady as a teacher. I don't remember her name, but I assure you she wasn't fictional. And she would whack your knuckles with a ruler if you did not maintain proper posture or composure in her class.
Eight weeks was about all I could take of that business before I got transfered into a different class but I can type like a greased monkey now, and I still keep both feet flat on the floor and my back straight.
Glonoinha the MebiByte Slayer
Your fingers should naturally learn over time, through repetition. Many people can't play the piano to save their lives and don't even know which keys play which note, but can still play one or two simple songs they learned when they were kids, simply because their fingers (or, more accurately, their spine) remembers how. The same thing holds true for typing -- the more you type, the more you're building up this nerve memory map of the keys, until eventually you should be typing like a maniac without ever looking at them, even if you never learned to touch type the "correct" way.
The fact that he's been typing for 20 years and still hasn't gotten any better at it tells me that there's something wrong with his nervous system. Not that I'm a doctor or anything.