Typing Speed
One time after a friendly game of TypeRacer, a coworker asked me whether I thought typing speed mattered for work. I answered conservatively, "there's absolutely a minimum and faster generally means you can try more things per unit time, but the gains probably drop off pretty rapidly". It's been years since that exchange, but I was reminded of it recently, and, rather painfully.
Ten days ago, I retired my Kinesis Freestyle2 Blue and bought an Ergodox EZ. The price difference is rather steep, but I figured this thing will last me forever, unlike the cheaper keyboards I usually churn through once every 1–3 years. I also got it at a discount by buying pre-owned but "brand new" (and it does seem to be pretty much brand new).
I'm skeptical of ortholinear layouts. People say it's better because of the way we extend our fingers or whatever, but I suspect people mainly like it because it's more æsthetically pleasing and packs better. But let me tell you, the adjusment from staggered to ortholinear is significant. And in the holy-crap-do-I-even-know-how-to-type way.
The layout that I'm using is very close to a regular QWERTY keyboard, and I'm already accustomed to a split keyboard. On my Freestyle2, I regularly clock 120 WPM or more on TypeRacer. Day 1 of using the Ergodox, I was crawling at 50 WPM (RIP avg WPM...). I was prepared for a drop-off going in, but I'm still shocked. I can only imagine what it'd be like for someone coming from non-split keyboards.
I went all in on using the keyboard 100% of the time, for work and for personal use, and I can confidently say this: typing speed absolutely matters for a software engineer. Before I offend anyone, I'd like to clarify that I don't mean to say that you can't be a good software engineer if you're not typing at 300 WPM. What I mean by "it matters" is that the 100 WPM version of you is much more effective than the 50 WPM version of you.
Besides writing code, a lot of my work involves Slack messages and writing documentary material. On the surface, when writing documents, typing speed is rarely the limiting factor.
Documentation
Here's some back-of-the-envelope math. Say I'm writing a 500 word document. I'll probably spend anywhere between 15 to 30 minutes on this, depending on how much I'm going to research and how much I'm going to rework the doc. That works out to be 17–33 WPM, well within reach for even non-touch typists.
What I've omitted though are all the words that were typed, deleted, retyped, and so on. I rework a lot because I almost always need to see all the darned words on the screen before I can assess whether it's any good. And I want it to be good (clear, helpful, descriptive) because a lot of coworkers are going to read this. And it usually isn't very good on the first try. And maybe I have a terrible writing process. In any case, I can easily retype things four or more times. Now we're looking at 68–132 WPM if I want to fit it in the 15 to 30 minutes!
Issue Tracking
That was for documents. Little documentary messages like comments in an issue tracker or descriptions of work items are usually shorter both in time and in words. Generally though, the more descriptive, the more helpful for future readers and the fewer meetings need to be had. When I switched to the new keyboard, I noticed I was starting to dread being more descriptive because it would take too much time. I'm not quite sure whether this experience applies to others, but if nothing else, typing faster saves time here.
Slack
Let's talk about Slack messages. This was what hurt me the most on day 1 of the new keyboard. A lot of work happens on Slack. The messages are conversational and full (as to not appear too brusque) and, often, the exchanges on Slack are rapid back and forth and too short for a meeting. According to Virtual Speech, people converse in English anywhere between 120–150 WPM. Unlike documents where my nominal content production rate is low — lower than many white collar workers' typing speeds — conversations happen faster than most people's typing speed. Not only was it frustrating to slow down some conversations, but I found once again I was starting to avoid entering into Slack conversations.
One could argue that the conversations probably weren't important enough to have or that the details in the issue tracker weren't important enough to include. But written communication can easily be misconstrued and I strongly believe that effective communication with all the little details is important for an effective team.
Coding
Communication is important, but something else shook me to my core. Just like how I was starting to avoid Slack conversations, I was also starting to avoid reworking code. Not only was I writing code very slowly (and this is not, in general, a bad thing), I was leaving it in a subpar state.
There's no substitute for planning and being thoughtful. Before coding, I certainly think about what needs to be accomplished, how the code will look, how it's going to be structured. The big pieces are there, but there's usually more than one way to do it. Trying those different ways out has given me the best results. But with the new keyboard, I was typing much more slowly and using shortcuts more slowly. It became costlier in terms of time to try different approaches. And when trying something out costs very little, we're more likely to try them. We feel better about throwing it out for something better. We're less likely to invest more subpar ideas (á la sunk cost fallacy).
Really, this whole thing is about being fast. When the primary interface to the computer is a keyboard, typing fast is a core part to being fast. So yes, typing speed matters, so don't overlook training to type faster.
Over a week has passed, and after training daily — the Oryx trainer for the Ergodox is decent and has a heatmap feature to inform layout reconfiguration — I'm back to 100 WPM and still working towards 120. Was it worth the switch for those sweet, sweet key switches? We'll have to see.
Want to Type Faster?
If after reading this, you're motivated to type faster, check out Phil's post on How To Type 100 WPM. Spoiler: it involves practice.