DEV Community

Donald Merand
Donald Merand

Posted on

Is Touch-Typing an Important Skill for Software Developers?

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?

Latest comments (25)

Collapse
 
claraal29511971 profile image
claraalbert

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

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

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

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
 
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
 
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
 
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
 
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
 
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

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
 
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
 
dmerand profile image
Donald Merand

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

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.