Many believe that programming is all about complex algorithms and intricate problem-solving. But at its core, coding is fundamentally about typing. Programmers spend a significant amount of their time pressing keys on a keyboard, crafting lines of code that compilers then translate into machine instructions. Therefore, mastering the skill of typing, and specifically learning to type efficiently, can be a game-changer for any coder.
If you’re a slow typist, you might be unknowingly limiting your potential. No matter how advanced your Integrated Development Environment (IDE) or how streamlined your workflow, your typing speed will always be a bottleneck. While it’s true that programmers need to dedicate ample time to thinking and planning solutions, efficient typing allows you to translate those thoughts into code more quickly and move on to the next challenge. Over a career, the lines of code you write accumulate significantly, making typing speed a crucial factor in overall productivity.
Assessing My Typing Skills and Deciding to Learn Touch Typing
My initial typing speed wasn’t terrible, hovering around 40 words per minute (WPM), which is considered average. I could type without constantly looking at the keyboard, using a self-taught four-finger method with my index and middle fingers. However, I still relied on glancing down for numbers, symbols, and punctuation.
Recognizing the potential for improvement, I decided to embark on a journey to learn touch typing. The goal was to utilize all ten fingers effectively. I figured a month of dedicated practice would be a worthwhile experiment, and if it didn’t yield results, I could always revert to my old style. So, at 29, I committed to learning this fundamental skill.
Getting Started with an Online Typing Tutor
My search for resources to Learn To Type led me to TypingClub, a free website with a user-friendly interface. It seemed like the perfect starting point. Over the next month, I dedicated 14 hours and 44 minutes to practicing with TypingClub.
The results were encouraging. As the stats from TypingClub show, my typing speed steadily increased from the start date of July 31st. In just one month, my typing speed improved by 10 WPM. My keyboard coverage became more comprehensive, and while there were challenges, the overall process was manageable.
Week-by-Week Progress in Learning to Type
Here’s a breakdown of my experience each week as I learned to type using TypingClub:
Week 1: The Basics of Touch Typing
Average typing speed for the week: 15 WPM
The initial days focused on learning the home row keys and gradually introducing new letters. Progress felt rapid as each lesson added more keys to my repertoire. Within hours of practice, I had covered a significant portion of the alphabet. Typing felt relatively smooth and easy during these initial lessons.
However, attempting to apply these nascent touch typing skills in real-world coding scenarios was a frustrating experience. My speed plummeted, and accuracy suffered significantly. This made even simple tasks feel unproductive. It was clear that practical application required more time and practice.
Week 2: Expanding Keyboard Coverage
Average typing speed for the week: 22 WPM
By the second week, I had learned all the letters of the alphabet and started incorporating numbers. One interesting challenge was adapting to the right shift key. In my old typing style, I primarily used the left shift key. Touch typing emphasizes using the right shift for left-hand keys and vice versa. This required conscious effort and muscle memory retraining.
Real-world typing remained slow. I still lacked sufficient practice with all the keys, especially the symbol keys crucial for programming languages.
Week 3: Reaching My Previous Typing Speed
Average typing speed: 39 WPM
Week three marked a turning point. I had now covered the entire keyboard layout in TypingClub. Remarkably, my typing speed was already back to my pre-touch-typing level! In just three weeks of focused practice, I had matched my old typing speed using a completely new method.
More importantly, I started to feel comfortable using touch typing in real-world coding tasks. Two primary factors were still hindering my speed:
- Hand Positioning: Initially, it took a moment to correctly position my fingers on the home row keys (ASDF and JKL;). Accurate positioning was crucial for maintaining accuracy.
- Right Pinky Finger Challenge: Touch typing assigns numerous keys to the right pinky finger, as illustrated below. This finger, previously underutilized in my typing, was now responsible for many symbols and punctuation marks common in programming. My efficiency and accuracy with these keys were still lagging.
TypingClub’s finger mastery analysis confirmed the right pinky as my least efficient finger, highlighting the area for further improvement.
At this stage, I was about 70% through the TypingClub curriculum. The remaining lessons focused primarily on practice and refinement rather than introducing new concepts. My average typing speed was around 50 WPM, with bursts reaching 61 WPM, and accuracy consistently around 95%.
Conclusion: The Value of Learning to Type for Programmers
Investing a month in learning to type has proven to be incredibly beneficial. Weeks three and four saw significant improvements in my typing speed, and the potential for further gains is evident. I’ve already surpassed my previous typing speeds and can comfortably use touch typing in my daily coding work.
The initial slowness in positioning my hands for short bursts of typing is gradually diminishing with practice. Improving accuracy with numbers and symbols will also come with continued effort.
Overall, dedicating time to enhance this fundamental skill has been a worthwhile investment. Faster and more efficient typing will undoubtedly serve me well throughout my programming career. Learning to type is not just about speed; it’s about improving overall productivity and reducing frustration in the long run.
If you’re a programmer looking to boost your productivity, learning to type or improving your typing skills is a highly recommended endeavor. The time invested in learning to type will pay dividends in your coding journey.