a companion discussion area for blog.codinghorror.com

We Are Typists First, Programmers Second


I can see your comment system still sucks. Anyway, find the a name= closest to the wanted quote.


Your speed was: 79wpm.

You made 6 mistakes, your mistakes are shown in bold text:


Andrs Heljlsberg is one of the greatest breathing programmers, right?
For me, uh… i don’t know, but he looks lik a 35-40 WPM typist to me. http://channel9.msdn.com/pdc2008/TL16/


Nonsense. Anyone who workes on a PC all day and can’t type 30wpm is a retard anyway. 30wpm is fine. I’ve worked as a developer and as a journalist and both involve spending all day typing and I’m far from being a good typist. In either of these creative jobs there are skills far far more important. I’m not convinced typing faster will make me any more productive at all.


I disagree:

  1. Your words per minute is assessed based on you typing standard English sentences this is not what you do when programming. You regularly need special characters want to perform formatting with tabs or holding the shift key. These are all just as easy no matter what your keyboard style, I regularly find myself with one hand on the arrow keys or num pad.

  2. With modern IDE’s such as visual studio generally intellisense has picked up the rest of my statement before I have typed it, combine that with built in code snippets or programs like resharper and coderush/refactor pro, how much time do you really spend typing. I am only using visual studio as an example I am sure other IDE’s have similar things.

  3. The majority of my time is not spent physically typing, it’s thinking, refactoring, researching, testing… I would estimate somewhere as low as 5% is time typing.

Yes being an ok typist is important (using more than a couple of fingers) but being a touch typist certainly not, you just don’t get the sentence flow to require it unless you are writing documentation.


Typing isn’t that important, if it were, everyone would use Dvorak:




An artist, how can’t paint a wall very fast, will never produce nice paintings.

I think you’re missing the point. Slow typists and fast typists can both produce great code, but which would you rather have on your team?

If you have two developers of the same caliber and one types twice as fast as the other it stands to reason that you would get more work out of the faster typist.


I can’t take this article seriously. Perhaps if you didn’t type so fast you wouldn’t have wasted our time with this article.


I went to school with someone who has a nerve disorder where they can only move their head and left pinky (which they used to control their wheelchair). He was a CS student and he would program by using a typing rod attached to his head.

What is amazing is that he would finish his assignments before any of the other students.

You can type as fast as you want, but if you can’t think, you are useless as a programmer. We are thinkers first.


There are actually programmers who hunt and peck?
I don’t even see how that’s possible… By the very nature of typing all the time, you should just naturally learn how to type!

I could never do the whole home-row thing. I’m a self-taught typer as well (I wonder how many programmers are self-taught?)


98 wpm without errors (2-3 backspaces though). English isn’t my native language, but I did have typing classes in school.


75 WPM, one mistake… which wasn’t really a mistake, but me spelling stuff the proper, Canadian (or English) way.

Gray – Grey.



I hate QWERTY. It was made to be inconvinient, and it really is. I’m Russian and spend much time at forums, where I use common Russian layout #1049;#1062;#1059;#1050;#1045;#1053;. It is arranged in such a way that most of the frequent letters are typed with the forefingers.

When I use QWERTY, howerver, I have to use my ring and pinky fingers a lot, which is not really comfortable. And even worse, I have to use my left hand more than the right hand. It’s not problem that it is left, I play guitar besides programming, so fingers on both of my hands are quite agile. The problem is that it is slower than typing with two hands at a time. That’s why I try some weird positions of my hands to type quick and use CTRL + Space in NetBeans a lot.

Why can’t the keyboard manufacturers make keyboards with a better layout, I wonder? I don’t believe that it would be so difficult to switch to another layout if it’s really comfortable. By the way, I don’t find Dvorak much better as it still suffers form the same problem: frequent letters like A, O, E vowels on the outskirts of keyboard.



I have never been able to handwrite clearly either, unless I write v-e-r-y s-l-o-w-ly. As a result, I’ve become exceptionally good at making my point in as few words as possible. In the long run, saying something accurately and concisely has been a far more useful skill than saying it quickly.

It is the same with my programming. I may not be the fastest, but in spite… no, partly because of that, my code is often tighter, more elegant and more maintainable than that of my fellows. It has to be, otherwise I’d be out of a job.

And the mistakes? In all 5 cases, I couldn’t see the problem until I ran the spell checker.

And I agree with everything james has said. Of course, with a typing speed like mine, you need every excuse…


I agree that touch typing is a very nice skill to master because it allows you to concentrate much more on the task at hand instead of wondering where’s the damn semi-colon?, but I also think that avoiding the mouse whenever its possible is very important. Not only you will put the keyboard on fire but you’ll also double the amount of code you can put on screen.

As someone else noted, mastering the tools available for your favorite language can have a huge impact on your productivity.

If you’re using a decent IDE, changes are that many keyboard shortcuts are available to generate code or to define your own code templates (actually this is one of my favourite features in Eclipse)

So to sum up, if you’re willing to rock your keyboard you should:

  1. Play combat video games such as Tekken, Soul calibur … for countless hours (these are great to hone your key combination skills)
  2. Learn to touch type (easy for younger devs, just avoid sms language! ;))
  3. Master your tools and their shortcuts (just forcing yourself to use them for some time will do the trick, after a while it becomes a reflex)
  4. (optional) Have fun impressing your colleagues with your speedy gonzales like coding style :slight_smile:


And now it’s time for Great Actors…


Sir Edwin: Ah, well, I don’t want you to get the impression it’s just a question of the number of words… um… I mean, getting them in the right order is just as important. Old Peter Hall used to say to me, They’re all there already-- now we’ve got to get them in the right order. And, er, for example, you can also say one word louder than another–er, To be or not to be, or To be or not to be, or To be or not to be–you see? And so on.


(Is it true that they’re talking about a port from Monty Python to Monty Ruby?)


Blah… I only scored 68 WPM.

Jeff, do you use the QWERTY layout or the Dvorak layout for your keyboard?


I hunt-and-peck at 72 WPM. After a couple of decades of hunt-and-pecking, my muscle memory for key locations is pretty much locked in. I don’t think it’s important if you touch type or hunt-and-peck. What’s important is if you have to look at the keyboard and/or think about the physical act of typing. Either of those would break your chain of thought. However hunt-and-pecking without looking or thinking (should it just be called pecking?), which is possible after enough practice, doesn’t break your chain of thought and can be pretty fast. As such I can’t imagine that it will make someone a lesser programmer as you suggest.


On At least four times a day, I walk into a room having no idea why I entered that room. I mean no idea whatsoever.

Bill Cosby had a great album (or maybe a video) about turning 40 some years back. Its ok Jeff, you’re just getting old.

Now, someone help me remember why I opened my browser in the first place…


Programmers should also take advantage of text expansions programs such as Instant Text. disclaimerI did some programming on Instant Text./disclaimer I’ve used Instant Text as a part of my programming toolkit for years, and it has increased my productivity immensely.