a companion discussion area for blog.codinghorror.com

We Are Typists First, Programmers Second


As long as you can type faster than you can think you should be OK as far as programming is concerned. There is a huge difference between copying passages from a book at ~90 words per minute and writing (sensible) code at the same speed. I don’t think I know anyone who can do the latter.

That being said, I sometimes wish I had learned touch typing when I was younger. I can type about 80-90 words per minute in English, but when typing (fast) for extended periods of time I get tired in my wrists and fingers. I have tried to reprogram my typing skills several times, but I always give up because the drop in typing speed starts to annoy me after a while.


That was the most absurd thing I have ever read.


I disagree.
84 words is allot more than the amount of code I could write today.
I use IBM’s Rational Application Developer


Programming is just typing? I don’t think so.

If you type slow, you tend to type less - which results in shorter code and carefully think before you put lots of shit on your code that later you need scrap it out in a so-called refactoring.

Brainless fast typists suck even more.


I wish I could type 50 SPM (Statements Per Minute)! Pure multi-threading.


Just as important as learning how to type is investing in a good keyboard. My friends called me insane when I invested $50 in a keyboard. Similarly, it’s almost impossible to get your employer to buy you a good keyboard.

Chefs buy their own knives – and they generally will buy the best knives they can afford (read: expensive).

As a programmer, your keyboard the tool with which you craft artwork. How can you possibly hope to do your best work with a poor-man’s tool?


Dvorak keyboards: I had a look on ebay - lots of coloured transparent stick-on things to convert your existing keyboard - not $100, more like $1.99!



I cannot agree with you. Just ask programmers how many times did they delay work because they type slowly. For me, none!

I know that one guy in Microsoft who design Windows memory management. He types with just 2 fingers.


57wpm with two mistakes

For the most part, I type with just two fingers from each hand and most of that is touch-typing. I started out that way on a Compaq Portable in the 80s, tried to re-learn the home row method in high school and hated it, so I stuck with my pseudo touch-typing method.

On the other hand, my mother has been a secretary for all her adult life and can do 120 wpm without breaking a sweat.


When coding, most of the time we are not typing. And when developing a software, most of the time we are not coding. I think your argument is flawed.


I’m not going against your point here, but if you are to follow the touch-type guidelines (which the image of the keyboard is based on) you can’t type in {, } or any other fun characters. Just a fun observation


just for the hell of it

I do believe I am the fastest copy/paster in the west! Clocked at:

Your speed was: 10682wpm.
Congratulations! You made no mistakes, practice does make perfect.


102 wpm.

I took a typing course in grade 10 (1979), even before I touched a computer. I had been typing my homework and I felt I should learn typing so I could do my homework faster. Little did I know that it would become a central skill in my career!


All right with me.

I’ll drop you in the middle of the forest and let you there. You’ll survive for sure, after all, it’s just breathing and having a heartbeat! Anybody can do it!

Less extreme? I’ll let you into a rally car, or a NASCAR machine. Easy, after all, it’s just driving, isn’t it?

Why don’t you speak 5 or 8 different languages? After all, it’s just making noises with you mouth! Can’t be easier than that!

If it was only a question of typing, why take someone with university diplomas and pay him big money? I’ll hire the nearest secretary that can do 100 WPM, and drop her in your chair. Or maybe you’re getting paid way to much… Minimum wages should be enough, you’re just typing!

In all those cases, it’s not only the apparent easiness of the job, it’s the skill required to make it appear easy. You’re a fast typist, good for you. But don’t say, or let anyone say, that our job is just typing.

Typing is one of the many, many skills that make a good programmer, and I’m far from sure that it is part of the more important ones.



On the subject of typing and programmer productivity, is anyone else annoyed by the fact that so many modern 21st century programming languages still inflict case sensitivity and punctuation-mark riddled syntax? I mean, which is easier to type: for c=1 to 100 or for(c=1;c=100;c+=1)? Are and || really preferable to and and or? With modern IDEs that fill in the End Ifs and End Whiles, etc for you, are curly braces really saving anyone any typing when defining code blocks? Most touch typists still need to take a peek to find the punctuation keys, which may not even be in the same place from keyboard to keyboard, especially with laptops.

And how many times a day do you mistype variable myVar as myvar? Backspace, backspace, backspace, shift-VAR, oops I hit caps-lock instead of shift, backspace, backspace, caps-lock ar, oops build failed, it’s actually declared as MyVar, search and replace, etc. Ugh!

KR put all of that stuff into C back in the early 70’s to make it easier for them to write the compiler, (which at the time was just an internal research project at Bell Labs) certainly, not to make it easier to write programs in!

The most productive programming languages I ever used for business application development were the 4GL’s popular way back in the 80’s, before OOP caught on, and C++ with its ugly syntax and case-sensitive nonsense became the de-facto model for the next generation of languages (Java, C#).


I could probably type 80 wpm or faster if I really wanted to push myself, but I hit 72 without feeling that little twinge that reminds me that 20 years of keyboarding and pounding out over 10,000,000 words have really taken their toll.

A more useful typing test for programmers would involve lots of { and } type things though. Especially for people who aren’t using English layouts. Almost all of the symbols common to most programming languages are bafflingly horrible and evil on non-English keyboards, and it would throw anybody’s time way off.

That brings up another amusing point along these same lines. I had a British friend who lived in Spain, and who complained constantly about how evil the keyboards were. I asked him why he didn’t just change the layout. That’s what I do to type in foreign languages, and I know several alternative layouts by heart. But no, he could never use a keyboard where the little things printed on the keys didn’t match what the keys did. He’s been programming since ENIAC or something, but apparently can’t touch type!


Anyone can touch type mere letters and numbers, thats child’s play.

I want to see people touch typing C code.

All of those chicken lips and ^s and s and |s and \s and @s and #s and ~'s seriously broke any elegance or style I had previously. No one ever taught that in my TYPING 101 course in high school.

I would argue though that great typing skills have very little to do with creating elegant code.

Great typing skills allow stupid people to create crap faster…


Wow. Closer to 30 years actually. No wonder my wrists hate me. And my mouse arm shoulder.


Unless there’s a new sport called freestyle coding I fail to see any relevance between being able to type and writing good code.

If you’re reproducing code you wrote down on a napkin i can understand the benefit of speed, but if programming was like typing, they’d call secretaries programmers.

The majority of my coding time is spent in my head. I used to write down pseudocode before, but I find it easier to just brainstorm… in my brain. Diagrams go a long was as well, but typing… err… I don’t think so. I worked in an internet cafe once and suddenly I was typing up school projects for $10/hr and I couldnt really type that well. I had taken formal typing lessons, but the bad habits never seem to go away. I type at least 100 words/min but i often go faster when I’m daydreaming.


Inspired by Yegge’s original post, I’m on a mission to break the 120 wpm barrier.

I’m happy with Typing Master software (http://www.typingmaster.com/).