I was listening today to one of Scott Hanselman's awesome podcasts with Miguel de Icaza and during the show they discussed things that you really should invest in. One list that came up was a good bed, a good chair, and to learn to type. Most of us spend 1/3 of the day in a bed and 1/3 of the day in a chair, so they seem like no-brainers. Typing is an interesting addition to that list.
Back when I was in school, in those sexist old days, typing wasn't something that the boys learned. It was something that was taught to the girls, and mostly to those that weren't heading in an academic direction. Up until about 1990 I was a pretty fast two-finger typist (probably more like a four-finger typist). I could cut code pretty quickly and I wasn't too concerned about it. Occasionally though, I kept feeling that I could do much better if I learned to type. Eventually I convinced myself that if a sizeable percentage of the population could do it, surely I could learn.
Is it hard to learn?
At that time, some pretty decent typing programs for the PC had started to appear. I decided to try to learn to type and chose TypeQuick. It's interesting (and good for them) to see that they still exist today. So many applications from those days have long since gone. I particularly liked the way that it constantly pushed you just a little bit faster than what you were achieving. I haven't tried the program since then but I hope it's just improved over time. But regardless, there are many of these types of programs around.
But then the real problems began. Most of these types of programs assume that you can spend an hour a day learning to type, and in a few weeks you'll be able to do so. The implicit assumption though is that's the only time that you'll be typing during that time. The hassle with this is that if you type for a living (by cutting code or interacting with IT systems), spending an hour a day doing it the right way, then the rest of the day doing it the wrong way isn't a formula for success.
I decided that I needed to break that impasse. Early one fine Sunday morning, I started doing the course and I kept going until I had pretty much finished the course, at around midnight. By then I could barely move my hands at all but I had learned all the basics.
What I hadn't figured on though was that the hardest part was to come. During the next four weeks or so, I had tight deadlines that I knew I could meet by typing my old way, and yet I had to force myself to type correctly, even though it was at a fraction of the speed that I could do the wrong way.
I did force myself to put up with the stress and after about four weeks I was back to about the same typing speed. The brilliant part is that I was then able to keep getting faster and faster. I'd probably now average about three or four times faster than what I could do in my heyday of four-finger typing.
What difference does it make?
Clearly if you are writing a bunch of code, you can do so much more productively but there are also many subtle improvements in what you achieve, not just how quickly:
- You are much more likely to use clear (but often longer) names for objects
- You are much more likely to write documentation while coding (Miguel noted that people who can't type tend to always put off tasks like documentation and I have to say that I've seen the same)
- You are much more prepared to throw away code and replace it with better quality code (I've noticed that people who don't type are much more likely to cling onto their first attempts at any piece of code)
- While it's possibly an even more minor point, you will simply seem more professional to those that you work with. Professionals invest time in skills that matter in their profession. If you're reading this, chances are that typing is in that category for you.
I'm really surprised that typing isn't considered a core skill for IT people today. Perhaps there will be a time in the future when it won't matter but it does matter today. Curiously though, it's often viewed as a less-important skill to master. But those who have done so will all tell you how important it is.
When I worked at a university, I was pushing for students to learn typing in the first two weeks of their Computer Science degrees. The idea was almost mocked by most lecturers as typing wasn't something that was taught by universities. Yet the same university struggled to have enough resources for students to use, and the resources they had were tied up by people that took forever to type anything. The real irony is that in most courses, there isn't much other useful work that the students could do in the first week or two anyway.
So, if you have made it to this point in the blog, and you can't yet type, I hope that you'll consider it.