Why is fast typing considered a necessary skill for programmers in the first place? For secretaries or writers it seems to make a difference, but how much time would be delayed if a programmer was only able to type, say, 30 words per minute? It seems to me that if you have to pause to think, typing speed was never a bottleneck anyway.
I agree with this criticism and have made it myself before. However, I do think there’s something to it when it comes to especially slow typing (arbitrarily, ⇐ 35 WPM). At least for me, sometimes I need to “clear out my mental buffer” by actually writing out the code I’ve thought about before I can think about the next thing. When I’m in this position, being able to type relatively quickly seems to helps me stay in the flow and get to the next thought faster.
Also, frankly, sometimes you just need to churn out 10s of lines of code that are somewhat mindless (yes, DRY, but I still think some situations require this) and while doing them fast doesn’t save you that much time overall, it certainly can help with maintaining sanity.
Related to that, I think the big problem with hunt and peck typing is that it isn’t just slower, it also takes your attention off the flow of the code by forcing you to focus on the characters you’re typing.
ETA: all that said, I definitely agree with Said that it’s not necessary to learn typing in a formal setting and definitely would not encourage colleges to teach it. I actually did have a computer class in elementary school that taught touch typing but still got much faster mostly by using AIM in middle school.
Here is a guy arguing that programmers should type fast so that they can have long written discussions. Also, comments and documentation. (And blog posts. He is famous for long blog posts. But this one is only 3500 words)
If you have a fixed amount of documentation you have to create, then doubling your typing speed, say from 30 to 60wpm will cut in half the amount of time to write it. No matter how much faster become beyond that, you won’t be able to save the other half of the time. Doubling again to 120 will save only half as much time as the first doubling saved. However, you could spend your typing speed in other ways. You could produce twice as many drafts of the documentation.
I’ve heard the alternate explanation that having to stare at the keyboard is bad for your neck/spine because of the downward angle in your head position, and touch typing allows you to avoid that. Which is especially important for programmers apparently because they work in front of a computer screen all the time.
Given that we have a technique taboo, it seems nobody really studied this question scientifically. I ask the question years ago on Skeptics.SE and it seems to be one of the highest upvoted questions on the side despite being essentially unanswered.
This might make for a good amateur science project. All you have to do is collect a bunch of programmers together and get them to answer a standardized set of tests and then measure their typing speed. Scatterplot the results. Admittedly it would measure correlation, not causation, but it’d be a start.
You could do even better by measuring the typing speed of an introductory computer science class and then compare it to the students’ grades at the end of the quarter.
It seems to me that if you have to pause to think, typing speed was never a bottleneck anyway.
Seconding this question, which is, indeed, one of the things that “technique touch typing” advocates have never been able to answer to my satisfaction.
Why is fast typing considered a necessary skill for programmers in the first place? For secretaries or writers it seems to make a difference, but how much time would be delayed if a programmer was only able to type, say, 30 words per minute? It seems to me that if you have to pause to think, typing speed was never a bottleneck anyway.
I agree with this criticism and have made it myself before. However, I do think there’s something to it when it comes to especially slow typing (arbitrarily, ⇐ 35 WPM). At least for me, sometimes I need to “clear out my mental buffer” by actually writing out the code I’ve thought about before I can think about the next thing. When I’m in this position, being able to type relatively quickly seems to helps me stay in the flow and get to the next thought faster.
Also, frankly, sometimes you just need to churn out 10s of lines of code that are somewhat mindless (yes, DRY, but I still think some situations require this) and while doing them fast doesn’t save you that much time overall, it certainly can help with maintaining sanity.
Related to that, I think the big problem with hunt and peck typing is that it isn’t just slower, it also takes your attention off the flow of the code by forcing you to focus on the characters you’re typing.
ETA: all that said, I definitely agree with Said that it’s not necessary to learn typing in a formal setting and definitely would not encourage colleges to teach it. I actually did have a computer class in elementary school that taught touch typing but still got much faster mostly by using AIM in middle school.
Here is a guy arguing that programmers should type fast so that they can have long written discussions. Also, comments and documentation. (And blog posts. He is famous for long blog posts. But this one is only 3500 words)
If you have a fixed amount of documentation you have to create, then doubling your typing speed, say from 30 to 60wpm will cut in half the amount of time to write it. No matter how much faster become beyond that, you won’t be able to save the other half of the time. Doubling again to 120 will save only half as much time as the first doubling saved. However, you could spend your typing speed in other ways. You could produce twice as many drafts of the documentation.
I’ve heard the alternate explanation that having to stare at the keyboard is bad for your neck/spine because of the downward angle in your head position, and touch typing allows you to avoid that. Which is especially important for programmers apparently because they work in front of a computer screen all the time.
Given that we have a technique taboo, it seems nobody really studied this question scientifically. I ask the question years ago on Skeptics.SE and it seems to be one of the highest upvoted questions on the side despite being essentially unanswered.
This might make for a good amateur science project. All you have to do is collect a bunch of programmers together and get them to answer a standardized set of tests and then measure their typing speed. Scatterplot the results. Admittedly it would measure correlation, not causation, but it’d be a start.
You could do even better by measuring the typing speed of an introductory computer science class and then compare it to the students’ grades at the end of the quarter.
If there’s a strong correlation that would be very valuable information for anybody that hires programmers.
Seconding this question, which is, indeed, one of the things that “technique touch typing” advocates have never been able to answer to my satisfaction.
This is a good, complicated question. It deserves its own post.