Sunday, 21 December 2008

Do I really need to be a touch Typist?

I’ve just read Lars blog post regarding programmers and touch typing. I’ve been meaning to write about this for a while as I’ve read quite a few blog posts and heard quite a few podcasts where programmers insist that touch typing is a must have skill for programmers. Now, before I comment, I have to stress that I’m not a touch typist in the true sense, in that I do not use all my fingers. I probably use around 2 or 3 fingers per hand. My speed is around 70-80 wpm and I only occasionally need to look at the keyboard.

Now for the controversial bit. I think that touch typing is not a must for a programmer. So what if you can touch type at 120 words per minute? Can you think that fast? Can you code in your head that fast? Speed of coding has absolutely nothing to do with speed of typing, but rather the speed at which you can solve problems. As I said above, my typing speed, at full tilt, approaches the 80 wpm, but if you were to count the number of words I type in a whole day of coding, and divide it by the number of hours I worked, you’re unlikely to get anything near 80 wpm. That’s because typing is just the end-result of what we do. It’s the bit that communicates what’s in our heads to our machines. It’s not typing which makes us good at what we do, it’s the brain behind it.

When someone says  a programmer must be a touch typist, I assume they are talking about speed. They assume that if you are a touch typist you are fast. And I agree, you are fast. You are fast at typing words. It doesn’t mean you are a fast coder, and it certainly doesn’t mean you are a good coder. It’s a bit like saying an artist must be quick with his brush. Does it make the final painting better?

Lars states that Touch typists are usually able to involve themselves in a discussion about something else, while touch typing. That may be true, but coders need to concentrate. They’re not just typing words, they’re writing code. If you can solve problems whilst whilst holding a discussion with someone about something completely unrelated, then your brain works differently than mine. (Not even women can multi-task where coding is involved!)

(No offence to Lars, I’ve been meaning to write this for a while!)


Oliver said...

I believe the more important point here is that if you are able to type without having to think about the actual process of typing your thoughts can flow more directly to the machine. When transfering Lars' example of being able to discuss while typing to coding, think not of discussing while coding but think of thinking about code while coding (instead of thinking about typing and doing the thinking about code in between laborious bursts of typing).

Anonymous said...

I do agree with everything that has bee said. Myself I do not do touchtyping, and I look at the keyboard a lot. Then again, if you know what you're typing, do you need to read it again just to make sure you didn't make a typo ? Most of these typo's get caught by compiler anyway...

I once was in conversation with a woman, who was busy doing touchtyping. She was typing a spe, doing backspaces to fix mistakes the whole works WHILE she was looking me straight in the eye AND we were discussing the methods of one of the objects in our system. Needless to say, I was very impressed, and needless to say, I think she deserved every penny the company paid here.

I really think that each skill needs to be considered, but yah, I don't type that fast either, but at least my code is solid and nobody needs to look at it or redo it. That is the reason why I still have my same old job. The boss knows what he has...