How many developers don't know how to touch type? Is this really a problem? EDIT: Even if you pass the hiring process I think you would get fired pretty immediately.
I feel similarly, but i have also heard that there is some concern with the current generation of digital natives growing up with the presumption that they know how to touch type, w/o necessarily having gone through classes or the like.
I'd be interested to see if someone's done a survey on this.
I'm not convinced that it doesn't matter, but it may not be a big enough problem to get fired over.
As far as traits that affect overall developer productivity typing is almost certainly not at the top of the list, and maybe not even in the top 5. However, it is important. If you introduce a degree of inefficiency and friction into communication, coding, documentation, etc. that'll obviously impact overall developer effectiveness.
Consider this thought experiment. Instead of a regular keyboard a developer uses a thumb-based keyboard for everything, perhaps a wired 360 controller with a chatpad attachment. Are they going to get fired over it? Maybe not. Are they going to be less productive than if they were properly touch typing with a regular keyboard? Probably so.
You seem to assume that they type slower than all touch-typists, but I've met some touch-typists (with years of experience) that type slower than some non-touch-typists.
So again, it does not matter. Technique does not matter. Only results matter.
As a colleague said "Wow, you can type really fast... for someone who only uses two fingers".
Now he's exaggerating a bit, but I am a slow typer that predominately uses index, middle and thumb. Now, I get stuff done, I'm a pretty smart coder but typing speed, to me, feels like a huge bottleneck. By far the most important area I need to improve on.
Switch layout to Dvorak maybe? It will give you a fresh start and allow you to type fast with less finger travel and less pain, not necessarily any faster though.
Also will infuriate your co-workers and family members when they come to borrow your machine!
If you want to forcibly learn to touch-type, learning Dvorak is a very potent solution. The reason why you don't touch-type on QWERTY is generally that, frankly, there isn't a very compelling reason to. QWERTY doesn't reward you for it. You keep your fingers on the home row, and you get, what, the J? The K? F? The semi-colon? WTF? Why would you touch type? I'm not actually sure failing to touch type with QWERTY is actually a problem. It may actually be the most rational reaction.
Or you can switch to a sensible keyboard layout, of which Dvorak is the easiest to get support for (though not the only, and, abstractly, not necessarily the best, but mostly good enough). Now you get AOEU under your left hand and HTNS under your right, and guess what, you don't have to try to keep your fingers on the home row, because they're just there anyhow. It's difficult to imagine what a "non-touch-typing Dvorak user" would even be, at least once you've really internalized it.
Given how painful learning to QWERTY touch type can be, it's probably easier just to switch to Dvorak, learn the layout, then just naturally learn touch typing in the next couple of months without "trying". The total effort might be lower, even if the switch isn't free.
(This is all assuming we just take as a given that touch typing is desirable. I'm not sure about that, but I also think we lack the data to be sure either way, especially when it comes to long term effects.)
Colemak is another good alternative to Qwerty layout. It's still not as popular as Dvorak (Colemak support was not present in OSX until Lion), but it seems to be beating both Qwerty and Dvorak layouts when it comes to speed and learning curve.
When I was in high school I took a year long typing class. It was difficult for me because being a computer nerd my whole life I had picked up a strange-but-fast form of two finger typing.
My typing teacher used these little cardboard cutouts that stood above the keyboard so you couldn't see the keys. These kept you honest. After that we just used some ancient DOS typing software that started you out typing strings of random letters composed of the homerow. As time went on it started introducing keys from the other two rows as well as numbers.
It was frustrating at first because of how slow I became at something I was normally fast at. However, in the long run my speed more than doubled once I learned how to touch type properly.
Completely OT, but when I saw your comment, I new I recognised your handle, but couldn't think why. I finally worked it out though - you answered my first ever Stack Overflow question in 2009! http://stackoverflow.com/questions/418465/is-a-preference-fo...
I don't know how to touch type, I have a "two fingers and thumb" approach and never have to look at the keyboard (I was given a German keyboard at work and I never noticed until a German sat down and tried to use it). I was curious what "fast" is so I just took this test:
I hadn't seen this test before so I took it on a lark.
405 points, 11978th, 530 characters per minute, 101 correct words 2 wrong.
101 wpm.
I'm going to go out on a limb here and guess that most professional developer types can probably do within some small percentage of these scores.
From wikipedia:"An average professional typist reaches 50 to 70wpm, while some positions can require 80 to 95 (usually the minimum required for dispatch positions and other typing jobs), and some advanced typists work at speeds above 120"
I am not the person you were asking this of -- but I type in a similar fashion (I only use my two index fingers and my right thumb [which is dedicated to hitting the space bar]) and I have no problems typing fast in the dark. I don't look at the keys, it is all just based on muscle memory of where the keys are. Where I do hit a bit of a snag is when trying to type on a keyboard that is sized significantly different to that of the ones I normally use, but even in that case I adjust to the new spacing within a matter of minutes.
It's probably worth clarifying here that touch-typing is different to typing-without-looking-at-the-keyboard-(much). As knowtheory said, many presume that they're the former, when they're actually the latter.
gnu-typist/gtypist package also contains special mode that can be started with "typefortune -n 99" command. It lets you type random Unix fortunes which are much more interesting than predefined lessons.
What an arrogant posting (presumably by a web developer). Go write some mathematical software or anything serious at all and you'll find soon enough that typing is not even remotely the bottleneck.
What an arrogant comment. If you'd read the post, you would have seen that I said it's often not the bottleneck, but there are times when you need to get stuff out of your head as quickly as possible.
This "typing is not the bottleneck" is such a cliché - I nearly wrote about it in the article. It presupposes that programming is some kind of pipes-and-filters activity where we're thinking and then typing and then compiling. I don't know about you, but when I'm programming I work in different states. Sometimes it actually is about getting the code into the computer as fast as possible. Not all the time, but sometimes.
I keep managing to navigate backwards to an empty tab without wanting to.
I tried to write a Chrome extension for typing text on websites recently. But I never got it to select the correct text blocks, especially on sites with table layouts like HN.
I originally learned to touchtype in elementary school.
These days I just a Dvorak layout and don't worry too much about whether or not I use the proper form. I also don't concern myself with typing speed too much - if the speed at which your can write is your bottleneck, you are either much too clever to be in normal software development or you should stop using COBOL.
The home-row (touch) typists I know are without exception, all the non-tech people I know. I can't even think of a single tech person in my entire career that typed like this.
When I was in High School we were required to take a typing class. I sat next to two of my nerd friends. When the teacher had little tests or races, we always came in 1st 2nd and 3rd in the class in terms of speed an accuracy, and between the 3 of us we probably used 8 fingers combined.
I don't necessarily touch type since I almost never use my pinky other than to hold down the shift button. I don't really see the need to learn how to hold my hands on homerow to type better, I can type about 98 - 110 wpm without any issues without looking at my keyboard.
The way I got better at typing and typing fast was to be on very busy IRC channels where getting a word in edgewise without missing any of the conversation required a lot of fast typing.
I understand that most of this was meant for the people that are hunt and peck type. I don't think it is at all necessary for people that are able to type at a rapid rate using their own style to relearn how to type.
I never learned to touch type. But if I use some amount of concentration I can type without looking at the keyboard. It's a bit like playing the guitar. I can see a mental picture of the keyboard and I can hit them with fairly high accuracy. I use most of my fingers but the pinkies are often regulated to hitting modifiers. Strangely I cannot picture many of the punctuation keys very well. Nor digits; top row or keypad.
I remember having to hunt and peck. But kids now use the keyboard from a younger age, I think the need for formal typing skills is not going to be necessary.
"But if I use some amount of concentration I can type without looking at the keyboard."
A competent touch typist should be able to type with his eyes closed, and without needing to concentrate at all. Typing becomes a reflex action, and you can concentrate on finding the right words, or on your code/problem itself.
36 comments
[ 1.9 ms ] story [ 90.5 ms ] threadI'd be interested to see if someone's done a survey on this.
As far as traits that affect overall developer productivity typing is almost certainly not at the top of the list, and maybe not even in the top 5. However, it is important. If you introduce a degree of inefficiency and friction into communication, coding, documentation, etc. that'll obviously impact overall developer effectiveness.
Consider this thought experiment. Instead of a regular keyboard a developer uses a thumb-based keyboard for everything, perhaps a wired 360 controller with a chatpad attachment. Are they going to get fired over it? Maybe not. Are they going to be less productive than if they were properly touch typing with a regular keyboard? Probably so.
So again, it does not matter. Technique does not matter. Only results matter.
Now he's exaggerating a bit, but I am a slow typer that predominately uses index, middle and thumb. Now, I get stuff done, I'm a pretty smart coder but typing speed, to me, feels like a huge bottleneck. By far the most important area I need to improve on.
Unlearning bad habits is hard, any advice?
GNU Typist, and real discipline. Force yourself to do it their way.
Also will infuriate your co-workers and family members when they come to borrow your machine!
Or you can switch to a sensible keyboard layout, of which Dvorak is the easiest to get support for (though not the only, and, abstractly, not necessarily the best, but mostly good enough). Now you get AOEU under your left hand and HTNS under your right, and guess what, you don't have to try to keep your fingers on the home row, because they're just there anyhow. It's difficult to imagine what a "non-touch-typing Dvorak user" would even be, at least once you've really internalized it.
Given how painful learning to QWERTY touch type can be, it's probably easier just to switch to Dvorak, learn the layout, then just naturally learn touch typing in the next couple of months without "trying". The total effort might be lower, even if the switch isn't free.
(This is all assuming we just take as a given that touch typing is desirable. I'm not sure about that, but I also think we lack the data to be sure either way, especially when it comes to long term effects.)
My typing teacher used these little cardboard cutouts that stood above the keyboard so you couldn't see the keys. These kept you honest. After that we just used some ancient DOS typing software that started you out typing strings of random letters composed of the homerow. As time went on it started introducing keys from the other two rows as well as numbers.
It was frustrating at first because of how slow I became at something I was normally fast at. However, in the long run my speed more than doubled once I learned how to touch type properly.
http://speedtest.10-fast-fingers.com/
You reached 395 points, so you achieved position 14664 of 1148922 on the ranking list
You type 588 characters per minute You have 98 correct words and you have 6 wrong words
Which is close to 99th percentile, although that website may have a bias towards slow typists. What speed would a touch typist expect?
405 points, 11978th, 530 characters per minute, 101 correct words 2 wrong.
101 wpm.
I'm going to go out on a limb here and guess that most professional developer types can probably do within some small percentage of these scores.
From wikipedia:"An average professional typist reaches 50 to 70wpm, while some positions can require 80 to 95 (usually the minimum required for dispatch positions and other typing jobs), and some advanced typists work at speeds above 120"
This "typing is not the bottleneck" is such a cliché - I nearly wrote about it in the article. It presupposes that programming is some kind of pipes-and-filters activity where we're thinking and then typing and then compiling. I don't know about you, but when I'm programming I work in different states. Sometimes it actually is about getting the code into the computer as fast as possible. Not all the time, but sometimes.
I tried to write a Chrome extension for typing text on websites recently. But I never got it to select the correct text blocks, especially on sites with table layouts like HN.
These days I just a Dvorak layout and don't worry too much about whether or not I use the proper form. I also don't concern myself with typing speed too much - if the speed at which your can write is your bottleneck, you are either much too clever to be in normal software development or you should stop using COBOL.
When I was in High School we were required to take a typing class. I sat next to two of my nerd friends. When the teacher had little tests or races, we always came in 1st 2nd and 3rd in the class in terms of speed an accuracy, and between the 3 of us we probably used 8 fingers combined.
The way I got better at typing and typing fast was to be on very busy IRC channels where getting a word in edgewise without missing any of the conversation required a lot of fast typing.
I understand that most of this was meant for the people that are hunt and peck type. I don't think it is at all necessary for people that are able to type at a rapid rate using their own style to relearn how to type.
I've since moved over to Colemak layout and I've never looked back (combined with a TypeMatrix keyboard).
I remember having to hunt and peck. But kids now use the keyboard from a younger age, I think the need for formal typing skills is not going to be necessary.
A competent touch typist should be able to type with his eyes closed, and without needing to concentrate at all. Typing becomes a reflex action, and you can concentrate on finding the right words, or on your code/problem itself.