We were taught to touch type in grade school, but I goofed off during those lessons. I got through college without needing it. I was a speedy point-and-peck typist, which was good enough for that period of my life.
Later on, when I learned to program, I found that my slow typing speed frequently caused me to lose my train of thought midway through a line of code. It was frustrating enough that I spent a month teaching myself to touch type. Basically, I took online typing tests over and over after work.
Since then, my typing speed has at least doubled. I don't look at the keyboard anymore, and I'm able to get my thoughts down with _much_ less friction. I can't recommend it enough.
Truth, typing quickly is crucial to getting thoughts out of your brain. Our brains think much faster than we type, so typing is our bottleneck. I am only at 60WPM (tops) and it really helps. It especially helps for the large majority of an engineering/programming job, which is not coding, but communicating.
Also helps writing code big time, but the big win is in communication, and as someone else mentioned during pair programming sessions.
You might more than you think. That was the case for me. Rearranging the key caps on my (non-laptop) keyboard quickly cured that, and is an interesting exercise when you can afford it.
Idea for someone looking for something to build, on my list but probably won't prioritize it for many years as I'll build it eventually but would welcome someone else building it. If anyone wants to work on this ping me and maybe I can help collaborate/mentor.
Typing App for Engineers, MVP:
* Load a canvas with a preloaded code snippet, the text is mostly greyed out
* When typing your text shows over the greyed out text, but darker, red if the character doesn't match
* Time how long it takes to type it perfectly
Gold plating:
* Users can login
* Users can upload own code snippets for community contributions
* Leaderboard shows top times and users for those who typed it perfectly, only perfect scores are registered, because code must be perfect or it won't run.
This could also allow an engineer to learn APIs while learning to type. I did this with 60 or so pages of Drupal code a few years ago. I used Compiz fusion's overlay opacity control to put a loaded code snippet into VIM,reduced the opacity of the window slightly, then laid another VIM terminal on top of it, reduced the opacity of that terminal window so I could see behind it and started typing the slightly greyed out text from the window behind.
Been meaning to put this out on my blog but this is a good start.
I was actually learning React around the time I was learning to touch type. So, naturally, my first project was to build a typing test[0] :) Looking back, I cringe at the code quality. But it worked and I had fun doing it. ¯\_(ツ)_/¯
I like the idea of typing out code though! I think there are some sites that do that, like https://typing.io/
SWEET! Typing.io is perfect and almost* exactly what I was intending to build. Can even upload own samples, and it focuses on working code, no typos. I think I'll actually pay for this too!
* It doesn't seem to have the social/competition/gamification aspect built in like Vim Golf.
Ah, sorry it took so long to respond—I was at work. I used KeyHero[1], mostly because the passages were interesting enough to keep me from getting _too_ bored.
I studied a few charts beforehand, but the repetition is really what made it sink in.
I used Tipp10 about 12 years ago when I forced myself to learn it. What worked for me is to do the basic lessons and then always use touch typing without looking whenever on a keyboard. You’ll be slower initially, but speed will increase over time.
I learned on https://www.typing.com/ (typingweb.com when I did it). One thing it doesn't do well is special characters and numbers though. We need a typing course for coders.
e.g. How fast can we type the below accurately?
function typing_test($foo = 'bar') {
return $foo
}
Later on, when I learned to program, I found that my slow typing speed frequently caused me to lose my train of thought midway through a line of code. It was frustrating enough that I spent a month teaching myself to touch type. Basically, I took online typing tests over and over after work.
Since then, my typing speed has at least doubled. I don't look at the keyboard anymore, and I'm able to get my thoughts down with _much_ less friction. I can't recommend it enough.