If there was one piece of advice I could give to someone considering a career in software development it would be: Learn to f$%@cking type! Knowing how to touch type is the single most valuable skill that a developer can possess.
Typing allows you to concentrate on what you’re coding rather than how to get the characters on the screen. In other words, you’re able to think about the code rather than thinking about where to find the letters on the keyboard. Jeff Atwood and Steve Yegge both make the same point.
I have had the privilege of working with some great developers over the years and they all share a few common traits.
- They can all type.
- They all read books, both technical and recreational.
Doing these things will not necessarily make you a great programmer but it will establish a pattern of learning that will help you get a little bit better each year.
I find it astounding that there are people in IT who haven’t bothered to learn how to type. It is just plain lazy. Learning to type only takes about an hour per day for a few weeks, along with a little commitment to practice it every time you’re at a keyboard.
As developers, the keyboard is the tool of our trade. Would you hire a carpenter that couldn’t use a hammer? Or as Jeff Atwood put it, “When was the last time you saw a hunt-and-peck pianist?".
Once you can type efficiently a whole world of keyboard shortcuts opens up and the mouse is relegated to a cumbersome annoyance that slows you down. Thoughts seemingly turn themselves into code.
You get to feel like Neo when he became one with the Matrix.