Relearning how to write: From 3 Fingers to 10
The Confession
For a long time, I lived a lie. I typed in a... let's call it "unconventional" way. I was writing with only three fingers on my left hand while my right hand was permanently glued to the mouse, occasionally diving in with two fingers for support. I never learned how to properly type on keyboard. It developed naturally. It was intuitive. It was comfortable. I kinda liked it.
The only limitation was my typing speed, which was between 40-55 WPM with >95% accuracy, changing depending on whether I was writing C++, plain English, or Polish. It was just enough for me to smoothly write my thoughts and communicate. For years, I rationalized this to myself: "Writing code is about thinking, not typing speed. I’d rather write three lines of smart code than 100 lines of mindless boilerplate."
The Reality Check
That excuse worked... until recently. The typing speed of my colleagues who use Generative AI in their daily workflow started to bother me. I was just falling behind them. I cannot just start use Copilot etc. to speed-up. I am personally conservative towards AI code generation (a topic for another rant). In order to ensure I didn't fall behind, I decided to do something with my typing. I decided to stop ignoring the reality around me, and start learning correct 10 fingers typing.
Additonaly: This my "wierd 3 fingers" technique was also the main reason I never got used to Vim motions. The concept of keeping hands on the home row felt just wrong to me, because my right hand was always seeking the safety of the mouse.
Plan: A 4-Day Bootcamp
I was unable to learn touch typing the "correct" way.
I couldn't afford to drop to 5-10 WPM at work. Pair programming at that speed would be irritating for everyone involved and extremely stressful for me.
Luckily, I had 4 days off. A narrow window to overwrite years and years of muscle memory. Which sounded like a great plan...
Days 1 & 2: Brain is not braining
I started with basic lessons in RapidTyping Just focusing on correct finger placement. This was extremely physically painful. My brain rebelled against me all the time which muscle memory learned for years.
On the second day, I experimented with other tools, but eventually I found Tipp10
- Which I highly recommend. It has the best finger visualization, runs cross-platform, and have ability to train on custom provided texts (for me, it was c++ snippets, and some commonly used sequences in daily job in PR comments and in chat).
Day 3: The Need for Speed
By day 3, I was typing correctly with 10 fingers... at an extreme speed of ~10 WPM.
Acceptable for Sunday-only internet user, unacceptable for a developer.
I realized I was too focused on the "art" of touch typing and not enough on raw throughput, which I need at job. At this point I would rather write with 30 wpm at 80% accuracy, than 10 WPM with 100% accuracy.
I realized that unless I could delete typos without fast comeback to home row (which was tricky at the beginning), I would never be fluent.
that was my main training for that day, after that I switched to monkeytype for learning speed. Result: ~25 WPM with >85% accuracy. Still slow, but I could finally reply to friends' messages without throwing the keyboard out the window.
Day 4: The Shadow of the tomorrow job
I switched to training with C++ snippets to simulate my actual job environment.
When I returned to work on Day 5, I was able to hit:
- ~35 WPM (>90% accuracy) in English.
- ~25 WPM (>90% accuracy) in Code.
It was hard. But I survived 3 days of actual work without getting fired.
Starting from day 5, I train every day: accuracy in Tipp10 and speed in monkeytype
Some weird things happening in my brain
Learning to accept mistakes, but not to much
I found that any error killed my momentum instantly. I had to learn to consciously let them go and accept wrong key mistake — but not too much, or I started drifting to the old wrong way of typing. It requires a thin balance of discipline and forgiveness, being focused and relaxed at the same time.
Chunking and Packet Loss
To break the 15 WPM barrier, I had to stop thinking in letters and start thinking in "packets". I consciously send instructions to my unconscious fingers for a sequence of keys.
- Too big packet? I forgot to keep to the home row or switch the order of characters, or hit another close key with correct finger.
- Too small packet? I write too slow or my brain stutters and I forgot where which key is and which finger I need to use.
I think It’s all about finding the right way to split each sequence/word, because each word and each sequence required other technique. moreover that packet size depends on my mood and tiredness.
The Metronome Hack
Rhythm for me is crucial. If I type too slowly, I get bored and lose focus. Too fast, and I panic. I found a Metronome to be a game-changer.
I used it in two ways:
- One click = one keystroke (starting from ~30bpm, now about ~90).
- Start a key sequence only on the beat, helping me enforce a steady rhythm without the pressure of hitting every single key on the click. (~30-60bpm).
Latency between brain and finger
The hardest part for me is detecting when my brain needs a millisecond to process the next sequence. In order to just slow for a moment and start writing faster after that.
If I force my fingers to move when the brain is buffering, I literally crash. It’s a weird state of "thinking about typing, but not thinking too much about typing" and If I over-control the process consciously, I forget how to write entirely.
for training this:
- I found that listening to slow but no too slow stable rhythmic music without any lyrics. like Vexento and being in something like psycho-trans works best for me. Of course alternating with silent training or metronome.
- Reading world and after that writing with eyes closed also do the job for me.
Where Am I Now?
I’m currently sitting at 25-45 WPM with ~95% accuracy. I’ve hit a wall. To jump over it, I need to resist the need of switching back into my old "3-finger + mouse" habits whenever the pressure rises.
My goal? Get back to my original ~55 WPM, but this time doing it the right way.
(I would write a longer conclusion, but honestly... I’m exhausted from typing this whole post with 10 fingers)