a companion discussion area for blog.codinghorror.com

We Are Typists First, Programmers Second


Your speed was: 4538wpm.

use programmer’s favorite: copy-paste



I currently type somewhere around 120wpm, depending on what I’m typing and what keyboard I’m on. I used to do about 90wpm, from talking a lot to people online. I got the extra 30wpm when I started to play MUDs, which I don’t really recommend (because it’s a ginormous time sink), but all the fastest typists I know are either professional stenographers or MUD players.



Qwerty wasn’t designed to slow typists down per se, it was designed so that common words in English would alternate between the left and right sides of the set of hammers. Jams would happen when you typed two nearby hammers in quick succession.

The Das Keyboard is a pretty good idea, but you can achieve the same result for a lot less money with a bunch of blank square stickers. Or, in a pinch, with a permanent marker (though this is almost infinitely more difficult to undo - if you have a cheap keyboard you might not care)


If typing speed really is the issue, why not hire a $15 typist to do it for you? I can assure you that no matter how fast you are,

Let me answer that for you; won’t work, because typing is not the thing that’s slowing you down. It’s the thinking about what you’re doing. Copying a sheet of text at 160WPM is not the same as coding a database layer for your software project.

(Of course, keeping an eye on that g*ddamn broken clock won’t speed things up either)


Jeff, I think you’re spot on. I work with 50 or so developers. It have just generally noted that the touch typing programmers usually run rings around the other. I haven’t analysed it, but I’ve long had the opinion that the touch typers get through work quicker, and write more maintainable code that is less likely to need fixing after a code review.

I think the reason these guys are better is because they have an all round desire to improve their work, so they study their craft hard. That they touch type is just a consequence of their self motivation.

People who don’t put effort in to learn how to use their keyboards are probably the same people who don’t put effort in to learn the nuances of their programming languages and the tools they use.

So maybe the touch typing skill isn’t really the most useful skill, but is just a good indicator of someone who cares about learning to do their job as best as they can.


84 WPM…

Well i guess u have to write something jeff…


Are there any programmer friendly keyboards?

We’re always typing : ! % ^ * ’ @ $ [] {} , strings like =, and of course _

Why are these all on the shift key?

I’m not a Mac user and Ruby uses some characters (I think #) that is a ridiculous number of key presses, you try typing a string with an embedded variable #{fred}. This gets old fast. Uk keyboards have # without the shift.

And don’t get me started about the uselessness of the capslock key, just don’t. On windows I have it mapped to be another shift in case I press it by mistake.

Typing this stuff at full speed is hard enough.

Personally, I learned to type on an old manual typewriter in the early 80’s - beat that.


I used to type blindly with 10 fingers, but my wrists got sore when programming. I had to stretch my tiny hands too much. All those shift [, + and - signs, numbers, backspaces and deletes… I also use control, alt and shift for Resharper, together with the home, end, left right and (page) up and down keys. So I had to leave the home row anyway.

Now I type with mostly my index fingers and pinkies. My wrists are in much better shape.

The important thing is that you can type without thinking, it doesn’t matter how many fingers you use. As long as it doesn’t break your flow.

I got 45 wpm, enough for me. I could have doubled that if it would have been normal English, which I didn’t have to re-read over and over again. All those 30-word sentences and weird words made my non-native-English head spin.


When I first started learning to program it had little to do with typing. Actually the FIRST programs I made involved no typing at all, but manually putting holes in punch cards on the spare Singer at my dad’s job. Later on I learned assembler and did most of my coding with paper and pencil; I would write out the entire program on paper first, and run it through my neural debugger (brain) and only after I was satisfied that it would do what I wanted, then I typed it.

Then when I started learning C I did that for a while too, but eventually grew out of it.

That being said, I started learning touch typing in the 3rd grade, and I’m pretty good at it now (105 wpm with 1 mistake on that test), and I think it helps make me a lot more productive.

@pete, sure you use a lot of special characters, and Intellisense helps, but they’re still only a tiny part of the code, unless you spend most of your coding time writing regular expressions. And they’re all still keys, and being able to get your fingers to them quickly without thinking about it still makes a big difference, so of course typing style matters just as much with them as any other keys.


I kind of agree with this title, unless you dictate to your computer. I didn’t have any formal training for typing, but picked up the speed eventually by the time I began programming luckily. First few years of my interaction with computers were for playing games and documentation. Both logic and typing go hand in hand, unless you know what to type, there is no use of having great typing speed. Good logic and fairly good speed of typing is nice combination. One thing from personal experience is that before writing code, if I write down what I have to do on a paper, things work out better, I bet every programmer has the same experience. But as you move up above the chain of command, typing skills are tied to answering mails, preparing presentation, and less technical work. At the level slow typing speed is helpful, because you have whole 8 hours at your disposal (again this is personal observation, and may not apply to all)


Could not agree more with you…good notice


Aw… This makes me sad. :expressionless: I already do this.


Am I the only one who’ve found that my typing speed suffers tremedously from switching between my laptop, my keyboard at home and at work?

I used to type a lot faster when I only used one computer, but using three different keyboards is just more than my motor system can handle:(

33 wpm btw (on my home desktop keyboard)


Consider this. I just looked at the source code to a game that I helped develop several years ago. Total source code size is approximately 18 million bytes. Whether or not most of the time is spent coding or thinking, that amount of code has to be typed or otherwise created. Somebody like me when I’m working I’m typing about 25,000 keystrokes per hour (33,000 when typing straight English). That works out to be about 720 man-hours of typing. Now consider a more average typist who types around 10,000 KPH. That works out to about 1800 man-hours. So that’s a difference of about 1080 man-hours of typing over the course of a project. At the average salary for game programmers, that’s over $40,000. Obviously things like Intellisense will cut into that some, but even if it cuts it in half that’s still a pretty good chunk.


I remember reading on some random blog, http://www.codinghorror.com/blog/archives/000637.html that If you’re wondering how much code the average programmer produces per day, I think you might be asking the wrong question.

That same post linked to a Microsoft blog that pointed out the Vista developers wrote just 1000 lines of shipped code per year.

Assuming the average line of code consists of around 8 words, then a non-touch-typing 50wpm coder (like myself) would take 2hrs 40mins to type that in, whereas an 80wpm touch-typist would take 1hr 40mins. A grand saving of just one hour a year!


My opinion is the Good Programmers code around others, and its not because they type faster, but because they think out a good plan and simulate the problems in their head before they starting to code, thus finish the task at hand in the shortest most effective way they can.

While the eager typist is still retyping their buggy-code, N-times redesigned code. That they didn’t think through enough.

As for the Driver example… I’d rather ride with a driver that drives slow and steady and takes in his surroundings, more than some Immortal teenager that thinks he’s a stunt-driver that can do 160mph in back alleys or what not.

But of course you have formula-1 drivers, they are best…


I’m a fulltime employed coder with young onset Parkinsons.

take that :wink:



Your speed was: 98wpm.

Congratulations! You made no mistakes, practice does make perfect.

English is not my native language and I was slow with stopping the clock. Hooray!


I disagree whole heartedly. I would say being a slow (but accurate) typist is better. If you can’t finish your work because of the slow speed of your typing, you’re writing to much code! If you have to type that much code, maybe you should consider the following

  1. Better code reuse
  2. You should be doing more thinking/designing so you only code something once.
  3. Your jobs sucks because you have the coding equivalent of Mr Bucket’s job in Charlie and the Chocolate factory


Jeff, I don’t like to tell people they are talking bullshit, but the verbal diarrhoea so to speak coming from your fast typing skills is getting worse. Yes, being about to touch type fast is a valuable skill, I just completely fail to see how it correlates to high quality code.

“Steve and I believe”
No Jeff, Steve Yegge believes it, you are just regurgitating it to look like you are in the same league as him, you might be able to type as fast as him, but I would bet hard cash that what he types is of higher quality than you (code or blog). Maybe you should take a lesson from him by writing longer, more informed and original blog articles that people will really learn something from, instead of just being flame bait to generate ad revenue.

One last point, if people read your blog, it is highly likely they read other peoples (including Yegge), don’t go around reiterating what they have said in some “Me too” fashion as they most likely have already read it firsthand.