Touch typing series, part 1
Andrew O
Table of Contents
Introduction
Hello and welcome to the first part in the touch typing series. In this series of articles, I will share my experience learning touch typing from 0 to 100+ words per minute (wpm), the approach to training and benefits of it for software engineers and people who type a lot.
Touch typing is a technique of typing without ever looking at the keyboard. This is achieved by assigning a specific set of keys to each finger, and the keys do not overlap, at least at speeds below 80 wpm. This way, by training and developing muscle memory, you can achieve high typing speed and accuracy, using all ten fingers.
In this series, each part will be focused on reaching a specific milestone and the aspects of the learning process that are relevant to that milestone (for this part, we aim at 40wpm). It doesn’t mean that the old ones are not relevant once you surpass the milestone, and also it doesn’t mean that you shouldn’t use more advanced techniques from the beginning. It’s more of a guideline and a way for me to structure the learning process, and to make it easier for you to follow along.
I have started on this journey a few months ago and am currently around 80 wpm. I will share the tools and techniques that helped me to get there, and some benefits and side effects of touch typing that I have discovered along the way, like improved speech.
Why touch typing
I’ve been an embedded software engineer for 7+ years, and I have always been a fast typer, however I had never learned touch typing and never felt the need for it. This all changed once I based my development workflow around vim (neovim).
In vim, you are encouraged to navigate and do pretty much everything using vim motions, which are fully based on the keyboard. This naturally brings you to the realization that you want to be able to navigate the code without taking your eyes off the screen, which means you need to know how to touch type. I might do a separate series on using vim for embedded development, but for now, let’s focus on touch typing.
Most likely you will use a keyboard in some form for the rest of your life, so it is worth investing time and effort into learning how to use it efficiently.
Platforms and tools for learning touch typing
During my journey, I have tried several platforms and tools for touch typing, and all of them are great in their own way. However, there is no one-size-fits-all tool, so I will provide a brief context of what each tool can be used for.
Typing jungle
This platform is a good place to start, in order to get the basics of touch typing and the initial muscle memory. Main benefit is a nice visual representation of the keyboard and the fingers, which is valuable in the very beginning. Also, the progression is very smooth and you can see where you are in the learning process.
Keybr
Keybr would be the next destination after the typing jungle, and a place to stay for a while. This platform offers a minimalistic interface, with more customization options. This is also an open source project with an active community, which is always nice to see.
Monkeytype
Monkeytype is a great platform for benchmarking where you are in your touch typing journey in terms of speed, accuracy and consistency.It is also an open-source project used by many to practice and compete in typing.
This platform is not necessarily for learning touch typing, but more for practicing and improving your typing skills. I would recommend using this platform once you have the basics of touch typing down and want to check or improve your speed and accuracy.
Be wary of what word list you are using for practice. If you only use the default one (200 most common words), that could have limited carryover to your actual typing speed and accuracy in the real world. Same applies to using the symbols, numbers and punctuation.
Ngrram TUI
github.com/wintermute-cell/ngrrram
Ngrram is a terminal-based touch typing trainer. This is a great tool for people who spend a lot of time in the terminal(like me), and want to practice touch typing in the same environment. This is my personal favorite for practicing ngrams, as it is very easy to use. Plus, how can you not like a tool with a cute ASCII cat?
Unexpected benefit of touch typing
Finally, I would like to share an observation I’ve made during this journey. I have suspected for a while that in order to improve your speech, you need to work on your fine motor skills, like playing a musical instrument or drawing. This approach is often used for children who have speech impediments. My hypothesis is that working on fine motor skills also has positive impact on speech in adults, and I have observed this in myself.
After a few months of touch typing training, I have noticed that my speech has improved. I am more articulate and can express my thoughts more clearly. I have also noticed that I am more confident in speaking in public. For now this is just an observation not backed by any source, but I’ll look into studies that could confirm this hypothesis.
Conclusion
In conclusion, touch typing is a valuable skill for software engineers and people who type a lot, especially if you are using vim or any other keyboard-heavy workflow. It is a skill that can be learned and developed over time, and the benefits of it go beyond just typing speed and accuracy. This skill is unique in that you will probably use it in one way or another for the rest of your life, so it is worth investing time and effort into it.
I will cover more tools and techniques in the next part, including the tools I developed for chord generation, so stay tuned. Next milestone will be 60wpm.
Have a good day,
Andrew
Recent Posts
Benefits, drawbacks, forearm pain
Andrew O
Remote plant watering with Raspberry Pi, 5$ water pump, and Tor network for remote access
Andrew O
Leave a comment
Need help? Get 1:1 live session on a trusted platform
Contact me on Codementor to schedule a 1:1 live session to help with your project or to learn something new.