I can type, I just can’t type super duper fast. For years now I’ve been managing to get around 60wpm (70wpm if I really really push) without the use of my little fingers, which is fine for most things, but me being me, I want more.
Thinking about all the extra things I could get done if that went up to a comfortable and sustainable 80-90wpm gives me that warm and fuzzy feeling. So a week ago I purchased a copy of MasterKey and began the long road to proper form. I have to admit it was extremely hard and painful for the first day or two and I came very close to giving up, but six days later, I’m not that much slower then I was to begin with. At first I was down to about 25wpm but at least now I’m hovering just below 50 wpm which is fine for most day to day stuff and not slow enough that I feel the urge to revert back to my old style (sans little fingers). I still have some bad habits I’m struggling to get rid of, namely still using my ring finger for the backspace key and occasionally for the U key, but some habits die hard, real hard.
As a background, Steve Yegge wrote an interesting article on the subject of typing a couple of weeks ago, saying that programmers who type slow make up for it through a lack of commenting and refactoring. By not possessing the ability to type fast, you’re just building up technical debt. While I don’t know if I whole heartedly agree, I can certainly see where he is coming from. I don’t think it’s a critical skill to have, but I think it can, to some degree, display a programmer’s level of mastery of computers. Certainly, someone may have had a job that required them to know how to type, but for those that didn’t, typing is one indicator of time spent infront of a computer/interest in computers/willingness to learn the tools of your trade.
To expand on the last point a bit, I think learning the tools (not tricks, there is no magic here) of the trade is extremely important. Why would you not choose the path that offered a 10%, 20%, 50% or maybe even a 100% (!) increase in productivity. To not make that choice is beyond belief and deserves a shunning. Whether you wanted to take that gained time to make project improvements, read a book or even just kick back, why would you not do it. I don’t want to get into the subject too much now as it deserves another post in itself, but this is why I have chosen to improve my typing skills. To move that one step closer to mastery and not feel impeeded by the tools that I use (Not counting the ones I have to use, blegh Windows).