by Matthew Burfield
I learned to touch type at the ripe old age of 29. Was it worth it?
I recently read an article that said, in it’s simplest form, that programming is just pressing keys on a keyboard.
Fundamentally, programmers are typists! We just happen to press the keys in a specific order that allows compilers to read the combinations of characters, and convert them into machine code.
Therefore, if you are a slow typer, it won’t matter how great your IDE is, or how great your text editor is, or how productive you think your workflow is. You’ll always be bottlenecked by your typing speed.
Now, I’ve heard the argument made that, as a programmer, typing speed isn’t so important. You should spend most of your time thinking about a given problem/solution, as opposed to actually typing.
I tend to agree. But, all things being equal, I’d still rather type faster so I can get on to the next problem as quickly as possible. After all, over the course of my career, I plan to be writing tens (if not hundreds) of thousands of lines of code. That’s a lot of typing.
Assessing my skills
Don’t get me wrong, my typing speed wasn’t horrible. I was typing at around 40 words per minute, which is apparently right around the average (although I couldn’t find any definitive sources). I could even mostly type without looking at the keyboard. Over the years, I had developed a pretty sketchy style where I used four fingers — my two index and middle fingers.
I instinctively knew where they alphabetic keys on the keyboard were, but would still need to look down every now and then. Especially for numbers, symbols, and punctuation (commas, full stops, etc).
I knew I could be more efficient. What was the harm in attempting to type with all ten fingers for a month and seeing how it went? I could always revert back if I didn’t see any improvements.
So, at the ripe old age of 29, I decided it was about time I taught myself how to touch type.
Getting started with the right program
I did a Google search for learning to touch type, and the first website that came up was TypingClub. It’s free and has a nice interface, so I went with that.
It’s been nearly a month since I started, and have put 14 hours and 44 minutes of practice into it.
As you can see, I only started on the 31st of July, and my speed (wpm — orange line) has been steadily increasing over time.
After only one month, my typing speed has already improved by 10wpm. My code coverage of the keyboard has gotten better, too. It hasn’t exactly been smooth sailing, but it hasn’t exactly been hard either.
Here are my notes from each week.
Average typing speed for the week: 15wpm
The first few days were pretty basic. I started off learning one key at a time. Progression feels quick as you learn knew keys — after an hour or so of practice, I already had three quarters of the alphabet under my belt. Typing felt pretty good and it was relatively easy.
But attempting to use my newly acquired typing skills in the real world was a total disaster.
Not only was I slow, but I was incredibly inaccurate. This made everything I did super unproductive and frustrating. Needless to say couldn’t use my touch typing skills in the real world yet.
Average typing speed for the week: 22wpm
After the second week, I had covered all of the alphabet and some numbers.
But it was interesting: the shift key on the right side of the keyboard was totally foreign to me and I’d never used it before. With touch typing, you use the right shift to capitalize the left hand keys, and the left shift key to capitalize the right hand keys.
Typing in the real world was still too slow. I still hadn’t had enough practice typing on all the keys, especially symbol keys which are used all the time in programming.
Average typing speed: 39 wpm
Week three down and I’ve finally covered the entire keyboard. I’m already typing as fast as I was before I started. It’s crazy! After only three weeks of deliberate practice I’m already typing as fast as I was with my old method.
I’m even able to start touch typing in real world scenarios!
There are two major things slowing me down at the moment:
- It takes me a second just to line up my fingers over the right keys. I have to position my left fingers over the a,s,d,f keys, and my right fingers over the j,k,l,; keys. It’s important that I position them correctly first, as otherwise my accuracy goes waaaaaay down.
- In touch typing, you use your right pinky finger for a bunch of keys (see below). I’m still pretty inefficient and inaccurate at hitting all of them, and I use them all the time in programming.
That’s a lot of ground to cover for the right pinky. And it will definitely take me a while longer to get efficient with it.
It’s no surprise that TypingClub shows my right pinky finger to be my least efficient finger.
So far, I’m about 70% of the way though TypingClub. There isn’t really anything more to learn, so it’s just practice at this point. I’m going to try to finish it. I’m currently typing at around 50 wpm on average, and my best has been around 61 wpm. My accuracy usually hovers around 95%.
I think this one-month investment to upgrade my typing style has been well worth it. I saw my typing speed improve dramatically in weeks three and four, with the potential now for it to improve even more.
I’ve already surpassed my previous typing speeds, and can use my touch typing in the wild now without feeling frustrated.
The most annoying part of touch typing right now is that, most of the time, I’m only typing small amounts. Like, a couple of words. And it takes a relatively long time just to position my hands correctly on the keyboard. No doubt this will improve over time as I continue to get more familiar with touch typing.
I also need to improve my accuracy for numbers and sybmols — but again, this will come with time.
Overall I’m really thankful I took the time to upgrade this skill. I’m sure it will server me well over my career.
If you enjoyed this post, please give me some claps so more people see it. Thanks!