JonLuca's Blog

15 Apr 2018

Words per minute is not a good measure of typing speed

After spending a while within the CS community you’ll invariably come upon an argument over typing speed - a point of pride for many, deriding anyone that types below 100, many programmers take it upon themselves to post about their words per minute. While it’s not isolated to the CS community (take transcribers, assistants, or secretaries), few are as dogmatic in their beliefs about typing (DVORAK vs QWERTY, Cherry MX Blue vs Cherry MX Brown, etc) as programmers.

However, while many boast about their typing skills, what does WPM actually mean. In fact, what’s a word? There’s no standard, agreed upon length of a word, which makes different online tests have such high variance that they’re meaningless.

An accurate measure of typing speed needs to be a way of taking in every variable and standardizing it across people - and tests. A common problem with online tests that use the same sentence for testing is that it’s easy to train on just that subset, or specific characters. You’d effectively be overfitting, in that the score is how well someone was able to do on that specific prompt rather than their average typing speed.

A better, but still flawed, measure is characters per minute. At least this breaks the problem up into it’s smallest possible constituent piece. Each keystroke is 1 character. You run into some iffy edge cases, such as if capital letters should count as 2, and whether you should test characters that are wholly uncommon (å, ß, and ø) in the language of the typer.

Additionally, language comprehension plays a large role - should the test simply be how quickly can you type characters, in which case having completely unrelated words makes sense, or should it be how quickly they can type a cohesive, cogent paragraph? The additionally complexity of a prompt that makes sense can quickly dip someones typing speed.

All online tests I’ve found have substantial differences, which makes comparisons between them almost worthless. The most mature site I’ve found is 10 fast fingers, which actually has a (surprisingly) vibrant community. There aren’t that many people that care about typing speed, but those that do really do.

The most objective, clear cut example I could think of is to have a test that has you type in a string of random characters without special characters or spaces until the time runs out. This will, ideally, isolate the independent variable that is typing speed. I’m still not sure if this makes the most sense, mostly because I’ve never had to type a string of random characters in a given time frame, but it probably would be the closest to a test of actual typing speed.

All of this is, of course, worthless, because typing speed has no causation on programming skill. You are hardly every typing at your fastest speed, even when making yet another to-do list example in a language you’ve been writing for a decade. It’s just fun.

JonLuca at 13:48