views:

2764

answers:

53

OK, I know this is kind of subjective, and I apologise for that, but hear me out.

I have to admit, like most geeks, I got into computing at an early age, this means I never even considered things such as typing speed etc.

Now, I was chatting to my colleagues the other day, and we all admit, while we can type reasonably fast, for the most part, we are terrible typists! This makes me chuckle, as all [good] programmers try to always hone their skills in solving kickass problems, but what about the more mundane typing?

So the question is:

Would you expect a programmer to be an excellent typist?

And to spice it up a bit (and allow more scope for a "good answer"):

  • Can you touch type?
  • Do you have a very high accuracy level?
  • Are you working to improve it?
  • Do you use any tools/software to do so?
+8  A: 

Programmers should be good in programming.

Typist skills are useful because they'll make you faster but they're not so important. After all I can write faster than I can code (I mean good code on average) so no, I don't expect a programmer to be a good typist and I really don't care as long as he is a good programmer.

Jorge Córdoba
A: 

When I imagine the stereotypical super-coder he is typing so fast that you his fingers aren't even a blur, they have already red-shifted. I type well enough that my bottleneck isn't the typing usually, and we all know premature optimization is bad.

  • Depends on how recently I have played Typing of the Dead.
  • Over 90% offhand guess, backspace is always well within reach though.
  • Nope
  • Some of my pet projects are edutainment but I don't actively play them tons.
Brian Paden
A: 

I'm not sure I get the difference between typing fast and being a good typist.

As for typing fast, it always puzzles me how many programmers want to learn e.g. Dvorak keyboard so they can type faster. It seems programming is bound so much more to brain speed than typing speed. I mean, how many characters of code to you really type each day?

Johannes Hoff
If half your keypresses are on backspace, you're typing fast, but not a good typist...
Benjol
+9  A: 

I disagree that typing is an essential skill for programmers -- A wise man (I don't remember which one) once said that, if he was sitting at a terminal, coding, more than 5-10% of his work time, he should be fired for incompetence. I agree -- software engineering is one of the most cerebral activities I engage in.

To answer your questions:

  • I cannot touch-type
  • I do have a high accuracy level -- I used backspace twice in composing this.
  • I'm not currently working to improve it conciously
  • I've never used typing software.
Silas
+2  A: 

Being a software developer without the proper typing skills is like being a singer with bad enunciation and diction. Sure you can muddle through, but the coughs and sputters caused by inaccuracies will bite you on the behind.

This is especially true for more verbose languages (not Java, not C#, but Visual Basic!) and is probably the reason why a lot of devs love dynamic languages with lots of symbols.

Touch typing (in the strictest sense) is NOT an absolute necessity, but being able to look at the screen without looking at the keyboard is essential whether or not you are using the right fingers.

As for your questions:

  • Yes
  • Yes
  • All the time
  • No

This question contains a list of typing software in the answers, so you could use that as a reference.

Jon Limjap
+1  A: 

I am a horrible typist. This is why I love intellisense! But, in my opinion, excellent typing isn't really an attribute a programmer has to have.

Aaron Sanders
+5  A: 

I learned to touch-type in high school. God I'm old.

Writing code alternates between needing to be a touch-typist (which I am) and doing weird things with your fingers (touch-typing isn't a big help here) {}#%!. But most of the time you're thinking anyways, so what does it matter?

Last type I tested (twenty years ago) my accuracy was pretty good. Given how often I hit backspace nowadays, not so much.

It's much handy for posting on StackOverflow.

Josh
A: 

Yes, I can touch type and have an accuracy level of about 97% when doing those online typing tests (with somewhere around 350-400 keys per minute). But while programming, I hardly ever reach the same speed, sure it's helpfull when you finally know what to type, but the majority of the time is involved in thinking how to solve the problem, rather than typing the solution.

Linor
+1  A: 

Any typical secretary should have a better typing skill then a typical coder, and rightly so. While we are in front of the computer for a long time. We are not typically typing all the time. Unless you are some kind of a IRC haunt, there's no reason that you should.
Some skill in typing is good. But typing skill/speed is really a non-issue.. most of the time coding will be spent thinking anyways, and coders seldom write whole sentences.. use of braceses and special characters usually breaks up the flow of typing..

paan
+4  A: 

Would you expect a programmer to be an excellent typist?
no - but a good one
I think it helps to look more professionel as a programmer, when you are able to touch type and are not constantly staring at the keyboard. And I think it helps me to think more about the code and less about typing it.

Can you touch type?
yes

Do you have a very high accuracy level?
pretty good I'd say

Are you working to improve it?
no - I'm pretty happy with my level of typing

bernhardrusch
+38  A: 

My 2 cents:

I have forced myself to be a good touch typist because I think it helps ME.

I wouldn't expect other programmers to be touch-typists.

You could think that such a basic skill should be part of the toolset of any good programmer, together with regular expressions, knowing their platform's command line, or even speaking English to a good level.

But in the case of touch-typing I'm willing to make an exception because I think it is a skill that almost everybody learns at a young age and people just get used to it. I know some programmers that can type decently fast (80 wpm) without touch typing. If they like it that way good for them.

Additionally, I think a good programmer can get more productivity gains by other means, like knowing their keyboard shortcuts, their IDE features and knowing how to automate repetitive tasks, so the 'performance' gains of touch typing are not that important for a programmer in comparison to, say, a secretary or a writer.

I think touch-typing is more a comfort and ergonomics thing, like having a nice chair to sit all day or having a good screen.

To answer your poll:

I use the dvorak keyboard (I switched a year ago from QWERTY) and I couldn't be happier. I'm not typing much faster, but I'm much more comfortable and make considerably less mistakes.

And about my ways to improve, you can find me at http://typeracer.com in my spare time. =)

Sergio Acosta
Typeracer is cool, thanks!
binOr
Also define "good typist". That would be consistent how many types per second? 120 words (!) per minute is given as good speed for a secretary. Progrmmers should be able to type, but not be "excellent typists".
TomTom
+1  A: 

I guess I do touch type, but not like a typist would. The difference between developers and typists is that they would mostly use standard characters, whereas we have to use ",.{ } @ a lot, so given a letter to write we would be slower than a typist, but given a block of code I would back myself to beat most typists.

KiwiBastard
+7  A: 

I hate it when programmers use copy/paste to save some key strokes. I'm not speaking of copying 5 or 6 lines of code. What I mean is copying three-letter words or small parts of words and pasting them.

I've seen people using the mouse to select the text (what's even more difficult for shorter text!). Then they use the context menu to "copy" and again the context menu to "paste" the text.

Just type it already, dammit!

That's what I don't consider a good programmer.

FantaMango77
+1  A: 

At the very least, I would recommend a programmer become a touch typist.

I was a one/two-finger typist for a couple years, but when I had to do some seriously repetitive programming working on the Y2K problem for the company I was working for at the time, I developed Carpul Tunnel Syndrome. I subsequently developed touch typing skills with the keyboard on my lap for some time, and it helped dramatically, both for my CTS and programming.

Jim Buck
A: 

I don't think programmers need to be excellent typists but they should learn to type properly so they have a reasonable typing speed.

The main objective is to avoid (RSI) typing injuries that can occur through bad typing style.

David
+2  A: 

Well, I'm yet to meet a person that can call himself/herself a programmer with a straight face without having spent a lot of time with the computer. Being a programmer, you should have an intimate relationship with your computer and I believe increased typing speed is a product of this relationship.

So yes. Programmers should be able to type effectively.

Andy
+1  A: 

Short answer: I expect a programmer to be a excellent thinker, solving problems with clever (and hopefully simple) designs.

I agree with the rest - contemplation speed is slower than typing speed. Sure, typing proficiency helps cut down the mistakes and typing throughput, but training towards professional speeds is not helpful. Professional typists usually type what somebody else is thinking about, no?

However, on the inverse end of the spectrum, I also do not expect a programmer to only use two fingers to type with attentive meticulous deliberation. That is a siren warning s/he has spent an unnaturally short amount of time facing a computer and keyboard. The actual behaviour and display of knowledge and competency levels always coincides.

icelava
+1  A: 

I also wanted to share my advice and recommendation for every programmer:

All modern operating systems allow you to tweak your keyboard layout. Just learn to do it and place chars such as {, }, ], [, @, /, ~, in a place you can reach them easily.

If you use an English layout most of that keys are already reasonably placed, but they are a hell to find in international keyboards, like Spanish and French.

I have the keyboard layout sources for Windows and Mac for my custom keyboard in an USB drive and in my gmail account so I can easily download them to and install them in any machine I am going to use for an extended period of time.

Sergio Acosta
+18  A: 

Can you touch type? -- Yes.
Do you have a very high accuracy level? -- Yes, while coding, but for normal typing stuffs, not so much.
Are you working to improve it? -- I type a lot everyday (read: I am a programmer).
Do you use any tools/software to do so? -- Microsoft Wireless keyboard 3000.

I think that not being able to touch type can interrupt your train of thoughts from time to time.

After all, if you can chunk out your thoughts into code faster, you're up for a faster rate of coding. It's like when you edit-test-debug your code but this one is when you mentally think and code simultaneously.

Having your train of thoughts flow naturally and with the least interruptions is a big productivity gain. It's like being in the zone, if you have to stop to find that single letter to type every now and then it's gonna hurt your train of thoughts.

I would go so far as not being able to get in "the zone" if I can't touch type... but that's just me :-)

And about the Microsoft Wireless Keyboard 3000, I bought it because it is low-profile and lets your hand rests more naturally which is important to avoid RSI aka repetitive strain injury. I'd recommend those 2 properties to anyone who's looking for a keyboard.

low-profiles keys are also a big plus when you switch between laptops and desktop a lot.

chakrit
+1, i agree except for the touch typing parts and the keyboard -- i have to look at my keyboard to type most of the time though apparently i'm learning how to touch type inadvertently :)
RCIX
+6  A: 

I can't speak to "should", but it has been my experience that there is an extremely high correlation between good programmers and typing speed. All of the best programmers I have encountered have been ridiculously fast typists, and likewise I cannot recall any good programmers I have met who have not been fast typists. The absolute worst programmer I encountered was also the absolute slowest typist. This is all anecdotal of course, but like I said, in my experience it's been very consistent.

As an aside, why is it that the worst typists also always seem to insist on doing things the hardest/slowest possible way? The aforementioned slowest typist refused to use Eclipse which the rest of the team (40+ people) used and instead would edit everything in some other text editor (or occasionally with windows "edit") and then leave a command prompt open where he would type "javac -classpath blah blah Foo.java" to compile each class when it changed. Or at least when he remembered/realized that it had changed since his last compile cycle. And using the arrow keys to recall the command history? No way, not his style, no matter how many times I said "just hit up arrow" while trying to help him with something.

John
+1 - good programmers tend to have written more code and thus will be better typists. If typing isn't second nature (or near-enough) then *the act of typing* obstructs the clarity of thought needed to write good code.
SimonJ
+3  A: 

I've previously worked with dyslexic programmers and sysadmins (yep... we used to have a couple of DNS entries for some servers because the 'correct' spelling differed from the 'actual' servername. So I'll answer an emphatic NO!

If you want to improve your typing skills, try DAS Keyboard with no labels on the keys your touch typing will get better pretty damn quick.

If your programmer is writing the specs, he better be a damn good typist. If he's simply writing code and comments, speed is not the issue. Don't you spend half your time looking for a misplaced semi-colon or a mixup between > and < ? Typing skills won't make you a better programmer thats for sure.

sascha
A: 

After 8 years of two finger typing I taught myself touch typing using Mavis Beacon, and I love being able to type much faster, more accurately, and hardly ever having to look at the keyboard as I type. I know plenty of great programmers who can't touch type, but I just think they are mad to not learn. It's frustrating to watch them.

David Sykes
A: 

No, I wouldn't expect a programmer to be an excellent typist - its not part of the job description and, although it should probably be otherwise, they are not trained so to be.

Of course it would be better if they were a good typist (I'm adequate having been pounding a keyboard for nearly 30 years and am typing this without looking at my fingers) but its not actually a skill I currently look for...

Hmm, perhaps there's a training issue that one could address (-:

Of course the flipside of the problem is that much of what we type is relatively complex and possibly not well matched to the keyboard layout?

Murph

Murph
A: 

I'm a good (fast and accurate) touch typist, courtesy of my 8th grade typing class and the interminable, boring drills we had to do every day.

I find it a useful skill, but mainly for typing documentation and stack overflow.

Mark Harrison
A: 

I would say I'm a pretty decent typist - maybe not what would be considered a classical touch typist (I don't always use the 'correct' fingers for keys, and there are certainly times that I look at the keyboard while typing), but I can type with fairly good speed and accuracy.

Having said that, the very first criteria I have in a keyboard is a large enough backspace key. There are other considerations as well, of course, but if the backspace key is only the size of a standard single key then it is immediately out of the running.

Cebjyre
A: 

While I agree that keyboard skills aren't central to being a truly good problem solver, I must admit that they help. The quicker you can get your ideas written down, the better. Your brain always has more things for you to type. I think that too many Visual Studio users don't even know keyboard shortcuts that advance the caret to the next word, etc. There's a co-worker of mine, and I really envy his alacrity with moving the cursor around VS using the keyboard (he attributes this skill to MUD's).

Burton
+2  A: 

We're not good typists because we expect to be able to complete the word after 3 letters with a tab.

Also it ruins your spelling: I now find myself alternating between American (i.e. color) and correct (i.e. colour) English ;-)

Keith
+2  A: 

As an average programmer and typist, I think being an excellent typist would increase my productivity but not in a linear way, because of two things.

The first one is that reading code is a big part of the job, and the ability to focus is more important in my opinion.

The second one is that I use auto-completion, code snippets and automated refactorings all the time. Most coding tools (IntelliJ, Emacs, Visual Studio, Vim) have very good auto-completion. Emacs/Vim/Textmate have easily extensible snippet systems, and IntelliJ has lots of automated refactorings that expands code for you, such as "insert constant/field/variable", "generate getter/setter", "extract method" or "surround with try/catch". Note: none of them require the mouse.

So I don't expect a programmer to be an excellent typist, though I agree I'd love to be one and I occasionaly work to improve my typing with http://www.goodtyping.com/, and Typing of the Dead kind of games.

Sébastien RoccaSerra
Another touch typing game: http://www.typeraiders.com (I am the author).
TomA
+13  A: 

I can touch-type at 100wpm sustained at pretty much 100% accuracy, and boy does it help. I find it incredibly useful to be able to type code very, very quickly. Of course there is a great deal of thinking time involved in programming, and thus you can't simply magically produce endless code, but in my experience coding happens in spurts. Being able to write a 'spurt' of code very quickly and just prototype something gives you a real edge and just removes an obstacle from the brain-computer interface.

I am of the [possibly controversial] opinion that a programmer should be able to type as fast as they possibly can; the keyboard is, after all, the tool of our trade. The faster you type the faster you are able to generate these spurts and more quickly prototype code. I believe there's a linear relationship between typing speed and productivity to a certain degree, so I don't think there are any excuses.

Additionally I think being able to very quickly type emails, etc. to colleagues who aren't within speaking range (or maybe within speaking range; talking to somebody can sometimes be far more of a distraction compared to an email which can be answered in a free moment) allows for more expressiveness - if you can type double what you could in the same time you used to you can express far more in the same working day.

Overall I think it's super-useful and something every programmer should get down cold.

Incidentally I never sat down to learn to type, I just naturally managed to pick up speed and learn through muscle memory to not look at the keyboard; so I'm probably giving myself carpal tunnel as I type, so I guess a real advantage of actually formally learning it is learning not to do things which might hurt you as well!

kronoz
Maybe you would be more concise if you typed slower.
Chase Seibert
Funny... you're right though; concision *is* entirely proportional to typing speed, isn't it; that explains all those very concise youtube comments I keep on seeing...
kronoz
n.b. in case you didn't realise I was being sarcastic...!
kronoz
A: 

on a lighter note:

Good typist or not I find looking at the screen and typing I can do very quickly but have you ever tried looking to your left or right and type something of an article?

For me it's like I've never typed a word before. I have to keep looking at the keyboard or the screen.

Anybody the same experience?

Johannes
+1  A: 

Most people answering don't really quantify what a good typist is. I don't believe you need to be a touch typist. I know many good programmers who don't touch type and get by with very fast, one finger on each hand, accurate, hunt and peck techniques. To me a good typist for programming is one that can type accurately and at a reasonable speed (35 words a minute or better). Also it is important to be able to type the shifted special characters.

Let me answer the specific questions:

* Can you touch type? Yes
* Do you have a very high accuracy level? Yes
* Are you working to improve it? No
* Do you use any tools/software to do so? No

I learned to type in high school in my freshman year (1967). I was reasonably accurate and I ended up being able to type 65 words a minute. I then didn't use that skill until I went to school for programming in the Air Force (1980), when I was 26 years old. I'm going to really date myself here. The first programming I did was using punch cards (Fortran). For those that aren't familiar with that, you basically typed one line of code per punch card. You then hand your deck of cards to the computer operator and after 30 minutes or so you got a listing to see if your stuff compiled or what the results of a run was.

My ability to type made it where it was easy to create the punch cards, get correct syntax , and get the final results faster than anybody else in my class. I was then able to use that free time to help my classmates with their problems (which taught me more than all of the classes that I was taking).

I have since worked with several programmers with very poor typing skills. I would personally not hire them. It is usually painful to sit with them and help them while they are doing stuff. My worst experience was with one that typed with the eraser end of his pencil.

The best way to practice is to type what you need to type. I believe one of the better tools to learn the skills you need is any variation of "Typing Invaders". I improved my programming typing skills by entering code from magazines in the early 80's. I've known several that have used "Typing Invaders" to learn those harder to type characters.

bruceatk
A: 

If you're not an expert typist, you don't have enough experience to be called an expert programmer.

Lasse V. Karlsen
+1  A: 

@lassevk:

If you're not an expert typist, you don't have enough experience to be called an expert programmer.

Hogwash. One of the guys in my group has been there for over twenty years and is one of the best programmers around. He still types only with the index finger of each hand. I never learned touch typing but I'm much faster than he is. Of course, there are a few others in my group who are much faster than me.

Answers to the questions:

  1. Yes
  2. Not especially high, but I'm very fast on the backspace key :-)
  3. No
  4. No
Graeme Perrow
A: 

It's like asking whether a musical composer should be able to competently play an instrument. It helps, but it is not essential.

However, I will say it really bugs me when I'm pair-programming with a hunt-and-pecker.

Kristopher Johnson
+14  A: 

Steve Yegge thinks you need to be a great typist

John Channing
He is a man with a lot of opinions.
quant_dev
A: 

Touch typing really does help with all aspects of using a computer, I think. I also think that once you've learnt to touch type, programming makes you even better at it (think of all those symbols you have to know the location of).

I must say, I'm a bit surprised that touch typing isn't one of those skills that programmers would assume essential.

Saying that, with the advent of Intellisense, even touch typists don't type all the letters out, and having your little (alright, pinky) finger half on the tab key becomes a bit more important.

Answering your questions:

I can touch type My accuracy level is pretty high I improve it all the time because I am looking at the screen while I type! I learnt to touch type when I was 12 using an early version of Mavis Beacon Teaches Typing on a Toshiba luggable 286 Monachrome CGA, mainly because my dad didn't want me to play games on it, so what else was I to do?

Dave Arkell
A: 
  • Can you touch type? - Yes
  • Do you have a very high accuracy level? - Yes
  • Are you working to improve it? - Sometimes.
  • Do you use any tools/software to do so? Yes - TYPERA
Lukas Šalkauskas
A: 

Steve Yegge's has a nice post on this subject on his blog. I just started exercising my typing skills last week, because i convinced myself it was worth the effort.

Rik
A: 

To compare your typing quality / speed with other programmers a great tool to do so is 'typespeed' for Linux/Unix. Typespeed is a command line typing speed test, wich you can also play against others on the network. If you have shell access and the possibility to install typespeed it's pretty nice.

Intallation on Gentoo:

(sudo) emerge typespeed

Debian / Ubuntu

(sudo) apt-get install typespeed

D4V360
A: 

I don't see how you can work full time on a computer, and claim that typing skills are not absolutely critical. The keyboard and mouse are your most basic tools. IMO, failing to learn to use them is just plain lazy.

JosephStyons
A: 

I feel that I am a decent touch typist. I honestly have been typing almost since I could walk. As for my accuracy level, I think it really depends on what you consider accuracy. Quite often I find myself misspelling words, and having to go back and fix them, but that's why the backspace is my friend.

I type nearly everyday for work and for pleasure. But I am going to say in the current state of IDEs that typing may not be as large of a deal as it use to be. With code completes, snippets, and other shortcuts, someone that is not as fast at typing, but knows the shortcuts may be able to get things done more quickly.

Tom
A: 

I can type faster than I can think.

I choose my variable names etc. so that any poor typing mistakes won't introduce bugs.

When my typing becomes a problem, I'll invest time in improving it.

As it happens, I type fairly quickly but am not a touch typist - I halved my typing rate for this sentence, which I typed completely without looking at the keyboard (and using the delete key a lot).

Bill Michell
A: 

I won't hire anyone who types with two fingers and I definitely hesitate if they can't touch-type.

I hear the argument that if you make good use of the IDE then you can still be an effective programmer without being able to touch-type, but I would argue that your keyboard is part of your IDE - the most important part in my opinion.

Andrew Myhre
To me hunt and peck say a lot about the "programmer" - even if you have never been trained to touch type, if you use a computer enough to be a passable programmer, you will have involuntarily memorized where the keys are and be able to type without looking (I call these people "2 finger" touch typists, because they typically let their index fingers fly around the keyboard, instead of using all their fingers from a fixed posture as taught by touching typists. They can actually type at a good speed, ~40-50wpm, in this way)
David
A: 

In short: I think learning to type fast is so easy for a programmer that there is no excuse not being able to type blind.

I think it does definitely help to be able to type fast. I usually think a little, then type my thoughts, and then think more while looking at what I typed. Thus I am faster when I am able to type quickly.

The advantage of being able to type without looking is obvious.

The effort to learn to type with the 10 finger system is in my opinion very small if you have been typing for years. Just understand the basic principles of it and remind yourself periodically of the right posture and which finger types which letter. You already know where the keys are, so you don't need to take actual typing lessons.

Having a good contoured keyboard helps as well, since you feel where your hands are: I use the Kinesis Advantage model, which improved my typing speed by 50% alone. Don't worry about the weird form: it won't take you more than a day to adapt to the keyboard.

hstoerr
+1  A: 

Good typing skills help with non-programming tasks such as writing documentation and e-mails. However, for the actual coding it makes no difference, especially with a good editor such as vim. We are programmers, not typists :)

To answer the concrete questions:

  • Can you touch type? Yes.
  • Do you have a very high accuracy level? No
  • Are you working to improve it? No
  • Do you use any tools/software to do so? N/A
Nemanja Trifunovic
A: 

Most of the programmers I meet at conferences and user group meets are touch typists.. Most programmers(including me) are touch typists because we are typing day in and day out. We code at work, go home and work on pet projects.. write blogs for relaxing.. even mundane activities require typing (using IM to chat with 4 ppl simultaneously).

I have been programming since the 4th grade (working for sometime now), but learned touch typing just an year ago.. and I must say that my efficiency jumped up (22wpm to 63wpm). Coupled with Vi, typing is just not a hindrance (I didn't realize that it was a hindrance until I learnt to type) any more..

  • Can you touch type? Yes
  • Do you have a very high accuracy level? Yes
  • Are you working to improve it? Used to, not anymore.. current speed/accuracy is enough for the job I do.
  • Do you use any tools/software to do so? I owe it all to gtypist and typespeed. (both in debian/ubuntu repos)
Sridhar Iyer
+1  A: 

I never used any software to learn how to type. I am using blank keyboards at work (Happy Hacking Professional) and at home (Das Keyboard Ultimate). I stopped looking at the keys several years ago - staring a 100+ white keys that are absolutely identical to each other is pretty deceptive. Those keyboards tend to be well crafted because users do not care so much about the looks.

In the long run, I think it makes you less distracted and more focused on what you are doing. There is little or no interruption in your coding flow. You probably think more about the structure of your code.

In my experience, accuracy is lower with keys that you use less frequently - numbers for instance - although I know some people who learnt at a younger age and are very accurate. So it might just be a question of "when" you acquired those skills, rather than "how".

Using blank keyboards can be tricky when you need to enter complex passwords. Also, in a professional environment, you need to remember that you will need to keep a regular keyboard attached to your computer (when colleagues need to use your workstation or have to enter their own credentials for a temporary session).

Some of my colleagues also refuse to use sophisticated development environments and stick to simple text editors for a similar reason. They think it impairs their ability to deeply understand and memorize the code structure.

Just buy a pair of blank keyboards and use them on a daily basis at home and at work. In the long run, you will be rewarded.

bengrine
A: 

Well I guess you could also ask: should programmers have hands?

I know the argument about the most important thing is knowing how to think. Well, yeah, but if you have to stop thinking every time you use your keyboard, that's not going to help is it?

Two answers have already referred to Steve Yegge's rant, which also raises the question of programmers being able to read. I am always astonished by the amount of time people take to find an item in an alphabetical list.

I guess it's a question of 'flow' - all these little things (finding stuff in lists, remembering names of classes, typing easily) can accumulate to either help you keep with the flow, or if you don't have them, it can slow you down terribly.

Another slightly more controversial argument - refer to Jeff here - is that the faster you type, the faster you make your mistakes and correct them. I can get something wrong 3 times and right 1 time in the same time it would take a hunt-and-pecker to get it wrong one time. You may be the Gary Kasparov of programmers, and you can compile, run and test your code in your head before you've even put finger to keyboard. Not me.

Having said all that, there is another consideration, which is that being a touch typist might actually be worse for you than being a 'random but fairly rapid' typist. I'm the only person in my department who touch types, and the only one who has wrist pain problems. Probably not statistically relevant, but all the same...

Benjol
+1  A: 

Yes, you must be a good typist. I took typing in high school in grade 8 in the mid '70s on an manual typewriter. I already knew I was going to be going into computers. Not that it helped any with the girls but I was one of three guys in the class. The only course in high school I flunked because I couldn't quite get my speed up to 25 wpm and I could only do 20 wpm. And I didn't care because I was fast enough then and I kenw the home position of the keys.

Now I do about 90 wpm and can touch type the entire keyboard inluding th numeric keypad. Yes, I do make mikstakes but it doesn't take long to fix them. My joke is I'm looking for a foot operated back space key.

I also have eight or nine of a particular Fellowes egonomic keyboard. It's so old it has the large round DIN connector. It can be a pain finding an USB adapter that works with the small PS/2 adapter. The keyboard layout is the kind with the upside T arrow keys and the 3wx2t speical keys. Four of those keyboards stil have the original shrink wrap on them. Last one I had to replace was abuot ten years ago so I figure I'm good for a few decades past my death. Let the executor of my estate throw them out.

Along with several ergonomic wrist rests made out of a 2x6 curved witha jigsaw to follow the keyboard. It extendes six inches past the keyboard to cover the mouse. I had it upholstered with 1/4" of foam and a suede like material. You can see an eight year old picture here. As a reslt my wrists haven't ached for years unless I spend several weeks on my laptop keyboard.

When travelling I carry one of these keyboard and wrist rests for the motel room and another for the client. If I'm spending more then 2 or 3 days there.

Tony Toews
A: 

If I had to judge whether someone should be hired as software or not, his/her typing skills would be one thing I'd look for. I do not think excellent typing is an requirement, but if someone types slow this shows IMHO that he did not use computers much in his live - BAD sign - and / or he does not care much to improve his skills - also a bad sign.

I can type quite fast and without looking at the keyboard, but I tend to type too fast so my accuracy is not the best yet.

To learn blind typing blind and reasonably fast you just need to know how the 10-finger system roughly works; I do not think you need to take boring typing lessons in some form. All developers know exactly where the keys are - they just need to learn a little technique to know where their hands are without looking. You can learn that without much effort by just reminding yourself time to time about the correct posture and being constantly in touch with the keyboard while typing, so that you can always feel the position of your hands. So there is not much of an excuse not to learn blind typing.

hstoerr
A: 

I expect that all the touch-typists think it is extremely useful for programming, while all the non-touch-typists would disagree. I am a programmer who can touch-type and I would hate not to be able to. It is extremely useful and don't forget that we don't just type when writing code, but also when writing questions, answering questions, emailing, writing documents, writing product backlog items and sprint backlog items in scrum.

If you can't touch-type and have any spare time at all, I would highly recommend giving it a go, but be prepared for the pain and frustration you experience during the learning period when you are slower touch-typing than not. Mind you, being a programmer you are probably used to a challenge!

EasyTimer
+1  A: 

You definitely want to be able to type as fast as you can think!

Otherwise you might miss something. I can type about 120wpm. So it definitely helps sometimes.

Jack Marchetti
A: 

Would you expect a programmer to be an excellent typist?

Nope, just a passable one

Can you touch type? Yes

Do you have a very high accuracy level? Relatively high, though I did mistype 'high' as 'hihg' right there.

Are you working to improve it? Nope, I can type well enough to do any programming

Do you use any tools/software to do so Nope, only thing I have is OS X's autocorrect on some common spelling/typing errors. However, I do love Typing of the Dead every now and then.

Nourez Rawji