Most devs – Uncle Bob famously excepted – worship the flow state. We’re in the zone; problems flit past our awareness until we grapple them with a test case and solutions flow out of our fingertips fully-formed, as if we turned the test bar green with our minds rather than with our keyboards and IDEs. We sculpt and refactor with a serene ease that would make Michelangelo cast down his chisels and stomp off in disgust were he only alive to see it.

And then we stop, curse a blue streak that makes passing bikers stop to take notes, and backspace over the last seven characters to turn that 0 into a 0 – no FUCK YOU, a 0 – you little dog’s ass it’s a -. Finally! Where was I.

For a breed of creature that likes to earn its living at a keyboard in a state of communion with the text editor behind it, most of us sure suck at typing. (Perhaps you don’t. I applaud you!)

So maybe before checking Facebook at lunch, or watching that cool NDC talk on your laptop on the train home, you should hit Typegun level OMG for a few minutes of frustrating self-improvement. (I just did, after neglecting it for a few months, and scored 31.8wpm at 88.8% accuracy. On plain text I usually hit 110wpm. It’s humbling.)

As an aside, I’ve tried a few “typing tutors” with corpora taken from source code, and hated them all. I inevitably get hung up on stylistic “typos” – you want me to indent my braces to delimit a block? Like a peasant? – and don’t manage to hit the state of focused practice that I do with Typegun OMG’s random acts of punctuation. Sure, I’d rather get used to typing digraphs like -> and other code-relevant patterns, but I find I spend more time mentally quibbling with whoever wrote the code in the first place than actually, you know, improving my typing.

Also, I made a shit-ton of typos writing this post. Looks like I need some more practice.