Steve Smith's Blog

Musings on Software and the Developer Community

Programming is Just Typing

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!

image

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 his 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.

    kick it on DotNetKicks.com

Wednesday, 19 November 2008

Comments

 avatar

meh said on 19 Nov 2008 at 6:13 AM

I already type at the speed i can think, so typing twice as fast would not make me more productive. Add to the mix the fact that most IDEs will give you intellisense and auto completion, and any typing speed theory you can come up with becomes redundant, nay, idiotic. Also, programmers become very good at typing the keywords in the language they use, making them take a standard typing speed test will produce bogus results not applicable to the argument (comparing apples with oranges).

If i wanted to be recognised for my typing speed i would have become a PA or secretary.


 avatar

James Shaw said on 19 Nov 2008 at 8:59 AM

wow, pathetic. I just scored 50 wpm :( some of those words my fingers just didnt know how to type! I mean, "buhl"? I think it works better as a test when you get words that you actually use everyday, then my fingers just do it on their own.

In any case, I learned very late and although I'm a big step up from hunt and peck now, I doubt I'll ever catch people who learned it properly in high school. In fact it was you that prompted me to learn IIRC, while staying with you back in the dark ages of 2002/3?

One thing I hate: I use my desktop during the day with an ergonomic keyboard then have the laptop on a board on my lap at night. I can't type worth a damn on a laptop, but there's no room for an external keyboard...


 avatar

Steve Smith said on 19 Nov 2008 at 12:01 PM

In regards to meh, I definitely admit that being productive with an IDE and tools like Resharper, CodeRush, and built in features of VS can all reduce the effects of poor typing skills while coding directly. The thing is, most professional software developers also need to write a lot of email, sometimes documentation, participate in forums, perhaps maintain a blog, etc. And all of these do in fact require typing natural language sentences and paragraphs. Being slow at it just reduces productivity. And don't tell me devs don't do email or that they only need to do those activities during their personal time.


 avatar

Steve Smith said on 19 Nov 2008 at 12:02 PM

@James,

50 doesn't seem too bad, really. I'm thinking anything in the vicinity of a word per second with minimal errors is probably at least reasonable. I'd say if you're down in the 30s or lower that you could really benefit from some training (and of course anybody could be better if they worked at it, but again there are diminishing returns).


 avatar

Peter Bromberg said on 22 Nov 2008 at 10:27 AM

Steven,

How about Vista Speech Recognition? Now there is a programmer productivity tool...


 avatar

Zach Bussinger said on 26 Nov 2008 at 9:44 AM

61 WPM, 3 mistakes. Not bad, but I've developed a horrible habit of only using the first 2-3 fingers on each hand (barely utilizing my pinky when I type, and not using my ring finger enough).

I'd love to re-train myself to type the "right way", but it seems like a lost cause at this point. Oh and if you put me on one of those ergonomic keyboards, I get lost. I really want to learn to use one though.

Nice blog, hope you and your family are doing well. Happy Thanksgiving!


 avatar

Zach Bussinger said on 26 Nov 2008 at 9:48 AM

Oh and this reminds me, for typing practice try QWERTY Warriors (1 and 2) on Newgrounds.com, or maybe some Typing of the Dead :)

Good stuff.