Programming is Just Typing
Date Published: 18 November 2008
Well, OK, it's not just typing, but fundamentally, typing has a lot to do with it. In fact, it wouldn't be too great a stretch of the imagination for someone watching a room full of programmers to mistake them for a room full of writers, typists, dictation takers, or similar clerical staff. What we do to produce software is type it in, one word at a time.
Jeff Atwood writes We Are Typists First, Programmers Second, and makes the point that, while typing is not the defining metric of programmer excellence, it is certainly one of many factors. I tend to agree. I've worked with folks who use the hunt-and-peck method of typing, and it takes every bit of self-control I have not to offer to help them write something comprising more than a sentence (I exercise similar self-control when not finishing sentences for stutterers and slow talkers, but it's straining).
Jeff feels my pain, and to prove he's not completely full of crap, offered up his typing level from this page as an example. Now of course you all know what's happening even as I write this: dozens of people are taking this test and reporting their results to Jeff's blog in the comments. How predictable. What sheep. Well, I'm here to tell you, I would never do something like that. Oh no, what I would do is measure myself and then post it to my own blog!
Note – I spelled "practices" correctly. Luckily there were no colours or aluminiums involved in this UK test or I'd have had even more mistakes.
Anyway, I type reasonably fast. I took typing my freshman year in high school and had had some prior keyboarding classes in junior high. For whatever reason, it really stuck with me and I've been pretty good at touch typing ever since. I've recommended this as a skill to several of my friends and relatives during their teens – it's something that not just programmers but basically anybody who is going to spend a significant amount of time using a computer (email, anyone?) will reap huge dividends from. For me, it was just a one semester class in high school that helped things click for me. I paid attention, because I knew it would matter later. Others blew it off and went back to hunt-and-pecking after the class. It was a choice.
But back to programming – I definitely agree that all things being equal, a faster typist is able to convert thoughts into code more productively than a slow typist. Choosing not to learn how to type properly and then passing oneself off as a professional user of a computer does not reflect well upon oneself. Analogies are many: a soldier who doesn't clean their weapon or wear their uniform properly. A taxi driver with a manual transmission that only learned about the first 2 gears. A farmer who insists on pulling the combine across the field with his mule, Bessy. Working harder rather than smarter is not the way to impress your geek friends.
At any rate, I invite you to take the same test and post your comments to my blog so you can prove how lousy I am and how superior you are to me in every way. Note that I only took the test once, so to be fair you should report your first score.
Good luck, and if you're one of the hunt-and-peckers I've just maligned, I apologize but feel free to explain why someone with exactly your skills would not be more productive if they typed twice as fast as you do. I'm not looking to compare me (or Jeff, or other faster typists) with you, I'm looking to compare you with you typing faster.
Steve is an experienced software architect and trainer, focusing on code quality and Domain-Driven Design with .NET.