Advertisement

Programmer at 40+?

Started by December 30, 2010 02:34 PM
58 comments, last by tstrimp 13 years, 10 months ago
Quote: Original post by tstrimp
Why do you assume typing faster leads to more typos? It doesn't. I would be willing to bet those who type fast are also more accurate than those who are less comfortable with their typing skills. More often than not, I don't have to think about typing mistakes. It feels wrong. My fingers know when I transpose letters even before I see the problem.

I would bet people trying to be fast make more errors than those trying to be accurate or even those not trying and typing at a speed with which they are comfortable.

Quote:
Ahh, the mythical programmer who doesn't write any bugs... Show me a programmer who writes non-trivial code without any bugs and I'll concede this point to you. They simply don't exist, and even if they did, the vast majority of programmers would still benefit from being able to type faster.

it was just an example. A careful programmer that spends time planning ahead will usually make up the time lost to slow typing. As long as you are an average typer (30-60 wpm lets say. I just took a random wpm test and got 72 high on nyquil and watching football, so 30-60 should be at least average for someone who works with computers as a profession), there are a lot more things that will increase your programming speed more than typing speed. Especially with newer IDEs where you can type 100 characters by only hitting 20 keys.

I of course say that as a less than perfect programmer whose wasted a lot of time debugging by doing ready fire aim programming.

Quote:
Typing speed is less important, but knowledge of your programming environment is even more so. By typing speed, I'm not just referring to how fast you can type The quick brown fox jumps over the lazy dog, but also how quickly and efficiently you can use your programming environment.

It doesn't matter how good of a programmer you are. You WILL be a better programmer by being able to touch type without thinking and knowing your IDE or editor of choice inside and out.


But we were specifically talking about typing speed. You can't argue that typing speed is important and lump things entirely unrelated to typing speed into typing speed. Touch typing is also not the same as fast typing. You can touch type at 5 wpm, and you can stare at your keyboard and type over 100.
Quote: Original post by way2lazy2care
I would bet people trying to be fast make more errors than those trying to be accurate or even those not trying and typing at a speed with which they are comfortable.


It's not a matter of trying to be fast, it's a matter of how fast you can comfortably type. No one is advocating trying to type as fast as you can, so that is a non-issue.

Quote: it was just an example. A careful programmer that spends time planning ahead will usually make up the time lost to slow typing.


And they will still be less efficient than an equally skilled programmer who types faster.

Quote: As long as you are an average typer (30-60 wpm lets say. I just took a random wpm test and got 72 high on nyquil and watching football, so 30-60 should be at least average for someone who works with computers as a profession), there are a lot more things that will increase your programming speed more than typing speed. Especially with newer IDEs where you can type 100 characters by only hitting 20 keys.

There is nothing wrong with a 72 and that likely isn't much of a hindrance to writing code. But I maintain that you're full of shit if you think that 5 words per minute is not a problem.

Quote: But we were specifically talking about typing speed. You can't argue that typing speed is important and lump things entirely unrelated to typing speed into typing speed. Touch typing is also not the same as fast typing. You can touch type at 5 wpm, and you can stare at your keyboard and type over 100.


They are related. Typing quickly is one way to reduce the brain -> code barrier, and so is learning your IDE.

Someone who touch types at 5 wpm, is going to have a lot of problems expressing themselves with a keyboard. They will be a less efficient programmer than someone with equal programming skill and a better typist.

It's really quite simple, two people who have identical programming abilities. One types at 5 wpm, and the other at 100 wpm. Can anyone honestly say that the 100 wpm typist would not be more efficient? Typing is a tool we use. Hunt and peck typing versus touch typing quickly is like going from notepad to a modern text editor or IDE. There are huge performance gains to be had.
Advertisement
Quote: Original post by MSW
No, you are programmers first, typist a far distant second.

Fourty years ago programs were "written" on punch cards. Tomorrow programming could be done with dictation. A week later, with a direct neurolink. Typing is just the current fad, and can be as easily left behind as AGOL 68.


And if a more efficient method for allowing me to express code comes into use, I will be one of the first to learn it. Until then, why don't you try writing a non-trivial program without a keyboard.
Quote: Original post by tstrimp
It's not a matter of trying to be fast, it's a matter of how fast you can comfortably type. No one is advocating trying to type as fast as you can, so that is a non-issue.

And they will still be less efficient than an equally skilled programmer who types faster.
There is nothing wrong with a 72 and that likely isn't much of a hindrance to writing code. But I maintain that you're full of shit if you think that 5 words per minute is not a problem.

They are related. Typing quickly is one way to reduce the brain -> code barrier, and so is learning your IDE.

Someone who touch types at 5 wpm, is going to have a lot of problems expressing themselves with a keyboard. They will be a less efficient programmer than someone with equal programming skill and a better typist.

It's really quite simple, two people who have identical programming abilities. One types at 5 wpm, and the other at 100 wpm. Can anyone honestly say that the 100 wpm typist would not be more efficient? Typing is a tool we use. Hunt and peck typing versus touch typing quickly is like going from notepad to a modern text editor or IDE. There are huge performance gains to be had.

It's not about being more or less efficient. It's about being usefully more efficient. Most programmers probably spend MAYBE 20% of the day actually typing code, probably less. If you increase your typing ability from 30 to 60 wpm you only get an 11% increase in productivity despite a 100% increase in typing speed, and that's already with a really low wpm for a programmer. Once you go from 60-90 it drops to 7%. This is all assuming the high estimate that you are actually usefully typing for 20% of your day and that during that 20% you are typing the entire time.

Obviously a 5 wpm typer will be a horrible programmer because they'll type slower than they can think about what to type, but once you are an average typer there are better things to put your time into than fast typing if you want to be a good programmer.
Quote: Original post by way2lazy2care
If you increase your typing ability from 30 to 60 wpm you only get an 11% increase in productivity despite a 100% increase in typing speed, and that's already with a really low wpm for a programmer.


An 11% increase in productivity is nothing to sneeze at. In fact, it's pretty damn good. I agree that 30 is pretty low for a programmer, that's exactly my point. They are less efficient than they should be. It's all about knowing how to use your tools. The better you are at using your tools, the more effective you'll be as a programmer. That goes from the debugger, all the way down to the keyboard.

Edit: It should also be noted that typing code is just a fraction of the typing that programmers typically have to do. You mentioned only 20% of the time is writing, code... What is the other 20%? Answer emails, writing documentation, writing specs, responding to GDNet threads? How much do you type during the day? How much more time would you have if you went from 30wpm to 60wpm?
Quote: Original post by UnshavenBastard
Quote: Original post by Eelco

I have quite often tried to teach 20+ people how to program, and its not easy for them.
[...]
Do you actually know of any outstanding programmers that started after 25, or is that belief of yours based in faith?


Your small sample size might not be significant.
I suggest you to read this paper: The camel has two humps
It appears some people have inherently what it takes to be a programmer, while the larger chunk of people does not.


I started at 22 and completely self taught and am a lead dev now at 26 pushing our group to switch out of the web for itnernal apps, in the timeframe i learnt .net (2.0/3/3.5/4.0, some futures in 5.0) asp.net &#106avascript (the actual language, not the tidbits of code snippet) and now rewrote our internal backoffice in WPF and gave lessons to my colleagues (formal prepared lessons) multiple times a week for month.<br><br>Yes i think you can learn after 20.
Advertisement
Quote: Original post by tstrimp
Edit: It should also be noted that typing code is just a fraction of the typing that programmers typically have to do. You mentioned only 20% of the time is writing, code... What is the other 20%? Answer emails, writing documentation, writing specs, responding to GDNet threads? How much do you type during the day? How much more time would you have if you went from 30wpm to 60wpm?


I probably wouldn't gain that much because I can type faster than I can think what to type in most cases anyway. That's a big part of the reason that I think being able to type fast isn't as important as it's made out to be.
Quote: Original post by way2lazy2care
I probably wouldn't gain that much because I can type faster than I can think what to type in most cases anyway. That's a big part of the reason that I think being able to type fast isn't as important as it's made out to be.


You've already stated you type plenty fast. However there is a HUGE benefit to learning to type faster than 30 wpm. Once again, if typing speed doesn't matter, try writing a program using just two fingers and tell me you're not significantly less efficient than you were before.

Edit: Essentially what you're saying to me is "I can type fast, so typing fast isn't as important as it's made out to be".
Actually typing code is almost entirely unrelated to literary typing speed. How many people use { and } regularly in normal text?

On the other hand, being able to rattle off regular text is pretty useful for developers because, by and large, the jobs where you get to (or even are allowed to) vomit megalines of code into a directory are few and far between. Most softeng gigs have specially constructed procedures to prevent you writing very much code at all. Projects are easier to manage the slower they go.[1]

In general softengs write much more email than code.

Software projects of more than a reasonably small size accumulate an orbiting cloud of people. They don't write code, they don't ship product, but apparently they have to be there to supervise and manage and control...

And a bunch of other things like "specify" which means they write things which look superficially like specifications until such time as they come to actually need to be implimented. At which point it's discovered that a) they aren't actually very specific and b) whoever wrote them and desperately, desperately needs you to write the code nonetheless has something, almost anything, more important to do than to bridge that gaping gap between meaningless gibberish entitled "spec" and an actual spec.

And answering the emails piling up which are generally about why you haven't written enough code yet is more important than writing code; sometimes you can trivially spend 100% of your time explaining to people why you're not getting any development done in increasingly convoluted ways.

Once you get there, nirvana beckons.

If you can write email replies faster than they can write email queries, then you get to spend the time thus gained asleep and no-one will be any the wiser.

Here endeth the lesson.


[1] My one big take-away from a 2 decade career in software engineering is that no-one actually appreciates productivity WHATEVER the motivation posters in the lobby say. Your fellow devs won't -- it makes them look bad. Your bosses won't -- sooner or later someone will wonder why all the projects don't look like that. Your architects won't -- the last thing on earth they want is any of their ideas turning into anything concrete enough to test. And speak of testing, your QA team won't appreciate work arriving at their desk at anything over and above a boring clip either.

Quote: Original post by Katie
Actually typing code is almost entirely unrelated to literary typing speed. How many people use { and } regularly in normal text?

Right... nevermind the other 50+ keys that are shared by both typing code and "literary" typing. Typing code may be a superset of so called literary typing, but that doesn't change the fact that 98% of the characters used are the same. To say they are entirely unrelated is disingenuous.

This topic is closed to new replies.

Advertisement