My industrial experience agrees strongly with Thomas Green's argument.
The best programmers from my point of view are the ones who produce the best problem 
solutions, not the most code. This seems to be strongly associated with experience.  
The person whom I regard as the best programmer on our team almost invariably begins a 
discussion of how to implement a new requirement with "well, on the xxx project we did 
it this way because ... and we encountered this kind of problem."  He also frequently 
reuses old programs to produce new ones - "I took
the program I wrote to do N and modified the input so that it now does M."

Reusing other people's code also seems to be the way this person learns new techniques 
- "I took the example from the tutorial and I...."

What I find no evidence for is that he sits and passively studies existing programs.  
(Then, again, I don't think chess masters do that either; the two I've known studied 
the games with the board in front of them and tried to figure out WHY  the moves were 
made - it wasn't a passive process. Perhaps, if chess players were paid high salaries 
to play 50 hours a week and were constantly offered opportunities to play their last 
game over, against a similar opponent, they wouldn't need thick books either.)

While I have no doubt that all really good programmers make extensive use of their 
experience, it also clear that experience per se doesn't produce good programmers.
(Just spending time studying chess books won't automatically make you a grand master 
either.)  Some conjectures:

1. Really good programmers have broader experience than less good ones. They've been 
on more different kinds of projects or had more different responsibilities than less 
good ones who have spent an equivalent amount of time in the field.

2. Really good programmers are more reflective than less good programmers.  They are 
more likely to think about and evaluate their own work.

3. (Varient on 2) Really good programmers have had more opportunity to receive 
feedback on what they've done.  They've been in situations in which they could see 
what happened to code they wrote so they have a better idea of what does and doesn't 
work in the long term.

Ruven Brooks


- Automatic footer for [EMAIL PROTECTED] ----------------------------------
To unsubscribe from this list, mail [EMAIL PROTECTED]  unsubscribe discuss
To join the announcements list, mail [EMAIL PROTECTED] subscribe announce
To receive a help file, mail [EMAIL PROTECTED]         help
This list is archived at http://www.mail-archive.com/discuss%40ppig.org/
If you have any problems or questions, please mail [EMAIL PROTECTED]

Reply via email to