We Are Typists First, Programmers Second


The speed you type isn’t all that important, it’s more important that you can (AND ALWAYS DO) look at something besides the keyboard. If you’re looking elsewhere, you can think while typing, if you are staring at the keyboard, your mind is full of little breaks where nothing gets done.

I took typing in High School because I knew computers would be a daily thing for me for the rest of my life. I got the finger positioning down, but didn’t get a good grade because I couldn’t stop looking at my hands.

What ended up fixing me was simply throwing a towel over my hands and practicing for a few hours. My speed went down for those few hours, but by the end of the day it was higher than ever before and I was thinking in parallel with my typing instead of thinking OF my typing.

I also used to be a pretty speedy 2-4 finger typist, but that doesn’t scale… It’s too hard to keep your hands in the right positions when you’re not looking.


Typing speed is as correlated to programmer quality as it is author quality. Considering Tolstoy struggled for 6+ years to write War and Peace, it’s pretty amazing that Jeff Atwood could write it in 3 work weeks (without overtime even!). Heck, I could do it in 4 weeks. :wink:

If you have a very low level programming job then perhaps typing speed is important ( but in that position your bigger worry is being replaced by a perl script ). If you’re a student that hasn’t gotten to control structures, than wpm could really help with that assignment that ends up being 2000 lines of source just so the lecture on for loops that day really hits home.


I don’t think it’s very accurate. It says I typed 1wpm and made one mistake. (A period!?) I’m pretty sure it didn’t take me an hour to type that passage.

If typing is a core competency, I submit that spelling is another one. It’s hard to find every place in code that manages delimiters or separators when people spell them as delimeter and seperator.

There’s also a big difference between typing code and typing in your native tongue. I don’t know of any human language on this planet that uses braces, parentheses, and semicolons to the degree that C++ does.


Well, I typed at a solid 109 wpm without having actually read the text beforehand (read it a word ahead of what i was typing, not sure)…

Actually typing text isn’t the problem really, but swedish keyboards have the symbol buttons used in programming on really akward keys, and I can’t be assed to switch back and forth between a us layout for that… my pinkies suffer from my laziness.


Oh, this is just ridiculous. If you think coding is just typing, since emphasized that point, then you don’t code. Steve Yeggae just rants pretentious drivel.

The idea that the biggest dirty secret in the industry is that some programmers type 40-70 WPM is just stupid. The biggest dirty secret is that there are people who call themselves software engineers who don’t even know C. The biggest dirty secret is that there are people who call themselves software engineers who think that Computer Science is just theoretical jibber jabber.

The notion that programmers who don’t touch-type fit a profile is more prentious self-agrandizement. Clearly, it is possible to be a very good programmer and not type with the speed of a transcriptionist. You’re just perpetuating the ego-centric rantings of a man who fancies himself the Faulkner, nay the Hemingway, nay the Einstein of the software industry.

So you really believe that the programmers who don’t post very often on company message boards are doing that because they don’t type 90 WPM? You really believe that programmers blather on about refactoring because of their skill at typing? You think this is the dirty secret of the industry? That’s just inane.


Most useful class I took in my first two years of high school was a vocational thing. 6 weeks each of Drafting, Auto Mechanics, Carpentry, and Typing.


I agree. I would summarise it like this: You should be able to type fast enough that the typing (mechanical) part of programming doesn’t get in the way.


Here’s a guess - everyone who can type fast says it’s useful - everyone who can’t says it isn’t.

My own speed of 40 words per minute is perfectly acceptable if you consider how long I spend typing versus thinking, planning or just watching my code compile each day. I generally think about what I want my function to do, then type the whole thing at once, so there’s no danger of forgetting how to finish a line. My guess is that in your favourite IDE, everyone’s speeds would be much closer anyway.


Ok, how is that god-forsaken test determine typing skills?? Determining your skills as a data entry operator? Maybe. Typing as a programmer? Hell no. It’s just not related. Typing as a programmer is not looking at some text and then copying it? It’s about coming up with the idea of solving a problem and then typing it up. Maybe I’m wrong, but I refuse to believe that this typing test is in any way related to my or anyone else’s programming skills. It’s just not related.


This article is absurd.
Possible Developer Roles:
Unit Tests
Core Code
Bug Fixing.

  • Design - is all Use Cases, UML, Whiteboards - no typing.

  • Unit Testing - time spent typing is minimal, mostly code-gen, and fill in the blank ( min=x, max=y).

  • New Code - they only spot with any typing, and if your doing it right, interfaces and extending base classes, you never gonna be writing a 100 line paragraph, should be little 5 line functions where typing speed is way less important than your ability to use resharper/intellisense.

  • Testing, no coding here, just using the app.

  • Bug Fixing, this is 45 minutes of scenario setup, and usually a 1 or 2 character change.

Run TimeSnapper and record how much of your day you actually spend in Visual Studio, or Eclipse.

Audit your Repository and see how many characters of text you submitted in the past week ( and try not to include code-gen or intellisense because this article is measuring your typing speed. )

I do agree that being able to type is important, as developers one of our primary tools is a computer, and a keyboard is the interface for that tool, and you should be skilled with the tools of the trade.

But to call me ‘first a typist’ is completely absurd.
My roles are more like (in no particular order): problem solver (debugging/testing), business analyst, object designer, database designer, google search expert ( honestly, we as computer people, being able to find that single sliver of information deep in some forum appears as magic to non-technical people).

THOSE are my roles, a keyboard is just a tool. You remove the keyboard and what I AM doesn’t change. so no, I AM … NOT … First a Typist, Second a Programmer. I AM a Developer.


@Iain said:
Here’s a guess - everyone who can type fast says it’s useful - everyone who can’t says it isn’t.

That’s just nonsense. It is entirely reasonable that there are people who are not slow typists yet think pretentious strawmen are ridiculous.


Haha! Don’t just type random gibberish as fast as you can on the screen, unless you’re a Perl programmer – That is the coolest thing I’ve seen in a blog for a while. I love it :slight_smile:


Don’t just type random gibberish as fast as you can on the screen, unless you’re a Perl programmer.

HAHAHAHAHA arrogant ignorance is hilarious.

No, really!

Grow up.


I’m curious to know what sort of typing speeds Jeff’s readers have: http://www.micropoll.com/akira/mpview/482380-119985


thanks for this article… me and another coworker mock other devs who can’t type all the time… its just stupid, or as you put it - LAZY. learn how to type people, it’s not rocket science… if you can’t efficiently use the #1 tool you have to interact with a computer, then you cannot interact with the computer efficiently - which should be a primary goal of a developer.


Actually, a broken clock never tells the correct time. You have to know what time it really is to determine if the time currently showing is correct.


I agree. Typing is a necessity for programmers. What’s the point if you have to focus more on what keys you are pressing rather than what you are entering?


a good keyboard helps too. not like that aluminum Mac keyboard. i replaced that to get a better wpm actually.


If you’re using an epoch timestamp and it’s right twice a day, you’re in a lot of trouble.


How about Max/MSP? It’s a visual programming language…