How much does typing speed matter?

How important is it to be able to type quickly? Jeff Atwood has said numerous times that programmer must be a good typist. For example, a few weeks ago he said

I can’t take slow typists seriously as programmers. When was the last time you saw a hunt-and-peck pianist?

But programming is not like playing piano.  Programming is more like composing music than performing music. Most composers can play piano well, but some cannot.

What if you write prose rather than programs? In his book On Writing, Stephen King recommends writing 1000 words per day. If writing were only a matter of typing, how long would that take? Half an hour at a modest rate of 30 words per minute. Say you have to type 2000 words to keep 1000 due to corrections. Now we’re up to an hour. People who write for a living do not literally spend most of their time writing. They spend most of their time thinking.

Clearly it’s good to be able to type quickly. As I’ve argued here, the primary benefit of quick typing is not the time saved in data entry per se, it’s the increased chance that your hands can keep up with your brain.

However, a slow typist can still be productive. Consider physicist Stephen Hawking. He is only able to communicate to the world via a computer, ALS having destroyed nearly all of his motor control. For years he controlled his computer via a switch he could toggle with his hand; he now uses a camera that detects blinks. He says he can type 15 words per minute. Still, he has managed to write a few things, 194 publications from 1965 to 2008.

Learning to type well is a good investment for those who are physically able to do so, but it’s not that important. Once you reach moderate proficiency, improving your speed will not improve your productivity much. If a novelist writing 1000 words per day were able to type infinitely fast, he or she could save maybe an hour per day.

You may not be able to increase your typing speed too much no matter how hard you try. According to Guinness Book of World Records, Barbara Blackburn was the world’s fastest English language typist. She could sustain 150 words per minute. That means she was only 10x faster than Stephen Hawking. Most of us are somewhere between Stephen Hawking and Barbara Blackburn. In other words, nearly everyone types at the same speed, within an order of magnitude.

Related posts

112 thoughts on “How much does typing speed matter?

  1. If you write a lot of code then it’s unavoidable that you’ll get a decent typing speed. And to be a good programmer IMO you need to write a lot of code (just reading may give you the false impression you know something… to really metabolize a concept so that it will really become part of you and serve you as a weapon when fighting problems then you’ve to be able to explain it with your words, with your code).
    So IF you’re a decent programmer THEN you’re a decent typist… but it’s important to understand that fast typing is a mere unavoidable consequence.

  2. Another thing that John is doing here is comparing a continuous outcome (relative typing speed) to a binary outcome (being a hunt-and-peck typist). Which isn’t a valid comparison.

  3. A programmer should never care about typing speed. It increases automatically with the numbe of line of codes he writes.

  4. I would much rather hire a slow typing coder with good ideas than a fast typing one with bad ones. It’s simple reasoning: it is much more likely that the coder with good ideas will start typing faster given time, than the one with stupid ideas starting to get better ones.

  5. Everyone with the “I’d rather a slow A than a completely inadequate comparison element for comparison B” and the “My great grandfather smoked 30 packs a day and was the picture of health” please stop breathing.

    The point Jeff s seems to be making is that typing speed is a proxy for programmatic ability.

  6. Having seen countless situations where typing speed had considerable impact on what ultimately happened, I can say that the faster you type, the easier the flow of ideas. I have seen many programmers who were constantly frustrated having to work so hard to type and it affected their ability to program. It seems to affect their ability to think. The freedom involved in being able to quickly express yourself in prose or code helps you be creative. Having to work so hard to put something into the computer cannot help but stifle a person in some way, perhaps in several.

    However, I do not agree that typing fast or slow has anything to do with meeting a need to type 1000 words per day; that pertains to keeping up a writer’s skills in defining prose content, not in being `creative` or effective. Typing fast only tends to remove barriers to communication and that is a good thing.

  7. Does anyone notice that, by now, most text editors provide a ‘type ahead’ feature ? So, brute force typing has no more meaning. Far more, almost 80% of useful recent projects I was involved in, were made by cut/paste/drag/ drop of ‘alien’ components. So, typing 10 or 100 or 1000 wpm is a crawling rate compared to paste/ drag 2 full chapter per hour..

  8. I find this article and the resulting conversation extremely interesting because it let me think about my own process in new ways.

    As many have already said, obviously there are great programmers with poor typing skills, as well as bad programmers with great typing skills.

    I can’t comment on any generalization as to “better typists are better programmers”, but to me it makes sense that better typing skills certainly don’t hurt.

    I say this as someone who looks at the keyboard while typing. I am not a hunt-and-peck typist; I tend to use four fingers of both hands, but must watch the keys, looking up to the screen occasionally for a sense check. When writing non-code (like this) I think I type fairly fast, and spend much more time re-wording my thoughts, than correcting typing mistakes. When coding, the time spent typing is insignificant compared to formulating the required code. This is especially true when attempting to solve a new problem, navigating uncharted territory as it were.

    The programming I do is mostly 3D graphics, and therefore heavily math based. When working out multi-variable dynamics in 3D space, the challenge is creating the algorithms needed for the desired results; this all happens in my head, getting it out through my fingers becomes trivial. Often times I complete whole sections of code never thinking about the typing, some times I can’t even remember typing it.

    But…. With both text typing and generating code, I frequently mistype something, getting keys transposed, or actually offset by a key or character. Yes, I have to go back and fix it. However this costs very little time compared to grammar or spelling errors when typing text, or syntax and math errors when generating code.

    I am a horrible speller… I would give up 50 words per minute of typing speed for no spelling mistakes any day.

    Does this hurt my coding efficiency? Absolutely!

    I try to use descriptive variable names, and often find myself having to correct misspelled variable names deep in my code. I do this much more often than fixing typos.

    English is my first and only language, and I suck at it. If someone could point me to a book, or class, or training application that would fix my cross-wired brain, I would be a much better textual writer. BUT… I would never trade better language or typing skills for the visualization and mathematic skills I have, which would absolutely kill my programming ability.

    Do I wish I could touch type? Yes, but only because the few typos I make are an annoyance.

    Do I feel if I could touch type, I would be a better programmer? No, because typos are a minor annoyance, costing only a minimal amount of time. My typing skills hurt me much more when doing something like writing this post, but only because I’m writing this in MS Word, where my spelling mistakes are highlighted, and easily fixed.

    So all in all, for me, my poor language skills have a much bigger impact on my writing and coding than my typing ability.

  9. bVoqui: Your point ties back to the comparison with Stephen Hawking. He doesn’t “type” at all. Highly adaptive software presents him choices that he selects. He would not produce 15 words per minute if he were, for example, tapping out Morse code.

  10. I have been writing code for 16 years and initially learned to touch type back in middle school. Several years ago, I broke my index finger on my left hand and part of the rehab for that was to practice typing on one of the typing practice websites. I have continued to periodically go back to that site for practice. The best I have ever been able to do is 55-60 WPM, so I doubt that I will be getting any dictation job anytime soon.

    I know I have worked with people in the past that can type much faster than that and I admire their ability to do so. But I would take my ability to code over theirs every day of the week and twice on Sunday! Typing code in your language of course is the most challenging typing anyone will ever do. The use of symbols and numbers in every language makes typing code difficult. I can promise you the QWERTY keyboard did not have C++ in mind when it was being laid out.

    And with CodeRush (and similar tools), I would say that pure typing skills are not as important as everyone makes it out to be. I would bet that a person that hunts and pecks, but knew all the keyboard shortcuts for CodeRush could rival the fastest typist. I know my limitations on typing speed, so I seek out these types of tools to help me out and it does make a difference. My $.02 worth.

  11. Typing code in your language of course is the most challenging typing anyone will ever do. The use of symbols and numbers in every language makes typing code difficult. I can promise you the QWERTY keyboard did not have C++ in mind when it was being laid out.
    Not every programming language has the same dependence on symbols as those which derive from C. I suspect that some of C syntax derives from an intent to limit typing due to the technical characteristics of slow Teletype machines, etc. I’d hope we have moved beyond designing programming languages for such machines.

    We should be designing programing languages for readability, not typing convenience. Remember, the number of times a program is read is much greater than (or “>>” if you prefer :-) than the number of times it’s written or edited.

  12. I have use of only one hand for the last 12 years of my life. I have been a developer for roughly 14 years. Last year I went to a job interview for a senior development position and the interviewer was the CTO of a large financial software company. He noticed I used one hand and stated, you only use one hand, can you still type fast or does that hurt your productivity. I told him that as a developer you typically spend only about 15% of your time actually typing code, and that if he ever coded, he would know that. I then answered his question by telling him that I could type faster with 1 hand than he could with 2, which I was 99% certain to be true. I then told him the position wasn’t for me and left.

  13. Programming is about combinatory operations, no matter what language. I’m typing at 80wpm, but what really matters is the speed programmers create models, i.e. think. Of course, typing speed matters a great deal when bringing concepts down to editor paper, not because you save time, BUT because you do not get distracted by a) finding keys (not about speed but blind typing conditioning) and most importantly b) by breaking your mental flow due to delays.

  14. A few years ago while sitting in the job works center I was typing an article. As often occurred, the person next to me asked a question so I looked over to see what she was referring to during which; I continued to type.

    I bring this up because I did this without noticing and would not have given it any though if her son had not been impressed by my apparent talent saying: “Wow! He’s typing without looking at the keyboard”.

    When in my zone people tend to tell me that I type fast.

    At the local community college, I have gained to some extent, the reputation of being a good programmer. Not that it was all that difficult considering the fact that I was programming long before I took a college class on the subject.

    That said; my proficiency at typing has no bearing on my ability as a programmer. I would never attempt to write code while carrying on a conversation with the person sitting next to me. To be a good programmer requires some intense thinking. Intense thinking requires absolute concentration and dedication of thought.

    A programmer I know told me that he once worked with a woman that could through out 2000 lines of code in an hour. It would however, take 2 to 4 hours to debug the program and get it running. He said, if she had just slowed down and made fewer typing errors, she would have been an excellent programmer.

    The gal knew the language, as well as she could speak English, but, all the bugs in the code meant that it took her just as long as with a slower more methodical programmer.

    Speed can be a good thing to have. Over the years however, I have learned that haste makes waste.
    While it’s not likely that an individual will get hurt during a programming session, I not only have been injured on the job due to being rushed, so have others. I have also witnessed first hand the lower quality that comes from rushing a job.

    Some of the comments posted here are quite irrational as well as illogical. They are akin to the response I got from a resume submission that declared: “there were so many spelling errors in your resume that I couldn’t read it”. Upon reading that statement, I promptly copy and pasted my resume into word which I believe to be a better spelling checker than my self and the tools on the website where I had posted the resume. The so many typos amounted to two misspelled words.
    Typo number 1 was a legitimately misspelled word.
    Typo number 2 was the purposely misspelled word in a business name.
    So that particular individual was not able to read my resume due to a single misspelled word.

    Look, I have compulsive perfectionist tendencies, so I’m all for doing things the right way, but if you’re going to deny a person a job because they don’t use all their fingers when they type, or they get there theirs mixed up. You are an evil tyrant pure and simple.

    Being a compulsive perfectionist, I can be quite difficult to get along with. Realizing that I’m a compulsive perfectionist means that I do not ever hold people to the same level of perfection that I always fail to achieve despite my efforts to achieve them. Sure, I may blow up and get totally out of line at the first site of a mistake, like those dang pesky semi-colons that keep disappearing. But it doesn’t take me all that long before I realize that I make those same stupid mistakes.

    There are mistakes however, that I have absolutely no tolerance for. Those mistakes that are not legitimate mistakes but more rightly fall under the heading of stupid. Claiming that a persons typing speed and style indicates their ability as a programmer is not a mistake. It is just plain stupid.

    Far to often over the past six years I have seen so much, just plain stupid, being done by people who claim to be professional when in reality it only boils down to them being dishonest.
    Employers expecting programmers to work in a high passed work environment or to multi-task.
    A college’s web master/developer certification program requiring a networking concepts class which includes sub-netting a network. Yep, the first person you call when the network goes down is the webmaster. Don’t bother the network administrator, he gets paid to much to bother with such trifle issues as the network going down. Sarcasm intended.

    People who expect a programmer to be a speed typist are as unreasonable as an employer that posts a position for a webmaster and expects them to know such languages as C, C++, Assembly, Java, and many other languages that have absolutely nothing to do with developing a web site.

    I’m a compulsive perfectionist. I know I’m a compulsive perfectionist, but even I know that there is a limit to peoples abilities and skills. Typing fast has nothing to do with thinking up a program function and implementing it. All typing fast proves is that you have the physical dexterity and agility in your hands and forearms to be able to gain such speed in typing. It does not prove that you are a good programmer.

    It is natural for your speed to increase through use. That however, does not mean a programmer is going to be typing 60 wpm. If a programmer is, he or she, is not likely to be writing a bug free program. On the contrary, it is more likely than not going to be riddled with a lot of bugs. Bugs that will take as long if not longer to correct if the programmer had debugged as each part of the program was created.

    Nuff said.

  15. I expect this is another “Which language is the Holy Grail?” argument. There are touch typists who are good, great programmers, and there are touch typists who are lousy programmers. I’ve seen and worked with both, non-touch typists: ditto.

  16. People who expect a programmer to be a speed typist are as unreasonable as an employer that posts a position for a webmaster and expects them to know such languages as C, C++, Assembly, Java, and many other languages that have absolutely nothing to do with developing a web site.
    I categorically refuse to hire any programmer for any purpose who is mono-lingual and C and C++ count as 1 language. No matter what you’re doing, experience to different programming languages is in my experience essential to being a good programmer. Now maybe for some “grunt work coder” jobs, knowing and applying a single language is OK. But I’ve never worked in an environment where there was any need to hire such people.

    Some have argued that typing is irrelevant because programmers should be spending most of their time thinking. I’m interested in programmers who can think about problems using a variety of tools. Many of those tools require ‘keyboarding skills’, better skills can help. Another aspect is how different people use tools in different ways. As a skilled touch typist, I’d rather backspace and retype a word than mess with the mouse to invoke the spellchecker and then click on a suggested alternative. That’s just my particular skill base. The arguments for efficient ‘capture of intent’ have been made by multiple people in this discussion. I don’t begrudge people their visual programming environments, but I similarly won’t relieve them of the responsibility for capturing/documenting ‘intent’ that is not captured in the semantics of the programming language. (And I note in passing that different languages capture more or less semantics, requiring less or more documentation for the maintainer to understand what’s going on.)

  17. A lot of comments left here by readers disagreeing with you (ie claiming that typing speed does matter) are clearly from people who don’t understand how hunt-and-peckers actually type. Here’s a clue: they don’t actually LOOK for each letter as they type. They already have a good idea about where each letter is.

    I have never learned to touch-type and I don’t care. I can type code just as fast as my touch-typist colleagues. Again, all you guys saying hunt-and-peckers are bad programmers don’t really know what you are talking about. Look at good hunt-and-peck programmers in the real world – they exist but not many of them do, which is why your views on them are skewed.

  18. @David Emery:

    “I categorically refuse to hire any programmer for any purpose who is mono-lingual and C and C++ count as 1 language.”

    You clearly missed the point of my post. Your response tells me as well that you do not know very much about web development.

    The main languages (the plural use of language in this case is not an error) are: HTML, JavaScript (for the client UI), on the server side the most common language is PHP. PHP’s prominence is due to the Linux/Apache prominence. After PHP you have a choice of Python, ASP, JSP, Java, Perl, ActionScript with Flash not in any particular order.

    If you want a Desktop interface other than the browser, now we start talking Assembly, C++, Visual Basic, Java, Python or any language that just happens to fill the bill on the platform for which you are developing. The only valid development language to expect from a web developer is Java, all others are non essential.

    If you think you are going to get a proficient, well rounded (as in knowing every language) developer, you are deluding yourself. No one has the time, money, need or mental capacity to know the over 2000 programming languages along with their syntactic idiosyncrasies that are in existence today. So stop expecting it. Of course, if you just happen to run into a programmer with a photo-graphic memory, you just may happen to have found one.

    The point is, require what is essential to the position. Don’t ask a web master to be a generalized all around desktop developer. If you want a desktop developer, make that your job posting. If you want a web master, post only those technologies are are essential to developing your website. Be specific in what you need. If you need a C++ developer, don’t claim to be looking for web developer.

    It is extremely annoying and a waste of my time to see a job post with a web developer title and to find out after clicking the link that the employer has everything listed that pertains to a desktop developer, and one or two items that pertain to a web developer.

    It is not possible to get proficient at anything when you are using everything.
    I repeat:
    It is not possible to get proficient at anything when you are using everything.

    That being a self evident truth: all the while you employers are demanding excellence in skill, you are at the same time sabotaging that excellence in skill by demanding that developers know 10+ languages.

    No programmer builds programming skill by learning a programming language. Programming skill is built by using said language on a daily basis. An programmer that is proficient in a single object oriented programming language, can use them all. There is no difference in programming principles from one OOP language to the next. Certainly the programmer will have to get use to small differences in syntax, but his or her overall skill remains the same.

    Typing is not always the best tool to use to figure out a programming problem. Sometimes, the best tool is to push away from the desk, get up from the chair, walk down to the vending machine, and purchase a bottle of your favorite soda. This is the only tool I have found to break out of an infinite loop.

    The infinite loop is caused from being so focused on solving x problem with y solution that you can’t see the obvious. As good an idea as it was, it will never work.
    Programmer Infinite loop:

    1. Solve x problem with y solution that is not working.
    2. Adjust code.
    3. if (you are convinced y solution will not work){ GOTO 1 }
    4. if(you are completely frustrated and need a drink) { getSoada(); GOTO 6; }
    5. Go to one
    6. solve x problem with z solution.
    7. Yeah! z solution works. =)

    push away from the desk
    get up from the chair
    walk down to the vending machine
    purchase a bottle of your favorite soda.
    return to computer
    hey, what if I try this instead.
    return idea

    Yep, did that a few times.
    Always hated the feeling of wasted time when that happened.

  19. It seems to me that it’s not really how fast you type… but weather you can do so without it distracting you from your real task (accurately modeling your ideas in whatever language). Being a fast typist can be an asset but any faster than you can think is irrelevant (I find that 25-35 wps is about as fast as I can think and express it although I can type faster).

  20. We’re getting off topic, so all I’ll say about your solution is that it’s awfully -sequential-. One advantage of working with, for instance, functional programming languages is that you can envision modes other than sequential algorithms.

    I don’t expect a programmer to be expert in 2000 different languages. What I expect is that he can demonstrate more than one way to think about -and express- solutions. At the end of the day, programming is about expressing abstract solutions using a limited vocabulary, syntax, etc. See–Whorf_hypothesis

  21. “No matter what you’re doing, experience to different programming languages is in my experience essential to being a good programmer.”

    Language specialization is often a result of domain specialization. I know a few people in the game industry who have only worked with C or C++, not by choice but simply because these are the lingua franca in that industry.

  22. For those who are wondering why you would goto 1 when you are certain that y solution will not work.
    The infinite loop is caused by being stuck in the mindset that you are going to solve x problem with y solution. The fact that you are realizing it won’t work is irrelevant. Despite the evidence, you try to solve x problem with y solution. The getting up and walking away is what breaks the mindset and allows for new ideas to enter into the thought process.
    There has been one advantage to having experienced this a few times, it’s more obvious to me when someone is stuck on using their solution as opposed to just solving the problem. Fortunately, I’m more concerned with solving the problem than holding on to the idea, so once I walk away and clear my head, I usually come up with a real solution.

  23. @ David Emeroy
    “I don’t expect a programmer to be expert in 2000 different languages. What I expect is that he can demonstrate more than one way to think about -and express- solutions. ”

    But you hire people based not on whether they have more than one way to think about solutions, you hire people, or so you say, because they have proficiency in a number of programming languages. You may argue that the one equals the other, but I am afraid you have not provided any proof of that assertion.

  24. My feeling is that experience with more than one language is critical in understanding that experience with any specific language is not necessary.

    I have to qualify that by saying it is important to know both object oriented programming and a more linear language like Javascript. I say this because of the differences in how they work.

    After you’ve learned more than one object oriented language you can easily figure out any object oriented language. But you will struggle quite a bit the first time you attempt Javascript. This was true in my case. I expect the same will be true going in the other direction.

  25. In studying game programming, we’re cautioned away from pre-emptive optimization, in which we begin to take parts of our program and take all the tricks out of our bag and make it unreadable but blindingly fast, only to realize later that that particular part of our program runs once and never again. I think it’s pertinent to the discussion on touch-typing….yes, by typing faster, I think you can spend an overall net decrease of time at your desk, but is the difference worth it? Why not speed up your thought process instead?

    For visual learners.

  26. Well since everyone is missing the point so artfully might as well do the same:

    My cousin Jake was the best programmer in all existence and he only used his elbows so he made about 10wpm. So now Jeff assertion can’t possibly be true.

    Any logical flaws I missed using there?

    But I see now were on to the developer bi/tri/etc.. -lingualism. For me it’s just a business decision in the vast majority of cases I can’t afford to hire someone who is unable to code well in only Java. I’ve met and even hired a number of these idiots. People who were TA’s in computer science (in Java) but were hopeless writing code in a language they’ve never seen. So when it came to patching a legacy application they were utterly useless. By the time I made it through university I was required to have written code in a number of languages. If you want to work in any small organization (research, startup, etc..) you will need to be able to do this. I would also stress as others have done the need for knowing how to express problems in more than one paradigm (e.g. OO, functional).

    …and while I’m ranting try knowing a thing or two about how computers and networks especially work too.

  27. @Ketura – I agree about preemptive optimization it’s one of the cardinal sins of programming and your graph is essentially illustrating Ahmdal’s Law.

    Why not just “speed up your thought process” well how about you define what that is, it’s objective metric and the methodology to increase it’s speed reliably. As far as typing goes all three of those can at least be stated with some confidence (and I’ll reiterate I’m not saying – and from what I see Jeff isn’t saying this either – that there’s necessarily a benefit in improving ones typing speed ).

  28. I don’t think typing fast is related to a programmer’s ability to write code. I believe a programmer ‘should’ be a good typist (i.e. accurate) but speed is only secondary. I can type fast but I switch between looking at the screen and the keyboard. On the otherhand, being an accurate and fast typist will increase productivity and efficiency. Hmmm, I never really considered this. Interesting article, thank you.

  29. @sNobody Special
    I suggested “speeding up your thought process” just in contrast to speeding up one’s typing skills to improve efficiency. It perhaps would have been more accurate to suggest “improving your engineering process” or “clean up your work flow”.

    And as for the graphic, I should hope it illustrates Ahmdal’s Law–I took it from the wikipedia page on that very subject :P

  30. Well I think the typing speed it depends on how much have you practised it. Actually I can’t imagine that a good programmer how to learn and practise programming without typing…

  31. A programmer / sysadmin / etc. using hunt ‘n’ peck to type is like a construction worker using a tack hammer to frame a house.

  32. @Ketura – the questions remain the same. define what that is, it’s objective metric and the methodology to increase it’s speed reliably.

    So the answer to your question “Why spend time optimizing for when we can optimize for “. Is that the question presumes that the cost of all optimizations are equal which is clearly not the case.

    In my experience the more poorly defined the term is (e.g. “software engineering process”), the greater complexity in optimization and the longer the ROI and an optimization which I can cost-justify is very often preferred to one I can’t.

    Anyway despite that I don’t have a problem with the binary outcome of being a hunt-and-peck typist is a reasonable proxy for lack of proficiency in coding. I don’t believe that increasing your typing speed has any intrinsic merit. So this is more of a purely academic discussion about optimization strategies.

  33. Hmm my “Why spend time optimizing for when we can optimize for “ had some angle brackets in it which got interpreted as tags. It should read: “Why spend time optimizing for :something we spend little time on: when we can optimize for :something we spend a lot of time on:.

  34. While I do not deny that there is some benefit to being able to type faster, I have come to the conclusion that those who decry “hunt and peck typists” as being unprofessional and bad programmers are in fact themselves unprofessional.

    I infer from their obvious embarrassment concerning “hunt and peck typists” that they themselves are quite insecure about their own skill and talent as programmers.

    These are as irrational and illogical as those that argue that the solution to unemployment in the United States is the need for an increase in immigration because of the delusional belief that every consumer produces 1.5 jobs, a theory which is proven false by the very existence of unemployment.

    Likewise, the argument that only “touch typists” are good programmers is proven to be false by the very existence of good programmers who enter their code using the “hunt and peck” method.

    The fact of the matter is, both skills and abilities are distinct and different from one another and, while a good programmer can increase typing speed with minimal effort, it will take quite a bit more effort on the part of a touch typist to become a good programmer.

    There is another problem with this adamant position against “hunt and peck” typists. Being that the “hunt and peck” typists are likely to be increasingly in the older workforce, determining an individuals lack of programming skill based on their typing method can be construed as age discrimination. Such a determination can also be construed as defamation of character and or slander.

    When hiring a programmer, employers should only be concerned with an individuals programming skill and ability, not their typing method.

  35. “When hiring a programmer, employers should only be concerned with an individuals programming skill and ability, not their typing method.”

    You’d think that anyone in a position to hire would’ve figured that out, wouldn’t you?

  36. @JonO
    Yes you would.
    Unfortunately, the position of power allows them to go on ego trips and make irrational decisions that are based solely on politics, not on genuine skill.

    I was once told by an interviewer that I probably couldn’t do a job because I hadn’t done it in a while. Besides having four years of experience, the job was as complicated as riding a bicycle.

    Sometimes I wish I was as quick witted as Robin Williams, because that individual deserved a good slashing. Comically speaking.

  37. cthulhu (no not that one)

    I agree that programmers shouldcbeable to type fast, but its not as important as accruacy

  38. @Scott Tovey – While I strongly suspect that your argument is a strawman i.e. nobody hires solely on typing style. To answer your broader question as to why people would use imperfect proxies for hiring instead of “programming skill and ability” is simple. There is no useful objective metric.

    It’s the same reason teachers gave you tests to determine if you knew how to differentiate instead of directly divining your “mathematical skill and ability”. Grow up kids.

  39. @sNobody Special
    If I understanbd you correctly, you claim that by giving an applicant a typing test, you can “divine” their “programming skill and ability?” If that is what you mean, then I predict a great future for you – in Human Resources, or maybe Divinity School.

    I have known really good touch-typist-programmers and really good two-fingered-programmers. Both types delivered both quality and quantity in equal measure. The claim that touch typists never interrupt their thought flow, by the way, is gainsaid by the amount of time they take back-spacing to correct their errors, since their error rate is usually much higher than someone who spends a fair amount of his time looking at his keyboard as well as at the screen.

  40. @JonO – No, you really don’t get it. You’re definitely conflating a couple of issues. One point I’m making is, that “Programming Skill and Ability” – which I’m going to call PSA now – isn’t something that is easy to define or measure (I figure you’ll take issue with this because of the cavalier way you pronounced a group of people were equivalent in this respect). Now because I can’t directly and/or easily measure your or anyone else’s PSA. I have to when hiring use a proxy – something else which estimates PSA. Scott’s complaint – in essence – is that typing ability is inferor to PSA for measuring PSA and I should only look at the thing which I’m pretty sure can’t be directly observed or easily measured. Which is, of course inane.

    The other issue you could be touching on is that I don’t see the real issue with considering a *binary outcome* as being reliable proxy for PSA. Yes I’ve known developers who were two-finger typists (including myself as a youth) and those who weren’t. However unlike you I recognize that the world is a pretty big place and my experience isn’t necessarily representative. Good luck with fixing that.

  41. @sNobody Special

    I am relieved to be told that I still don’t “get” nonsense.

    Of course evaluating programmers isn’t easy, but if you have been placed in a position of doing so, and you admit that you are not capable of it and instead use a metric like typing ability then I hope you make your inability clear to both those you evaluate and those for whom you are doing the evaluations.

    I do not, by the way, make any claim that my experience is universal. You are the one who have made the statements that all good programmers are touch typists and all two-finger programmers are not. I offer my experience simply as incontrovertible proof that you have no idea what you are talking about.

    Enough, I am done wasting my time trying to get you to admit that the world is nearly as simplistic as you want/need it to be. Take the last word if it is important to you. I am unsubscribing to this topic.

  42. @JonO – You seem to need to take some of my statements in a silly way. The point was that we all use proxies to measure complicated things in life. Proxies are by nature less precise than the thing we are using them to measure. Ergo to demand that people not to use them is pretty lame.

    Your idea that I have somehow, somewhere made statements like ” all good programmers are touch typists and all two-finger programmers are not” when what I said was I don’t have a problem with the idea of a binary outcome being a reasonable proxy for PSA. Is amusing…and stupid…particularly amusing when you accuse me of looking at the world in an oversimplified way.

  43. Oh and “evaluating programmers” isn’t necessarily the same as being able to determine PSA. Every person in the hiring process “evaluates” a programmer. Even if I ranked developers by typing speed alone – which I’ll restate yet again for other people as brain-damaged as JonO – that I don’t do nor do I believe anyone really does – it would still be evaluating them. What it wouldn’t necessarily be doing is providing a very good assessment of PSA or job success (which in some cases may be different things).

  44. @sNobody Special
    If your evaluating PSA then do it. It can be done. If that person is also going to do data entry then measure that ability. Evaluating by proxy is a cop-out. hat’s the problem with HR people doing a technical interview. I would expect more from technical people. In no way is typing speed a reflection of programming ability. You might as well evaluate them on the color socks they wore to the interview. I remember the days when IBM required the stupid ties and lost good people. It’s OK with me if companies other than mine don’t see real talent.

    I look for creative people. If someone can type faster than me, I move away from the keyboard and let them type, when we’re pair programing. Thats how professionals work. We recognize each other weaknesses and deal with it. I would hate to see my fellow hunt-and-peck programmers waist time learning to type. There is far better use of their time. That time would be better spent moving to CMMI Level 3 or 4, and leveraging reuse, which has far better documented returns in productivity.

Comments are closed.