loading...

Is Touch-Typing an Important Skill for Software Developers?

dmerand profile image Donald Merand ・1 min read

When I watch my expert colleagues navigate their work, I'm impressed by how their tools look like an extension of their body. A videographer with a custom Final Cut jogwheel + keypad setup, a designer who knows every Illustrator shortcut - they go about their work with a fluidity that looks like a dance. They never look at their hands while they're working.

In college, a professor told me that "Once you learn vim, you can move mountains." This sounded impressive, but didn't really click with me until 5 years after I graduated when I finally went through :vimtutor and dedicated myself to using Vim for all of my code development. I can move mountains (of text)! But vim is all but useless if you can't touch-type.

I've always told my colleagues at work to memorize keyboard shortcuts. "Imagine how many hours of your life you've spent just moooooving your hand over to the mouse so that you can click some icon!" I say. But then I realized: keyboard shortcuts will only save you time if you can touch-type. If you can't find home row, a keyboard shortcut is not going to make you faster.

So that's my question - given that our range of professions involve fending our way through gigantic piles of text, is true mastery only attainable to those who know how to touch type? Or is it merely a nice tool to have in one's proverbial belt? Or am I missing the point entirely?

Discussion

pic
Editor guide
Collapse
denmch profile image
Den McHenry

I think more work tends to spent on reading and contemplating code, less on actually typing it. I think it pays dividends, and makes shorter work of tedious tasks, but isn't an essential skill.

Collapse
dmerand profile image
Collapse
ben profile image
Ben Halpern

I only recently learned about touch-typing. And I plan to get into it, but I can hardly say it's a big deal.

Most of our time is spent reading code. I'm a pretty slow typist myself. Folks with disabilities that dramatically reduce their typing proficiency still make great coders.

Collapse
dmerand profile image
Donald Merand Author

I'm definitely seeing that folks view fast/no-look typing as a very low-level optimization, if they see it as useful at all.

I've read about people who use screen readers, and have them set to read back the page at eg. 5x speed. To me, that's basically "touch-reading" versus "normal-reading": I wonder if that community would view "touch-reading" as an essential step, or a maybe-optimization.

Collapse
rhymes profile image
rhymes

I recently changed keyboard and it's killing me. I didn't realize how much muscle memory you build up using the same keyboard for years.

I type with only 8 fingers, I've never actually learned to use the keyboard properly. I also use the mouse but, especially when I build rhythm I "touch type".

Muscle and shortcut memory helps but I don't know how important a skill it is. It's probably something you learn anyway with time.

Collapse
dmerand profile image
Donald Merand Author

Would you say it's like knife skills for a chef? Every chef can cut things with knives, and they're going to do a lot of it, but you can be a good chef without being able to use a knife efficiently.

Collapse
andy profile image
Andy Zhao (he/him)

As someone who is great on a keyboard and still getting over the learning curve of using a knife well, I would say yes. I've made myself a great meal even though it took a while for me to prep everything. Typing fast is certainly helpful, but I wouldn't say it's an important skill. I definitely spend most of my time thinking about how to solve a problem than typing out attempts/solutions.

Being able to know how to type is important, but I think that's distinct from typing fast.

Collapse
dmerand profile image
Donald Merand Author

Thanks everybody for your responses! This is very illuminating.

I'm learning that it's hard to ask the question you really want to ask. I wonder how folks would have responded if I'd said "Imagine you could save 10 minutes a day by learning how to touch-type. Would that be worth it?"

Perhaps in a year I'll re-post from that perspective :)

Collapse
5n4p_ profile image
Andreas Schnapp

In my opinion it's not a must have for developers but a nice to have for every person which writes a lot of lines every day (this includes developers to me).

I don't thing that saved time is the most important thing here. I have started to learn touch typing for beeing better at vim. Then I found out that learning touch typing was really fun to me. Love hearing music and get in the flow of typing without thinking about anything. I use Ratatype for doings so but there are many good free soltutions for learning how to touch type.

For me the result was, better vim experience and less effort => more fun while writing and coding every day. :D

Collapse
lobsterpants66 profile image
Chris Shepherd

I can't touch type but saving 10 minutes a day hardly seems worth the effort.
I save much more than that by not writing code fast, instead taking the time to work out how I can solve the problem with the minimum of code.
Code left out seldom goes wrong.

Collapse
dmerand profile image
Donald Merand Author

100% agree about removing superfluous code.

To play devil's advocate: If you could save 10 minutes doing that, and then another 10 typing emails faster, you wouldn't? Over the course of 30 years typing emails you wouldn't want to save that time?

Thread Thread
lobsterpants66 profile image
Chris Shepherd

In theory yes, I would love to...but:
I'm my experience, people who can type write long rambling emails full of extraneous information. Whereas I have spent years learning to trim mine too the absolute minimum. Most of my emails consist of single line answers "done”, ”I'll take a look", etc.

Every word I don't type saves other people reading time.

Work expands to fill the space available, if you can type fast you just end up typing more.

Collapse
kristiannetdev profile image
Kristian

I'm surprised that everyone here has typed away their answers in response to this question and only considered touch typing's usefulness with respect to coding in an IDE (The op did focus on this, but the final question "am i missing the point entirely" opens the debate). How did a bunch of developers manage to type so many paragraphs about typing, and not mention the typing they were doing at that very moment?

Everyone on this board is growing as a software developer by engaging in typed conversation with other developers about software related topics, writing and responding to posts. You'll be typing here, typing on stack overflow, typing to your colleagues on slack, typing emails, typing commit comments, typing requirements, typing bug details etc etc etc

So much of being a software developer is about typed communication. If you can't do it quickly, it will really impact your work rate.

Pair programming
Another thing not really mentioned so far is pair programming. Perhaps not a lot of places really do pair programming much at the moment but its still a relevant and useful skill for a software developer. As such, a software developer who can work well in a pair has an edge over one who cannot.

As such, typing quickly is key here in order to keep your colleague engaged in the task. There's nothing more frustrating than being sat watching someone search for the 'x' key. Here, knowing the shortcuts is important too.

Collapse
dmerand profile image
Donald Merand Author

Excellent point! When it comes to driving a computer, which we do a lot of, proficiency is a big time-saver.

Collapse
eljayadobe profile image
Eljay-Adobe

As a developer, I find that touch-typing has little value for development.

I've worked with many developers who are two-finger hunt-and-peck typists. They were all fine developers, regardless.

That being said, I am a touch-typist. I use Vim. And I'm extremely picky about the keyboard that I use. (Spoiler: IBM Model M forever!)

I used to type at 90 words per minute, but I think I'm pretty rusty now and probably only manage 50 words per minute.

But that's for English, not for programming. Programming is much more about thinking than fast typing. So fast (wpm) typing speed is rarely the gating factor.

Your mileage may vary.

Collapse
moopet profile image
Ben Sinclair

I know programmers who are really good at their jobs who type with two fingers.

My touch-typing days have been and gone too - my left hand is ok, but my right is pretty much just down to the index finger 90% of the time.

Collapse
tommyjensen profile image
tommyjensen

I touch type, and it helps, but knowing shortcuts is in MHO a much bigger deal. Any half decent IDE should be able to complete your typing so that you save 90% keystrokes anyway, for the rest the limiting factor is how quickly I can type.

However it drives me up the wall when coworkers don't know the short-cuts.

Collapse
monknomo profile image
Gunnar Gissel

I think it's pretty important to know how to touch type. The faster you can type, the faster you can get your thoughts out of your head, into the computer. In team coding, it seems like the better touch typists have an easier go of writing code, too.

Collapse
cess11 profile image
PNS11

The eyes are slow, a lot of neural computation needs to be done at the back of your head before you see something. You could think of it as a half second delay between your experience and reality, and it wouldn't be far off real circumstances. This can be overcome to some extent with practice, like playing with a ball for eye-hand-coordination, but this only works well for patterns you actually can do practice with and repeat.

On the other hand, knowing the keyboard by touch is typically faster, even if you mistype quite a bit, since deleting will also be very fast if you catch your mistakes right away. This is especially true if you use shortcuts like Ctrl+Backspace or Ctrl+Shift+Arrows, or do stuff vim style, sight will mostly be a safety belt on what you do and your actual actions are almost at the speed of thought.

Writing code can however be quite slow, sometimes it takes a lot of thought and deliberation to decide what to actually write. The more thinking your programming requires, the less it matters in total how fast you write.

Then again, if your chosen programming language is decent it will allow for you to write code and test it very quickly so you can just throw stuff at it to see if it is something like what you want or not.

I'm guessing there are still typing machine courses around in some form or other, the secretaries of elder times were commonly forced by employers to try and perfect their typing skills and it would be surprising if no artifacts of these dark times weren't still around.

Collapse
mortoray profile image
edA‑qa mort‑ora‑y

Yes.

Refer to Programmers that can't type shall be shunned and treated with

Can you manage without? Sure, but you'll better if you can.

Collapse
dmerand profile image
Donald Merand Author

I'm coming to realize that framing this as a programmer-only issue receives a lot of deserved pushback. I think that in the future I'll re-frame the issue as a "person on a computer" thing.

I think about the next 30+ years of my life, spent sitting in front of a computer, most days. If it takes me 1 extra second every time I have to look at my hands to hunt+peck, and 3 extra seconds every time I have to mouse instead of using a keyboard shortcut, and I do those things hundreds of times each day... it adds up to a few days each year. I don't want to look back at my life at 60 and think "wow I'm sure glad I spent three entire months moving my hand over to the mouse and back."

Collapse
andrewlucker profile image
Andrew Lucker

I use nano and am fairly slow to type. Linus Torvalds uses something called MicroEMACS. The best programmer I've personally known had only one usable hand. I'd say reading is much more important than writing.

Collapse
theminshew profile image
Michael Minshew

For me its a boost, I learned touchtyping by gaming and can touch type really well both handed or either handed thanks to that. Its been useful more for non programming stuff and just general computing. And the really important stuff like typing a paragraph with my left hand while chugging a Red Bull with my right. And people say gaming doesnt teach life skills lol.

Collapse
ceh profile image
ceh

I believe that touch typing contributed more to speed before the modern IDEs that, as someone said already, autocomplete and generate your code. "Back then" :) we had to type a bit more, but IMO that's not where the main benefit of touch typing is.

Even nowadays, with less typing of actual code, touch typing helps with the keyboard shortcuts. Regardless of actual speed, I find not having to interrupt my flow to find a button or menu item extremely useful. Actual time saved is not the main benefit for me.

Navigating code, switching active documents, debugging, navigating files in a folder/project... there are quite a few activities that we perform often, and most of them can be sped up by knowing the combos. And not just keyboard shortcuts - some 'advanced' editor features as well, like opening class files by ctrl+clicking or just plain clicking their names in the code... it all adds up, and it summarily pays to know them.

I still think, even though that personally I find this a great asset, that it can be down to the individual. Some of my colleagues just don't care much about shortcuts, and I know them enough that I believe they'd learn them if they thought it was worth their while.

All in all, yes, it can be an important and useful skill if it fits the person's mentality. I know I'd be drastically less efficient if I suddenly forgot the layout. YMMV

Collapse
claraal29511971 profile image
claraalbert

here is something about most using typing software talkmarkets.com/member/sally-john/...