Ask HN: Should touch typing be a required skill for software engineering jobs?
It's hard to imagine a computer programmer being productive without this essential life skill.
Steve Yegge had a rant about this some 16 years ago. https://steve-yegge.blogspot.com/2008/09/programmings-dirtie...

> Here's the industry's dirty secret: Programmers who don't touch-type fit a profile. ... The profile is this: non-touch-typists have to make sacrifices in order to sustain their productivity.

Jeff Atwood commentary at https://blog.codinghorror.com/we-are-typists-first-programme... .

102 HN comments at https://news.ycombinator.com/item?id=300920 (plus a scattering of comments in the 9 other postings).

315 Reddit comments at https://www.reddit.com/r/programming/comments/70sqr/programm... .

I am a proficient touch typist myself by which code and vi placement fidgets flow endlessly from self guiding fingers. I have long passwords my fingers know and my brain does not.

An early intellectual mentor I had growing up, who was the hardest of hard core C developers, was a hunt and peck typist. Didn't seem to inconvenience him a bit.

I shouldn't think so. I've been touch typing since I was quite young, and I can type more quickly than most people do, but I don't believe that this makes me more productive: I spend far more time reading and thinking than I ever do writing, and I think this is true for most people.

(I did have one coworker, years ago, for whom this did not seem to be true: he routinely cranked out the largest volumes of code I've ever seen, by an order of magnitude - but his work was as notable for its sloppy repetition, bugginess, poor spelling, and total lack of abstraction as for its largeness. I think the team might have been more productive as a whole if he had been forced not to touch-type, perhaps by tying one of his hands behind his back while he worked.)

I can’t touch type. I spend more time thinking than I do typing. (Plus, I am usually also thinking while I type.)

Why do you say it is difficult to imagine being productive without this skill?

When you do know what you want to type (after some thinking), do you really want your typing to slow you down?
Have you tried programming in something other than notepad.exe?

Modern IDEs have auto complete so impressive, that you don't need to type much anyway. I type several symbols then stop to let the editor suggest the rest of the word. Can I touch type it myself? Yes. Do I want to? No. There wouldn't be much difference if I typed slower.

NB. When I say "modern IDEs" I mean anything since around Visual Assist, which sorted suggestions not alphabetically, but depending on context. I don't even mean copilot.

It is rarely going to be a significant factor for anything more creative than copy typing.
Not really.

But I am still productive enough without being able to touch type.

And it’s not at all obvious to me that touch typing is the most important thing I could learn. Improving my knowledge of CSS and learning Elixir feel like they would do more to make me more productive at work. Maybe even memorising advanced Typescript type hackery.

Touch typing isn't all that hard to learn though. So why not try to learn it?
It would take a time investment I’m not particularly interested in making, and I don’t think it would make me noticeably better at my job.

Why do you think being able to type faster is a better win than being able to type better code, or being able to more quickly decide what to type?

Touch typing is not "being able to type faster", it is "being able to type without looking at the keyboard".

It is useful, because you can focus more on the code on the screen, and/or reference material, than you could if you needed to be looking at what your fingers are doing on the keyboard.

are you under the impression that learning to touch type is somehow going to make you worse at typing better code, or somehow hinder your ability to quickly decide what to type?

what a weird career limiting decision to make.

  • Two4
  • ·
  • 4 months ago
  • ·
  • [ - ]
I'm in a weird halfway space when it comes to touch typing - I can't intentionally touch type, but I sometimes catch myself doing it unintentionally out of muscle memory. There is no significant change in my productivity between when I do or don't touch type, because I'm in the same boat as the gentleman above: I'm spending more time thinking about, designing and navigating code to build a mental map of the changes I need to make and its effects than I am doing the actual code changes, and I often find that means I only need to make those changes once.
It’s the opportunity cost. Why would I learn to touch type when I can instead learn something with a greater payoff?
You could, but we're here on a Sunday afternoon arguing about this when you could be learning about something with a greater payoff. If you were optimizing for that, you'd be somewhere else. In the time you took on this thread, you could have learned home row and done a touch typing lesson. Instead, it seems like you've made the decision not to learn it and are now just casting about for justifications why you're right not to. Which is entirely up to you, it doesn't affect me if you do or don't learn it, but at least be honest with yourself that you just don't want to because you're afraid or something instead of pretending that you're off learning about new programming techniques in place of learning to touch type, when you clearly aren't.
Of course not, I don’t devote my whole life to furthering my career, that would be crazy.
Tech is always changing but your qwerty keyboard will never change.
Factually untrue.

My keyboard changes somewhat every time I buy a new laptop or have to sit down in front of someone else's machine for a while, eg a pool machine at uni. Especially the UK/US thing. Or use my phone and its various virtual keyboards. My daughter has just acquired one of the older MacBooks with a soft/programmable bar at the top. That changes dynamically. Would have broken my use of one of the few keys I do 'touch' type with muscle memory: ESC for vi, so I skipped that round of Macs.

Please don't make careless absolute or other very strong (wrong) statements if you want to have useful conversations without infuriating those who are careful with words.

Even if that was true… how much more productive do you think learning to touch type would make me? And why?
If typing speed is your bottleneck you're probably about to be replaced by an LLM anyways
Looking at the keyboard while you type is a distraction. It's not just about speed.
Distraction from what? It’s not like you’re driving your car as you type.
I've touch typed since high school (on loud typewriters) and took up Emacs around 1989, but I think people are now less often generating complete chunks of code from scratch and more often refactoring existing code using awkward keybinds that didn't exist when they learned (or should have).
I don’t think so. I can touch-type but I have worked with many excellent programmers who can’t. Consider Stephen Hawking as an extreme example. Productive?

Since we don’t have a way to measure “being productive” in an objective or meaningful way you just assume without evidence that inability to touch-type decreases productivity. Programming requires typing but only incidentally — the real work happens in the brain, not in the fingers.

I’d concentrate on requiring ability to solve problems in code first, and then ability to program. Typing falls much lower on the list of desired skills. Too many programmers can’t even program effectively.

Stephen Hawking wasn’t a computer programmer.
But I would call him productive, writing several books and many scientific papers.
I don't see why. Almost none of the devs I know can touch type, and it doesn't seem to affect them. At least, they aren't any less effective at their jobs than those who can.
I can't really touch type. I have been a successful dev in finance (plus serial start-up founder) and retired early, and I am now doing a PhD.

IMHO touch typing is clearly not essential.

One reason I can't is because I spent a fair amount of time doing sysadmin and user support for multinationals, using lots of different keyboards with US / UK / other layouts. I simply didn't have the luxury of a fixed layout to get fast against.

And sysadmin / dev success is simply not measured in WPM.

But for someone who uses the same kind of keyboard every day, I would say that touch typing is a more important life skill than driving.
I also don't drive much either, though I can.

I suspect that you have a very narrow view of what are the realities and priorities for all the people that develop software all over the world.

That or you should maybe rein in the hyperbole.

> Should touch typing be a required skill for software engineering jobs?

No.

> It's hard to imagine a computer programmer being productive without this essential life skill.

To the extent this is not a failure of imagination, then, the problem is solved by requiring programmers to be productive.

Note that this also deals with the possibility that your impression is a failure of imagination.

  • gaws
  • ·
  • 4 months ago
  • ·
  • [ - ]
Absolutely.