Brajeshwar 8 days ago

It is not a must, but it helps make life easier. As others have pointed out, some of the better programmers can touch-type or have formed a habit of nearly touch-typing.

I learned touch-typing by force during school/college as I worked part-time at a local newspaper.

I encourage my kids to use better typing methods. It will be a long journey, but reminding them occasionally and using a few typing apps will help them. The first success is laying their hands in the correct positions.

The best fun was when I set up a mechanical keyboard when they visited their grandparents. “What the hell is she training for?”

  • paulmooreparks 8 days ago

    One of the best, most productive developers I ever knew, who was 25-30 years my senior, typed with two fingers and looked at each key as he typed. He also took meticulous hand-written notes and kept every notebook on shelves above his desk. As a young punk touch-typist, it was almost physically painful for me to sit next to him and watch him as he worked, but his code was on-time and solid.

    • jojobas 8 days ago

      Survivorship bias.

      A programmer usually needs to type a lot of non-code as well. Doing all that at 1 cps is a major impediment.

  • adrian_b 8 days ago

    I agree.

    For very many years I had been typing with two fingers. It did not really hurt my productivity, as the major part of programming is thinking about what to write, not the actual typing.

    I had tried several times to switch to touch typing, but I had given up every time. The reason was that in the initial phase of the transition I was typing much slower than before and I had not enough patience, so whenever I was in a hurry I would switch back to two-finger typing.

    The method by which I have eventually succeeded to switch to touch typing has been by simultaneously switching to a Dvorak keyboard layout.

    This had three advantages, the Dvorak layout is more comfortable, whenever I was losing patience due to the slowness of the typing there was no easy way to switch back to the two-finger typing to which I was accustomed, and looking at the keyboard was pointless due to the lack of matching labels on keys, so pure touch typing was mandatory.

    The transition was very annoying during the first few days, but after a few weeks I have recovered the previous typing speed, then I have exceeded it significantly.

    Nevertheless, the increased typing speed has been only a very minor advantage. The real advantage has been the much less effort required for typing long texts all day by touch typing instead of hunt-and-peck, especially when also using the Dvorak layout instead of Qwerty.

  • wenc 8 days ago

    I type pretty fast, but never learned touch typing.

    What WPM's do touch typists typically attain?

    This is a touch typist at 190 WPM, which I think is rare.

    https://www.youtube.com/watch?v=2jBTKgobGWw

    • Zetaphor 8 days ago

      190 is certainly at the high end and probably in the range of competitive typing speeds (yes this is a thing). I personally average 120 which I think is the upper range for the more casual (but still serious) touch typists.

    • janalsncm 8 days ago

      The article says 70+ wpm is typical. I think I’m on the low end of that.

      But wpm kind of misses the point. Typing isn’t a programmer’s job, it is a means to doing their job. If typing requires conscious effort it will take away from everything else.

      • ehnto 8 days ago

        I "touch type" at 120-140, it doesn't help me program, at all.

        I got that fast because I spent my teens in chatrooms, but it's not homerow style, it's any finger anywhere at any time hover touch typing.

        This was a real issue when I transitioned to a split keyboard, because my hands were used to crossing sides. My typing speed took a hit, but again, zero impact to programming.

        Probably helps when writing comments in tickets though.

        • janalsncm 8 days ago

          I guess another way of putting it is that if we randomized the letters on your keyboard so that typing required conscious effort, would it change your productivity? For me I’m pretty sure it would be a big distraction.

          • ehnto 8 days ago

            I kind of did do that when switching from the full layout keyboard to a 58 key layout, it was indeed big a distraction for a few weeks as I learned where things were. The accuracy was the big slowdown, I was mistyping a lot, rather than slowly pressing the right keys.

janalsncm 8 days ago

The way I think about it, almost everyone is bad at multitasking if both of the tasks require attention. (You can walk and talk at the same time because walking does not require attention.) If typing, either by touch typing or hunt and peck, requires attention, then you will need to switch your attention from thinking to typing and back to thinking. This probably doesn’t mean you can’t do your job, it just requires more mental effort.

AlbertCory 8 days ago

One data point; take it for what it's worth.

Every truly great programmer I ever met was a really fast typist. Every one.

The converse doesn't apply, of course.

  • ggm 8 days ago

    Likewise. It's my belief the expressiveness of their thought in flow was the magic.

  • paulmooreparks 8 days ago

    Anecdata, for sure, but only a few of the best programmers I ever knew were touch typists. In another comment here I related the story of someone who was productive yet painful to watch. His typing speed had no bearing on the fact that he was the nearly always the most reliable and productive developer on his team.

    He was a physics PhD who learned to code in FORTRAN in the 1970's, so he was definitely of another time.

  • fsckboy 8 days ago

    that's not really on the same subject, touch typing. I know extremely fast hunt-and-peckers who use emacs with perfect facility.

    • The_Colonel 8 days ago

      Hmm, I've never seen someone who would be fast at typing yet not being able to touch type.

      • UberMouse 7 days ago

        I could hit triple digits WPM without knowing how to touch type. I just learned adhoc how to type very fast from gaming as a teenager. I haven since learned how to touch type (and moved to a split keyboard with Colemak-DH) and I type at a pretty similar WPM, it's just more comfortable.

      • dsv3099i 8 days ago

        You guys have to define “fast”. After all, speed is relative. :)

        • AlbertCory 8 days ago

          fast: you know it when you see it.

Null-Set 8 days ago

I do non-standard touch typing, just naturally learned from typing over the years. I mostly only use 3 fingers on each hand, but I'm not hunting for the keys, I know where they are. I feel like I do make more typos than a properly trained typist but I'm certainly not spending any attention on the typing.

  • rahimnathwani 8 days ago

    I would have described myself the same way until a few years ago.

    My typing speed was about 50wpm, and had probably been at this level for ~20 years.

    I spent about 50 hours learning the proper method on keybr.com, spread over several months.

    That was enough for me to exceed 50wpm, which meant there was no longer any need to use my old method.

    After that, my speed naturally increased to around 65wpm.

    A mechanical keyboard added another 5wpm. Some practice on Monkeytype added another 5wpm.

    Typing wasn't a barrier before, but I feel more comfortable now that I use the recommended fingering (except for the z key). And I'm sure the 50% increase in speed helps when I'm doing solo brainstorming in a text file.

  • robobro 8 days ago

    Similar case for me!

    I was never trained in typing, but after years of "hunt and peck" typing, I just intuitively learned where keys are and started instinctively learning patterns for how to type words after lots and lots of IRC as a teen. I orient my hands around the keyboard and put my fingers into position to type words in the most efficient method subconsciously. This works for me because I can type over 120WPM with no wrist pain.

    Something about IRC encourages people to type quickly and I'm not sure I'd have gone from looking at the keyboard to not looking if most of my typing were in a relaxed setting.

    • plorkyeran 8 days ago

      In a 1:1 chat or small group chat you can get away with typing slowly, but in a busy chat room full of people who type quickly you simply can’t participate in a conversation if you’re constantly lagging behind. I think the “typing…” indicator in more modern chat clients means people are more likely to pause to see what you’re trying to say, but IRC is often very much about getting your words into the channel as quickly as possible before things have moved on from the message you’re replying to.

      • titusjohnson 4 days ago

        There was certainly an art to being able to get your jokes in at just the right time. A few seconds(messages) later and it's just not funny, so type fast!

    • caeril 7 days ago

      > I can type over 120WPM with no wrist pain

      I've observed this, myself. All the people I know with RSI issues are touch-typists. I suspect it has to do with pinky extension being a highly unnatural movement. Three fingers and thumb are all I need to type very fast, and I have never experienced anything remotely approaching hand/wrist/finger pain in over two decades of professional software development.

    • lakkal 3 days ago

      I used to describe my typing technique as "hyper-advanced hunt-and-peck".

  • kccqzy 8 days ago

    Same here. I only use the middle 3 fingers on each hand and I don't need to look at the keyboard to type. Typing speed is good enough at about 70–80 wpm. I do note that due to my inconsistent finger use, I make some mistakes but they don't really bother me: I'd rather become at adept at editing text more efficiently. Fixing typos is really no different from fixing a bad word choice or bad grammar.

iLemming 7 days ago

Keyboard input currently is the most common and efficient method to create text - dictation, handwriting recognition, and mind-to-text interfaces are still in their infancy.

Faster text input is a must for anyone involved in software development, there's no question about it.

We, software engineers constantly share our ideas, our thoughts and hypotheses and the medium for that exchange 99% of the time is text - be that plain English, programming or any other natural language.

Anyone who is incredibly slow with the process would be a detriment - a slow typist is unlikely to write good, useful git commit messages; they are less likely to spend time to write coherent, descriptive Pull-Request descriptions or share convincing architectural-change proposals.

Just think about it - the average programmer over their professional lifetime writes the equivalent of 15-20 "War and Peace" books. "War and Peace" is approximately half a million words or 3.2 million characters. Assuming an average of 50 characters per line, a programmer writing 1 million lines would produce about 50 million characters. It took Leo Tolstoy around six years to finish his novel. Programmers often have to create projects twice as big in the matter of months.

On the other hand - some may argue that over-prolific, fast typists sometimes write watered-down, lengthy texts that are painfully difficult to read and they add little value beyond just increasing the entropy. Writing well is a skill, and a faster typist is most likely to achieve this mastery quicker than a slow typist.

Whenever I need to make hiring decisions I try to find the candidate's footprint - code, comments, blog posts, etc. You can tell a lot by simply skimming through what they wrote - whether it's code or plain text. Good programmers rarely are slow typists.

roywiggins 8 days ago

I learned to touch type early because I- somewhat anachronistically- got into MUDs, where it's fairly vital.

  • Zetaphor 8 days ago

    I spent almost an entire year of high school slacking off because I had setup a CircleMUD server on the school network that we all played on.

m463 8 days ago

People might think that being a touch typist just makes typing in code faster.

But the big multiplier is the CLI. You can DO things lightning-fast.

For example, with command recall (linux control-r) your fingers are doing the control-r and your eyes are looking at the recalled command to see if it is the right one.

  • lelag 8 days ago

    For me, the big multiplier is written communication: writing email, documentation, instant messaging—these are tasks where touch typing will make an even bigger difference. Unlike programming or using a CLI, there is no autocomplete to assist, and being able to touch type make those tasks so much easier.

  • kmoser 8 days ago

    The big multiplier for me is keyboard shortcuts, especially arrow keys in combination with Ctrl and Shift. This saves from having to move back and forth to the mouse, and is usually more accurate as well.

  • paulmooreparks 8 days ago

    This. I've written a CLI to automate the tasks that the rest of my team does in Postman, the browser, and various other clicky-pointy tools. Maybe the fact that I learned to code on a Commodore 64 and had my first jobs working in DOS and Unix has something to do with it....

mks 8 days ago

Your hands are the most practical brain-computer interface you have. With touch typing it really feels like you are controlling computer with your mind - for me it's absolutely worth the time investment.

I was lucky my father prompted me to self-learnt it in high school. I have started with learning basic hand positions and technique from a book. Once I could barely type without looking, I started transcribing handwritten drafts of my school essays to the computer. Painfully slow for first few days but gradually I got to decent speed (and tidy looking essays).

Oddly, when writing documents, I still prefer pen and paper for taking notes and writing first draft. Afterwards nothing beats the power of editing on computer where touch typing is the ultimate power up.

  • ehnto 8 days ago

    Beautifully put. I didn't give it serious thought until perhaps 5 years ago, at which point I started gearing my tools to keyboard only input. I had always found the mouse clumsy, inconcise and a distraction if it was needed.

    Without getting caught up on specific tools, using editors and a window manager that are all keyboard focused, and learning all the keyboard shortcuts I can for my tools,I feel I can stay in flow much better and work more concisely.

    Using some of these tools makes me feel like I am using telepathy almost, as stuff happens on the screen where and when I want precisely.

wonnage 8 days ago

Being able to think as you type instead of having to context switch between the two seems like a clear benefit. I think a lot of things programmers hate - boilerplate code, long variable names, code formatting - can also be attributed at least partially to the burden of typing them. Those are solved by IDEs, but you'd be surprised at how many programmers are still rawdogging their editor environments as though it was Notepad. This is where Copilot is pretty helpful, you don't have to learn or configure anything, it just works.

GianFabien 8 days ago

Ironically I only learnt touch typing because I had a part-time job as a tester for a company that made touch-typing program for the IBM PC.

In my experience, speed is just one of the many advantages. If you just watch the screen, never look at the keyboard and just type, you see mistakes and correct them on the go. Being able to talk to a co-worker while continuing to finish typing whatever I was working on. For me this is like flushing the write buffer of my mind.

I find that I update comments and documentation more consistently than my non-touch typing peers.

JohnFen 7 days ago

> there is a completely different aspect to touch typing which non-touch-typing programmers don't even realize: Touch typists don't spend much effort for typing, it happens almost automatically.

I can't touch-type, but I also don't need to spend any effort on typing. It happens automatically.

I don't know about other devs, but I don't really see any advantage to touch-typing in my own work. My WPM isn't up the standards of professional typists, however it's certainly high enough that it isn't a detriment.

dusted 7 days ago

I feel like I type fast, I don't touch type correctly, but I've had blank keyboards since around 2001 when my teenaged self decided to imitate that scene in Hackers (1994) where he spray paints his keyboard.. I decided on a cool chrome paint.. I didn't really think about this decision until after the paint had dried and I connected the keyboard to the computer again and I realized.. That I didn't know where anything was.. Took a while to catch back up, but in the end, I ended up pretty proficient, and I've not ever wanted lettering back on my keyboards.

On an English typing test (not my first language) I sit around 100 wps, which is not high, but sufficient that I don't get annoyed waiting for the words to appear on the screen while I type, it's about the same speed as I can construct somewhat coherent sentences.

The hardest part about typing tests for me is reading the text, understanding it and (paradoxically) spelling the words correctly as I both look at them and type them. It's quite a lot easier and faster for me to type free-text like I do now.

For programmers? Yes, for any computer user, one should be proficient at using the keyboard, otherwise, you will be very limited in your communication, especially with other people, this is a problem. Documentation, comments, log messages, emails and chats become limited, and it gets quite annoying to stand behind you while you hunt and peck your way through a simple sentence.. Also, learn how to use the nav cluster, I get ticks waiting when people use key-repetition or the mouse to jump around the line. Learn to use home/end and pageup/down along with whatever jumping your editor can do.

pdonis 8 days ago

My father made me learn touch typing when I was a teenager. One of the best things he ever did for me.

(As a bonus, he had me learn it on his old Olympic typewriter--"old" as in older than I was at the time--whose keys were so stiff it seemed like it took about ten pounds of pressure to type one letter. When I finally got a computer, typing on its keyboard was like being able to run without ankle weights for the first time.)

ggm 8 days ago

I acquired mine almost by accident. I caused the DEC-10 typing tutor account to be locked up, abusing its network budget on JANET to talk to family in 1979. Then I ran into the Version 7 learn system which asked you to show some basic competency in keyboard fluency, and finally wound up learning the home keys.

The rest "emerged" -I am sure I don't use the recognised fingers, but I achieve a reasonably good rate and rarely look down for the standard letters, numbers and symbols, although from time to time find I've lost touch (hah) with some of them: If you stop doing C or Perl the ; becomes less important to you.

cpr 7 days ago

There's nothing quite like the "flow" you get into when you're a fast, accurate typist and the code just pours of you like honey. (Well, that sounds slow. ;-)

Especially when using a fantastic mechanical (Hall effect) keyboard like (still) my favorite Apex Pro from SteelSeries.

Nothing matches or probably ever will match the old MIT AI Lab Tom Knight Hall effect keyboards (Microswitch), but these are mighty close. Something about the heft and the smoothness of those keys has never been replicated. I can still remember that feel quite distinctly 45 years later...

MattPalmer1086 8 days ago

I taught myself touch typing with Mavis Beacon software. It took about 3 months practice, doing half an hour a day before I could type not quite as fast as previously. At that point I just switched over to it, and then rapidly became faster.

I love that I can type what's in my head without thinking about it at all. I even got a job partially because of it once, although I guess that would be rare!

Anyway, I'd strongly recommend learning touch typing to anyone who works at a computer. It's so much easier and faster too.

teo_zero 8 days ago

Despite the title, the article doesn't provide any useful insight that links touch typing and programmers. It goes like "programmers also take notes and write emails, therefore touch typing will make them quicker". But this applies to most jobs, and even to unemployed people. It would have been the same as asking "Is eating less fat good for programmers?" Of course it is, as it is for most people!

Ferret7446 8 days ago

Correlation. Smart people usually can learn touch typing easily, and do so, so they can do various tasks faster.

If you can't touch type, then either:

1. You aren't smart.

2. You are one of the very few people who are smart, but for some reason just can't easily learn touch typing.

3. For some reason you rarely have to type in your life.

The population of good programmers that falls into either 2 or 3 is very small (and 1 excludes the "good" condition).

  • antimemetics 8 days ago

    Like any generalisation this is unhelpful in the real world. You don’t need to be particularly smart for 95% of programming tasks AFAICT

    • h4ny 8 days ago

      I think you managed to criticise someone's use of generalisation with two generalisations.

      Generalisations aren't inherently bad, thinking that generalisations are absolute truths is probably what you think is bad.

  • fuzzfactor 8 days ago

    Correletion; smart people have sometimes already progressed so much they don't have to do everything as fast as possible to get more accomplished than the frantic operators.

    >1. You aren't smart.

    Very likely for most people, depending on where you draw the line(s). But you could very well still be brilliant.

    >2. . . . can't easily learn touch typing.

    OTOH could already have learned touch typing, and recognized the advantages for stream-of-consciousness storytelling, but moved forward without it when it comes to typing in code.

    >3. For some reason you rarely have to type in your life.

    But when you do, you want to stop and make sure it is exactly as expected every time before you hit "enter".

prudentpomelo 7 days ago

I touch type between 60-70 wpm. When I practice using source code it drops to 30. However, the most important thing I have done for my editing speed is learning vim. Vim is a cheat code in programming. The learning curve is steep. Once I got the basics down it helped eliminate most of the fatigue I would feel when editing text with the mouse.

matthewfelgate 8 days ago

No, you don't have to touch type to be a programmer, or a good programmer.

But I highly recommend to anyone reading this to actually go and learn touch typing. It's free and there are lots of websites out there.

In terms of input effort to output, touch typing is one of the best things you can learn. You will literally use it every day of your working life.

lloeki 8 days ago

Strange phenomenon: I can type reasonably fast (self-taught homerow-ish "organic"/non-academic touch typing) when nobody's around, but the moment someone's watching (shoulder surfing or screen sharing) however hard I try it all falls apart!

scelerat 7 days ago

I hit a speed limit of around 50-60 wpm years ago, even after taking a typing class in high school and doing multiple online typing tutor courses.

I don't know what it is; i've never been able to push past it without ruining accuracy.

  • santy-gegen 3 days ago

    I've also hit that plateau. Have you tried using different ergonomic setups?

Daviey 8 days ago

My bottleneck tends to be my brain rather than my fingers. If I was blinding typing out text without thought, then I'd see my typing speed as an issue.

h_tbob 8 days ago

I can touch type everything but numbers. I think my productivity would be a lot better if I could.

jandrewrogers 8 days ago

Bluntly, yes, if you want to be fast and efficient. I often assert that the most valuable class I took in high school was a typing class, ironically. Not what I expected at the time. I wasn’t great after that semester, maybe 25 wpm, but once the foundations were in place it only improved from there.

It also makes everything faster from the command line, once your body is wired to deliver instructions via keyboard. Humans can talk at a high wpm rate but typing can compress complex contextual meaning into a few twitches of the fingers. Typing can be significantly more compressed than speaking.

I still think typing is a low-key high-leverage skill that anyone can learn in a relatively short period of time. The lower barrier to entry, the ease of acquiring the skill, and the value in diverse contexts recommends it.

  • jandrewrogers 8 days ago

    FWIW, I have known astonishingly fast “hunt and peck” typers. While adequate, they were always at an absolute disadvantage in terms of how quickly they could deliver value. Having seen both cases in real-world environments, hunt-and-peck severely handicaps the people that can only operate that way. Learn to touch type.

  • readthenotes1 8 days ago

    One should also learn some of the more used the key chords for whatever development environment they are in since that simply amplifies the typing speed and reduces the cognitive burden

jmclnx 8 days ago

Not really, 40 years as a programmer and I have my own method that works well for me. Plus 1 word "Emacs" :)

qbxk 8 days ago

lol this article is an exception to Betteridge's Law of Headlines