Random Thoughts About Typing for Programmers
I am enrolled with
Penn Foster
⿻
in a
Programming Certificate Course
⿻
and I also have to get a new job as an Office Assistant so I started my typing practice again. The thought crossed my mind and I wondered how typing affects the performance of a programmer. Will it make him a better programmer if he can type 60 wpm? or perhaps it doesn't matter. At the moment, I type 45-50 wpm but I'm practicing so that I can get better because I think it can't hurt to get better. In fact, theoretically a person that can type faster is going to be a better programmer than someone who uses hunt and peck to find the symbols on the keyboard needed to write a program. I did some searching to see what other professional programmers had to say about the topic and found most blog writers agree that faster typing can make someone a better programmer.
"So if you want to become a great programmer, start by becoming a great typist." -
Jeff Atwood
⿻
I had been thinking about this subject for a while and wondered whether I would be a good programmer because I was good at typing.... probably not, but it helps when you don't have to look at the keys to insert the symbols in a program. Later Atwood says, "This is about reasonable competency at a core programming discipline." So it isn't
THE core skill, but it is one of the core skills Atwood feels all programmers should have.
A much more pithy article written by Steve Yegge states that there are programmers that will talk behind your back if you can't touch-type. Which was also a conclusion I assumed as well. I mean, your boss won't hire you just cuz you can type 120 wpm, but if your buddy in the other cubicle sees that you keep looking down everytime you want to write an open or closed bracket then he's going to laugh at you. Surely!
Steve
⿻
says,
"non-touch-typists have to make sacrifices in order to sustain their productivity." I read a long forum-like list of comments on that page and many programmers are apparently 2-finger speed typists. A couple of them claim they can type 120 wpm with only 2 fingers on each hand! Some people were also very adamant about programmers being good at touch-typing. I finally commented that typing is useful in every aspect of a programmers job, but that more useful was that they could respect their teamates even if they could (or could not) touch-type. So Jeff Atwoods assertion that if you want to be a great programmer, start by becoming a great typist is very true.
David Adamo Jr.,
⿻
another programmer, makes a great point in his blog that a person should at least be able to be an efficient typer, even if they do not follow the touch-typing technique. And as far as the skill of typing goes, I totally agree with David. However, I will still keep practicing until I'm back up to 60 wpm including the symbol keys.
As a final thought, and observation of typing tests, when you are typing for a typing test you are really not thinking at all, you are just inserting the symbols on the keyboard that you see on the screen. But when you code a program, you have to think about the structure, and say to yourself as you type, "Ok, I put this parameter here so that 20 lines later it will be available to call from the next part of the program, and I have to remember to code the references to the program Jim is writing over in his cubicle too." Not nearly the same as copying what you see on the screen. Also different from when you are chatting on YM with your friends because that is a conversation, not necessarily the same as writing code or even an essay. So in the end, a programmer needs to be very comfortable with his ability to insert into the code exactly what he wants, when he wants it, and without having to look down at his fingers. He really needs to be able to watch the screen to make sure he doesn't misspell a variable or something like that.