That was a rare very good decision for kid me back then, and it's paid off ever since.
What really turned me into a touch-typist was all the arguing I did over dial-up internet the next summer.
With the amazing amount of client-side scripting the game supported, people made their own variations on the communications system, even carefully playing audio clips over one-another to get new speech.
I measured myself the other day and I can do about 110-115 WPM, which I think is pretty impressive for a 50 year old who last took typing classes at 15.
She was right.
I probably had enough cachet with the teachers that I could have weaseled my way into taking it until I passed, but I did pass it, so problem solved.
I did the pricey split keyboard thing. One advantage there is that my vertical mouse sits between the keyboard halves which means I don't have to "reach around" to grip it which has saved a whole bunch of muscle movement.
I found a regular mouse instead, but a decidedly asymmetrical one. This way my hand can stay in a less pronated position while still controlling the mouse the way I am used to.
I thought I invented it, but I've since seen occupational health and safety websites recommend alternating.
Here's a link to an Australian gov PDF: https://www.comcare.gov.au/about/forms-pubs/docs/pubs/safety...
I've seen it in NZ too. I think they suggested swapping the mouse buttons but I prefer to just leave them and do my left clicking with both fingers when using my left hand.
Instead of the endless search for the perfect static posture, just keep moving the various joints now and then. Adjust your elbow or wrist or the desk or the chair every now and then. This can make you look "unprofessionally" seated if you take it far enough so hopefully your workplace doesn't mind that.
Even if you are moving between multiple so-called "bad" postures, you'll be much better off compared to just being static in a "good" posture for 4 hours.
I lowkey judge any developer who is noticable slow at typing as I can't imagine they're using a computer effectively at such a pace given how much keyboard hitting needs to occur during regular use alone.
Not that it's a high bar but I'm surprised more companies don't test wpm when hiring over rote crap like LC.
Yes, developing complex systems is about thinking, not typing. But human head only fits so much, and once you pick up a tool to externalize your thinking, be it pen and paper, or text editor, or a whiteboard, you're limited by I/O. Reading is by far the fastest part, but if you're typing (or sketching) slower than you think, your entire thought process is now I/O bound.
There are many ways to improve this - with editors, you can use shortcuts, compose complex commands, use autocomplete, etc. - but the nice thing is, most of these improvements are purely additive. So it really doesn't hurt to learn to type faster than you think, and it'll definitely help some.
At some point I realized that linear writing (typing or writing on lined paper) does not have the flexibility to express the thought processes that I want to commit to writing.
Now I write on blank paper (or an iPad if the thinking needs to be active for a long period of time).
I might be I/O bound but at least this way I don't need Serializable thoughts.
When effective comments, appropriate variable names, and the like can flow effortlessly from your fingertips, you're more likely to use them. Plus you're not expending your precious mental energy on the mechanics of typing out your ideas.
despite industry motion to the contrary, the truth is that we really can build anything we want. if we just weren't such cowards about it
Also, if I leave WASD for home row I quickly feel pain. Seriously, place the middle finger on W (alao used for S), ring on A, and indicator on D. It's so much more ergonomic it's insane.
I try to avoid the mouse, but I usually queue (mentally) a lot of keypresses at max speed, while the only bottleneck is the loading speed of the computer.
For example: alt tab (change window to browser), fn+F5 (refresh website , Ctrl Shift (change brower tab), fn+f5, ctrl shift tab (back to original tab), alt tab (back to editor or command line), etc...
my understanding of the homerow style is that you have a sort of assigned finger for each key. while I type, there is plenty of overlap between fingers and it's constantly adapting based on where my hands are currently vs resetting to one position
And, yeah, 120-150wpm. I wonder if "kids these days" don't type as fast because they didn't grow up with IRC and AIM and so on. Of course, they're way faster with their thumbs than I am. My phone typing started bad and gets worse every year (somehow).
So it's not too far from home row but definitely something more influenced by my gamer days than any formal typing lessons. Just tried a web based wpm test and got 90WPM at 95% accuracy. Used to be around 120WPM in my college days where I typed more essays, but these days typing speed isn't close to the bottleneck so not much need for faster typing and I guess it's atrophied some.
I suppose for emitting boilerplate or other ceremonial code LLMs serve as an augmented "copy/paste from stackoverflow" and increase your KLOC/time, but this is not really an interesting metric and production of source code was never the rate-limiting step in creating software.
Taking into account that the file may not exist or error half way?
Taking care that your buffer doesn’t overflow or simply eat all your available ram?
Do you only work with trusted inputs?
Also- in my experience so far, LLMs do a far better job of accounting for things like this than I do.
For example I had claude 4 write something to recursive search the whole filesystem on a windows 11 machine and included a few checks for windows 11 file system specific things I wasnt aware of
I ended up with a technique that had my whole hand shifted to be over WASD like when gaming with pinky only used for modifiers. It was even worse for my right hand as only recently I actually monitored how I typed, and I highly underuse my ring and pinky fingers on that hand. Worst part is I never use my thumbs for spacebar, I found out I literally shift my entire right hand to use my index finger every time I hit spacebar.
Despite all of this I regularly typed ~120wpm. I think when it comes to speed almost everybody adopts at least some peculiar techniques.
I only say typed past tense because I recently got into split ergonomic keyboards with keywells and columnar layouts and my old typing technique literally just does not work. I had to learn how to "correctly" type from scratch, but relatively quickly got to the similar speeds. Now I can easily swap between the two techniques depending on whether I'm using my laptop keyboard or not and type almost the same speed, I'm still a tad bit slower using "correct" technique. But I will say it is a hell of a lot less movement and tension in my hands typing correctly.
The desire to type faster is a strong signal indicating that you need better macros.
Typing speed is not a limiting factor for writing good software. And I say that as someone who can type faster than most of my peers
You are not considering all of the indirect effects. I.E.
Someone who types twice as fast is more likely to be comfortable to throw in that extra line of docs/comments that explains that whacky line of code.
Someone who has taken the time to improve the speed of the thing they are supposed to do for most of the working day, is a little more likely to be someone who cares about their job.
Unpopular opinion nowadays: This bottleneck is what makes needlessly verbose programming languages annoying. Having to wait for your fingers (or eyes) to catch up with your toughts tends to kill the flow.
I used to find it difficult to a lot of things, until I practiced enough to be able to do them, which is usually what that predicate implies. It's like people that say they have to use one foot for the brake pedal and the other for the accelerator because they find it difficult to use one for both.
Easier said than done.
Edit: note if you are a typist and transcribe a lot of text for long periods of time without break, typing speed is important. But that’s mostly not any of us. But hey maybe I don’t write enough documentation and comments..
Try typing words like "number", "bus", "zany", "excretion", etc. and you'll soon learn why sticking with the "proper" fingering is absolutely idiotic if you want speed and comfort. You can waste time and effort moving the "right" finger all the way from the bottom to the top of the keyboard, or just hit the key with the perfectly usable one sitting there idle.
To elaborate, when typing "number" I use the index and middle finger to chord "nu", then "mb" is the next chord with the left index and right middle, which naturally pulls down my left hand enough that "er" is easily done as a final chord with the left ring and middle fingers.
Saving typing was never a value add for intelligent tab completion, it is mostly used for discovery and recall (what members does the type of this expression have?), not to accelerate your WPM. After around 20-30 wpm, typing speed is not a bottleneck in programming, but size of the API and how much you can fit into your head most definitely is.
Problem is, you run out of new simple code to write pretty fast and then you have to start thinking and typing speed becomes irellevant.
The contrapositive of this is that, if you don't type at 100+ wpm, intelligent tab completion and LLMs add a lot of value you wouldn't otherwise get. Most of us don't, so this ends up being a vote in favor of the AI.
I don't think I could Mimik a LLM. But I'm prompting fast so that helps
Not a fan, however, of the desire to disparage the "right" way of doing things that's done in this blog. I type the "proper" way, home row and all, and can reach 150+wpm with high accuracy. So, based on this evidence, you're wrong and would be better off having learned the proper technique...
is an argument which I could make, and the evidence would be true, but it doesn't sound extremely convincing, does it?