My Experience Learning to Touch Type
About a month ago, I was introduced to a peer at university who blew my mind. He is an adept touch typist who clocked in speeds of over 130 words per minute, all without looking down at his hands. This opened my eyes as, although he’s the same age as me, and despite the fact we’d been programming for a similar amount of time, he was able to easily outpace my roughly 50 words per minute. This made me realise the potential level of productivity that I was missing out on, and motivated me to start a journey to pick up these same skills.
Motivated to reach the same level as my peer, I embarked on my quest using platforms like TypingClub, Monkeytype, and Keybr. During this time, I made a resolution to never look at my hands whilst typing again, and initially my speed took a nosedive. It was a humbling start, but my perseverance was key. Slowly I watched my speed climb as I got used to using muscle memory to type, and eventually I got back to that 60 words per minute, but now without the need to watch my hands. Admittedly it took time to get used to fully using all ten fingers and to stop myself from peeking at the legends on my keyboard, but now that I could type with proper form, it felt amazing.

During my exploration of touch typing, I also by chance encountered ThePrimeagen, a notable programming YouTuber who used this weird software to type without a mouse. This piqued my interest and I soon found out about the Vim text editor and motions. Put simply, with Vim, typing is split into two basic modes, Normal and Insert. The latter being self-explanatory, which is just normal typing, but Normal mode allows you to move the cursor around the screen with different keyboard shortcuts. These shortcuts can chain together to allow for any conceivable action you might want to take, and is greatly more versatile and quicker than a mouse. Again I felt as if my mind had been blown, perhaps even more this time, and this seemingly new arcane way of typing made how I did it previously seem like I had been a caveman smashing rocks together. Watching ThePrimeagen type with a mastery of Vim motivated me again to improve my typing, this time through the avenue of learning these Vim “motions”.
I soon started practicing Vim motions alongside my touch typing, and I aimed to improve my programming speed. These motions, once mastered, enable a programmer to navigate and edit code with insane speed and precision. It’s like developing a fluency in a language, where your fingers instinctively know where to go, turning every keystroke into a purposeful action. Currently, I’m not the most knowledgeable of all the available motions, however I have now reached a point where I am more comfortable typing with Vim motions than without. It has greatly improved my speed in which I navigate a text editor, but also has the bonus side effect of improving my sense of flow whilst programming. Now that I don’t need to actively think as much about what I’m physically doing, like moving the mouse to see the quick-docs of a function, or refactoring code, it leaves me in a better state of mind to focus on the problems at hand.

Whilst further researching tips for touch typing, I discovered a YouTube video by Code to the Moon, which highlighted the benefits of split keyboards and custom key layers. This resonated with me as now that I could touch type, I could start to see some problems with my standard keyboard. Firstly, the thing that tripped me up the most while typing was the weird angled offset that keys were placed, causing me to often press the wrong key. It just feels unnatural to me and there is no pattern to the placement of keys which makes the muscle memory finger to finger slightly different. Secondly, now that I was typing with proper form, it bothered me that my most dexterous and strongest digits, being my thumbs, were used for the least amount of total keys. To me, this seemed like backwards logic with keyboard design, as surely you want to give these fingers the most amount of work. This pushed me to research into ortholinear and split keyboards, ortholinear meaning that all the keys are aligned within a grid. Among the multitude of options, the Glove80 seemed the ideal choice to me, and so I decided to bite the bullet and give it a try. It’s designed to have an ortholinear layout for natural finger movement and a curved key well to minimize key travel and strain, as well as has customisable firmware allowing me to tailor the keyboard to my exact typing preferences. After having got used to it and using it over a couple of months, I can say it has been fantastic and typing feels even more natural to me now.

This series of events has taught me something valuable. To not be afraid to try new things, and that discovery/improvement is a constantly ongoing process. Something as mundane as typing, that I’d never even previously considered as a skill that I could improve, was something that I still had room to grow. I will try to apply this logic to everything that I do from now on, and hopefully become a better developer because of it.