I recently joined Basecamp as a developer on the Core Produce Team. We develop new vegetables, ship them to our customers, and do our best to ensure there are no bugs in the shipments.
Oops, I think I messed that up. I’m a developer on the Core
There are certain words I always seem to type incorrectly. My muscles learn the wrong thing, and never seem to unlearn the mistake. I often mess up the word “product”, for example, and type “produce” instead (I’ve already done it once while writing this, and not even in the intentional places).
I don’t normally give it much attention—I fix the error and move on—but a joke about lettuce after a recent typo got me thinking.
When I make a mistake playing an instrument, I don’t fix the error and move on. I know that the mistake will keep happening—and is especially likely to creep up during a live performance—unless I stop to analyze it, isolate the problem, and retrain my muscles to do the right thing. It’s quite similar to the process of fixing a bug in software.
So why not use the same approach here? What’s involved in typing the word “product”? And how can I avoid accidentally starting a “produce” team at Basecamp?
Here’s how I type the word (using a QWERTY keyboard):
- “p”—right hand, pinky finger, top row
- “r”—left hand, pointer finger, top row
- “o”—right hand, ring finger, top row
- “d”—left hand, middle finger, middle row
- “u”—right hand, pointer finger, top row
- “c”—left hand, pointer finger, bottom row
- “t”—left hand, pointer finger, top row
What I notice right away is that up until the last letter (the one that I mess up), I alternate between the right and left hand. The alternating part is pretty easy—each hand has plenty of time to get in place for the next letter.
The right hand is especially easy, since it’s all in the top row, and each letter uses a different finger. So it makes sense to me that I’m messing up the left hand and not the right.
In the spot where I mess up, the left hand has to type two letters in a row, jumping from the bottom row to the top row. I’ve made this especially difficult by using the same finger for both letters—I’ve got to sort of bounce off the “c” to get up to the “t”.
The word “produce” is a bit easier because I use two different fingers (“e”—left hand, middle finger, top row). I can get my middle finger ready ahead of time, without needing that bounce off the pointer finger. It seems like my muscles are skipping the hard part, and going with something easier that they already know how to do. So what can I do to fix it?
Well, in this case, I think I’m pressing “c” with the wrong finger. Why am I using the left hand pointer finger instead of the middle finger? Switching to the middle finger makes it much easier to navigate the leap from the bottom row to the top. I still end up using the middle finger twice in a row with the left hand, for “d” and “c”, but the right hand “u” in between gives me plenty of time for that.
So I’ve identified the problem and come up with a more efficient approach. Am I done? Well, no. If I want the new approach to stick I’ve got to teach it to my muscles. A few times over the next couple days I’ll take a minute to type out the word “product” several times with the new fingering, gradually increasing the speed. I’ll also try to be mindful each time I type the word (typing this post gave me some good opportunities)—slowing down to mentally prepare the motion before executing it. In short, I need to practice.
Whether this works romaines to be seen, but lettuce hope for the best.