DEV Community

Cover image for Touch Typing- The Most Important Skill For Developers Nobody Talks About
David Sanwald
David Sanwald

Posted on • Originally published at davidsanwald.net

Touch Typing- The Most Important Skill For Developers Nobody Talks About

As a developer, the code I commit during a typical workday varies greatly, but about 8000 characters of code might be an okay estimate.
Before I learned how to touch-type, my typing speed was about 30 WPM.
That means I could type all of that in about 50 minutes. My current typing-speed is about 70 WPM, so I would only save 30 minutes per day.

As a developer, I'm not limited by the typing speed and thinking about code, reading code, looking for the right place to change that single line of code to fix a bug matter way more than my raw output of code.

All in all, it seems like touch-typing is only a minor optimization, so why was touch-typing the single most important skill I picked up as a developer?

Why Touch-Typing Matters

Many of the things that matter most to me might also be personal and subjective. But I still believe the following things are true not only for myself.

Syncing Code and Thoughts

The flow of thoughts is not consistent. Often we think in bursts. Further, our mind does not emit ideas in a linear self-consistent manner. Often we only can associate and combine ideas that did not directly succeed each other.
Touch-typing, to me, means less buff between thinking about code and writing code. I'm able to quickly type ideas I had to keep in my head before. Not being able to follow my thought process in the editor forced me to do more steps in my head.
Typing made the way I code more iterative. It's no problem at all writing code that will not be in the final commit. I often worried about writing clean code, which limited me and slowed me down. Now I'm able to write code without worrying about how it looks because immediately refactoring a line of code after typing it is so easy.

It's also about navigating and editing code

Before knowing how to type, I failed to get into using VIM (or its keybindings) countless times. I tried but never managed to build up muscle memory navigating and editing code the vim-way. Nobody told me that typing skills are almost a hard requirement for benefitting from VIM.
After I was able to touch-type (even though I was still very slow), it only took me a week to pick up enough VIM to feel productive.
Only a fraction of "writing code" is actually about writing code. It's easy to overlook how much working with code is about editing and navigating it.

It's not only code we type

Often we are focussed about writing actual code, that there are many more things that depend on being typed so that we can contribute them to a product/team/discussion:

  • code reviews
  • slack messages
  • documentation
  • user stories
  • stack overflow postings
  • ...

Being Able To Type Without Looking is not the same as Touch Typing.

Here I can only speak for myself:
I could type without having to look at the keyboard. It's hard to explain but always using the same finger for the same keys when touch-typing still feels very different from before. The actual typing requires not nearly as much attention as before, and I can focus almost entirely on the code instead.

Why Nobody Talks About Touch-Typing

Among developers, there are two main groups.
Many developers learned how to touch-type at an early age at school. Therefore they take touch-typing as given and are not aware of how much it impacts their work.
The group of developers that did not pick up touch-typing during childhood would need to invest a lot of time and energy, learning how to type before actually experiencing the benefits.
Learning how to type takes time. After typing without a system for years, most people are still able to type quite fast. As developers, we depend on our efficiency. Learning how to type means becoming much slower at first, and this can be quite scary.
Therefore there are not too many people that learn how to type as adults.
For myself picking up touch-typing was more than worth it. Because I benefit so much from this decision every day, I want to share my experience, maybe even encouraging somebody picking it up, it's never too late.

My Touch-Typing Journey

Because I built up some muscle-memory by typing without a system for all my life, I struggled to relearn my finger movements.
For that reason, I chose the most radical way possible:

COLEMAK for the win

I took all the vacation days I had accumulated and switched my keyboard layout from one day to the other from QWERTY to COLEMAK.
To be honest, this was hell. Suddenly I couldn't type at all. Looking at the keyboard was not helpful anymore at all, because the letters on the keycaps did not match their actual letters.
I struggled to type even short URLs into the address bar of the browser.

To slowly relearn everything, I used the site https://www.keybr.com/ by starting with the smallest keyset possible.
To keep me from looking at my hands, I printed out a COLEMAK schema and put it on the wall behind my monitor.
As I finally progressed to the full keyset on keybr, I switched to https://www.keyhero.com/ for my daily training.
After two weeks, I was still slower than before but at least fast enough to start working again without being afraid of not being able to keep up.
From there on, I went from 6 hours typing practice a day to only 2 hours after work. After another month, I stopped practicing everyday and only practiced occasionally.
It took me about four months until typing felt like something natural to me. Today I'm still not too fast (about 70 WPM), but I think speed is only a minor factor for the positive impact that touch-typing had on my work.

Let me Hear Your Thoughts

What are your thoughts on this? Do you agree or disagree? Why?
I'm interested in all kinds of thoughts, opinions, and experiences. But I'd love to hear from people that picked up touch-typing at a later stage of their life and whether you had similar experiences.

Latest comments (39)

Collapse
 
akhilkokkula profile image
Akhil Kokkula

Here's a good resource for touch typing code syntax: typing-code.com

Collapse
 
ranelpadon profile image
ranelpadon • Edited

Learned Touch Typing (1 month), Colemak DH keyboard layout (1 month), and Vim/Neovim last year on top of my full-time job as a Software Engineer. Really worth the effort and suffering. As a book author said, these stuff are more of an emotional challenge than physical/technical one. You'll really feel like shit in the first few days, but it's expected, and you must persevere and strategize. These stuff led me also to more productivity hacks using Karabiner Elements and/or Better Touch Tool apps.

Collapse
 
orimdominic profile image
Orim Dominic Adah

Thanks @davidsanwald Interesting.
I was thinking about typing skills for developers recently.

Could you please include a definition of touch-typing in this article?

Collapse
 
davidsanwald profile image
David Sanwald

I think there's no sharp/exact definition.
Just have to say, that I was able to type without having to look at my hands even before having learned propper touch typing. That said being able to actually type using propper 10 finger technique feels very different from the way typing felt before. Sure I could type without having to look but it still required much more attention compared to now.

Collapse
 
vtvh profile image
Hải

Been a Colemak user for over a year, I must say the typing experience is good. Although you somehow spend saved typing time to config apps that navigate using the default QWERTY layout (Vim for instance, but that easy to fix)

Collapse
 
pentacular profile image
pentacular

The simplest way is to use chat rooms in the dark. :)

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️ • Edited

I just type instinctively and still somehow get 82 WPM.

I do use most of my fingers while typing, which I assume is the most important part, except I rarely use my little fingers for letters and instead keep them mostly reserved for the shift key.

Most importantly though, I've noticed that typing speed does automatically increase when you stop looking at the keyboard, as you save the time of visually targetting where your fingers need to go, and it allows you to focus more on the text in front of you, which is usually what you care about.


EDIT: After breaking my last keyboard, I decided to not get one of those glowy gaming-keyboards, but a simpler design. I ended up getting one that had completely unlabelled keys (Das keyboard 4 ultimate, in case anybody cares) and on top of looking pretty nice, it made me realize that I was still looking at the keyboard when placing my hands on it to start typing, which is probably the most crucial moment after having a thought to not get distracted. A few days later, I was used to just feeling for F and J without taking my eyes off the screen :D

(Fun fact: As I was typing the above paragraph I spent at least half a minute looking out the window while typing, which I found helps me a lot with focussing on what I'm trying to express.)

Collapse
 
fernandosonego profile image
Fernando Sonego

It is true, all the time I tell my team to use all fingers to write. Some use only 2 fingers, others cross their hands.

Collapse
 
vahtras profile image
Olav Vahtras

I took a typing class in 7th grade, with mechanical typewriters, before computers. In retrospect a wise investment, probably the skill from high school I value most today.

Collapse
 
csexton profile image
Christopher Sexton

Thanks for the post, I loved reading it. Especially the resources for helping learn. I had been looking for a few basic not-so-gimmick-y options, and these two look like they fit the bill.

Collapse
 
jwp profile image
JWP

In college I took a semester (10 weeks) of typing. We met 3 days a week in a one hour class led by a professional typing instructor. Total class time was 30 hours.

Total homework practice was about 90 hours.

This amounts to 120 hours of work total.

The payoff has been 30 years of excellent work as an IT Software Developer . One of the best investments in my life.