I don't agree with Jeff or Steve. Mainly because a lot of programming is about thinking, reading, googling, and copy / paste.
However, a couple weeks ago I did read Steve's original post on this and decided that since I wasn't a great typist I couldn't really argue that it is or isn't a hindrance for coding. So I began learning to touch type. Since Steve's post I've put in approximately 1 hour (sometimes more) a day using a course I paid for. My words per minute is up to about 50 (I used to be around 35 with my own invented way of typing), however I've still seen no speed increase while programming because of all the symbols and numbers, so I'm still at it.
I still don't think it'll have much of an impact on my quality of code or rate of production. Most of my time is still spent thinking, reading, googling ;)
IMHO, anyone saying that typing is the most important skill for a programmer is being silly. It likely is one more useful tool in your toolbox though. We'll see.
I forgot to add a small point of criticism. In order to prove his point near the end Jeff is comparing extremes instead of realities. Touch typing v.s. not using a keyboard at all... I think the reality comparison is 80 wpm v.s. 35 wpm.
Also, I could be wrong on this, but I doubt the 84 wpm he rated on a word test is the same rate he'd get writing code. The -=+/?\|&*()$#@! really slows me down drastically. My apologies if I'm wrong.
yeah, the thought occurred to me. Something similar to http://online.typingmaster.com but allows users to create and pakage custom courses. I.e. a programming course that starts with most of the same stuff but then gears towards a specific language (java, ruby, python, etc.). Then allows you to share these courses with others.
Not to gloat or show off or anything - but I can type at approx. 120wpm with good accuracy. It helps immensely with all aspects of my life - not just code. I can put ideas to paper (or screen, as it were) very, very quickly. This drives a lot of iterations and allows me to hone and fine-tune my work even further.
I'm also able to write up large amounts of text - blog posts, forum posts, etc etc, and all have over the years helped me become a better communicator. I enjoy discussing things with people and writing about my work, and I can't imagine doing the volume that I do as a slower typist at, say, 30wpm.
Like others here have mentioned, being a fast and accurate typist is like having a direct mind connection to the computer - your words come out almost as quickly as you can think of them.
I hear you. My goal is to get up to 80+ wpm and I'll be throwing cycles at this goal everyday until then, so maybe then I'll be a convert.
I guess I just think the importance to programming is a little exaggerated is all. No doubt it is a great benefit all around, but I'll reserve final judgment about it's impact on my coding until I can experience the difference myself, and then report back to this thread.
For code I agree it's not so much help - after all the amount of mental work it takes to even think of all that code far outweighs the speed at which you can type it.
That being said, I do feel like it's improved my code in other ways - it's allowed me to discuss in a more in-depth way, with more detail, without a real time cost, my code with other people. I can write large blog posts and get feedback from very smart people about what I'm doing right and wrong, etc.
I've tried typing on the iPhone, and my speed is so slow that I find myself compromising the message I'm trying to get across just so I'd be done with typing.
However, a couple weeks ago I did read Steve's original post on this and decided that since I wasn't a great typist I couldn't really argue that it is or isn't a hindrance for coding. So I began learning to touch type. Since Steve's post I've put in approximately 1 hour (sometimes more) a day using a course I paid for. My words per minute is up to about 50 (I used to be around 35 with my own invented way of typing), however I've still seen no speed increase while programming because of all the symbols and numbers, so I'm still at it.
I still don't think it'll have much of an impact on my quality of code or rate of production. Most of my time is still spent thinking, reading, googling ;)
IMHO, anyone saying that typing is the most important skill for a programmer is being silly. It likely is one more useful tool in your toolbox though. We'll see.