Hacker News new | past | comments | ask | show | jobs | submit login
How much does typing speed matter for programmers? (johndcook.com)
17 points by jseliger on Dec 25, 2010 | hide | past | web | favorite | 18 comments

The reason it's hard to take slow typists seriously as programmers isn't that typing speed affects your ability as a programmer; the issue is that it speaks to how much time you've really spent in front of a computer, actually writing programs. I've never met a slow typist who had written gobs of code (good or bad).

For a programmer, words-per-minute text typing speed is not so important, but navigation typing speed is. I'm talking about the ability to, without conscious thought, tab around between windows, hit the command keys for operations like copy+paste, and use speedy text navigation shortcuts like Ctrl-arrow keys and Home/End. The more a programmer can instinctively take shortcuts like that, the more he'll maintain mental flow on the real task instead of diverting effort to managing his tools. I don't have any hard data of course, but anecdotally I feel a large correlation between environment navigation efficiency and work productivity.

This applies to more than just programming, like spreadsheet work as well. A user who's learned End-navigation or fill-down shortcuts can get a complex Excel sheet done in significantly less time.

Whenever I hear a developer pounding away frenetically at the keyboard, 9 times out of 10 they are pounding away at an email.

Whenever I see an artist furiously drawing lines on a piece of paper, 9 times out of 10 they are writing.

Tl;dr people spend more time thinking than typing, but the benefit of fast typing is the ability for your hands to keep up with your brain.

Average typing speed is enough. Programmers do not look at the keyboard when typing.

Novice speed does hamper efficiency. Finding alphabets, numbers and symbols on keyboard interrupts programmers' thought.

Fast does help much as programmers do not type much one at time but thinks more between lines of code. Usually programmers write a few lines even a few characters for adjustment.

For programmers, good use of editor is more important. Able to use keyword short-cuts to cut and paste, replacing pattern of text, finding text, moving text between files is a key to efficiency.

Agree on all points.

I watch "over the shoulder" of many software engineers at my (Windows-based) work, and 90% of them work at a CMD shell/console with QuickEdit mode disabled; software that I'm responsible for spits fully qualified logfile names out to said console, but rather than copy + paste the filename into Outlook's attachment File Open dialog, they laboriously click their way thru the "Explorer" dialog pane trying to find the same file. I sometimes point out that they could easily copy and paste the name from the console into the dialog, and some of them have an "aha!" moment, but most simply don't "get" it.

OTOH I've watched experienced unix developers who type at fantastic speeds, but with a significant error rate: bzzzzz (a command line) enter [error]; bzzzzzz (a whole new command line intending to duplicate the intent of the first) enter [error]; (third time's the charm?). Slow down or use line-editing? No... These are far less the rule than the mouse-click-happy Windows users, but clearly there are many ways to be inefficient...

The fewer times I (a marginal typist) am forced to type out a copy of text I see on the screen, the more productive I am. My work processes are optimized along this axis: let the computer do the work instead of my fingers whenever possible.

Funny, I usually observe the opposite use of copying at a command-line window. I often see co-workers and client users copying and pasting as little as 4 or 6 characters out of a command window, when in that case it would be more efficient to simply retype it rather than reach for and point and aim the mouse. These are tokens usually like investment account numbers or ticker symbols or the like. The excuse is usually "to make sure I get it right" -- as in many jobs, covering your ass from any mistakes is more important than actual productivity gains.

Maybe your co-workers and clientele are all skilled typists who never make transposition errors. But I've dialed enough wrong numbers due to simple transposition (mental) errors (and made analogous typing errors) to know how easy it is to make them. If 'persons unknown' had to move my personal investment account number around via data-entry, I'd feel much better knowing they were copy-pasting and not manually transcribing.

What do you think "average typing speed" is? I find it strange how much people talk about typing speeds without giving any actual numbers.

The thing is it's easy to comfortably type, say, 60 words per minute if you use a computer a lot and care. When I learned to type I could do 20 or 30 or something, but when I found chat programs my max speed went over 100 after a few years. As long as you have any reason to be typing a lot, your speed should increase to the point where you're "fast" and don't care anymore.

Sure the benefit of typing 80 wpm instead of 60 is not that much. But the cost isn't much either, it happens naturally for heavy computer users.

If you're not typing reasonably fast, one has to wonder: why not?

No doubt a few people will have some good reason why not, or just say "I'm new to computers". But others will have a dumb reason. Others won't have ever thought about it. So you can learn about people by asking this.

It's kind of like: any serious programmer should learn a decent text editor. Yes you can code in a crappy one. Yes most of the time is spent thinking not text editing. But if you aren't using good tools one has to wonder: why not?

I don't think words per minute is the best measurement of programming speed, if we are trying to assess the efficiency of translating thoughts into code. The speed of navigating between files and functions and editing blocks or terms (delete, insert) deserves strong weighting as well.

Agreed, plus programming is symbol heavy while most WPM tests focus on prose.

When you write, you don't just type constantly the whole time. You think a bit, decide on something to say, type it, then think of the next thing. The better you can type, the shorter the delay before you get back to thinking again without still having to remember what you're currently writing down. And typing itself is quite distracting for a weak typist, whereas a good typist doesn't pay attention to typing and keeps his mind on the content. The same applies to programing. Typing does matter.

If you want to increase your typing speed (or waste a lot of time) anyway, check out http://play.typeracer.com/ . In addition to popular works, you can configure it to make you type samples from open source projects in your language of choice.

Yes, it's great for impressing the others in the boss so they know you are in fact technical (apart from building all the stuff).

Not at all if you're programming APL/J/K/Q!

Typing speed is probably irrelevant. Touch typing is probably important for programmers to master, even if it is just so they don't have to break their zen state while programming.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact