The keyboard is the developers palette. A keyboard, to a programmer, should be like an ax to a lumberjack. The keyboard is THE tool of the trade.
I think Atwood and Yegge are dead on in We Are Typists First, Programmers Second.
“I can’t understand why professional programmers out there allow themselves to have a career without teaching themselves to type. It doesn’t make any sense. It’s like being, I dunno, an actor without knowing how to put your clothes on. It’s showing up to the game unprepared. It’s coming to a meeting without your slides. Going to class without your homework. Swimming in the Olympics wearing a pair of Eddie Bauer Adventurer Shorts.” - Steve Yegge
Pondering on that post and that quote give me resolve to get better. A lot better. To be a master of the keyboard. I don’t merely mean typing speed either. I’m talking ‘efficiency of expression’.
The goal is to achieve the shortest possible distance between your thoughts and their instantiation. The aim is to create and construct at the speed of thought.
The two most impressive and inspiring things I’v seen on typing efficiency have been talks on Vim and Stenographic programming.
Note that these are not competing approaches. The stenotype (corded type) method builds directly on top on Vim.
What good is your proficiency on the keyboard if you’re constantly going to the mouse to adjust windows? I noticed this a few years ago and was ushered into the world of window managers.
Using a window manager is a game-changer. It was for me. My personal favorite is Moom (Mac only). I can now fully manipulate my environment without wasting time constantly fiddling with window sizes. This is why I’m a big fan of Alfred too.