'''Management's definition of MatureProgrammer:''' 1. Knows when to say "I don't know", but follows it up with "I can figure it out". ---- '''Developer's definition of MatureProgrammer''' All right, I'll start it off here: 1. Secure enough in his/her talents to be able to give reasonable estimates of the time it will take to finish a task. 2. Secure enough in experience to be able to say when he/she is too busy to take on any more tasks without sacrificing quality. 3. Skilled in being able to quickly resolve what he/she does *NOT* know in order to solve the problem at hand. (Ex. knows where the RFCs are found in order to know what "421 connection dropped by remote host" means.) 4. Knowledgeable of the fact that management and customers rely on his/her particular expertise and decent enough to not rape them for those answers. (More could, of course, be written along these lines, but I'll stop for now.) -- BillZimmerly 5. Knows that '''ANY''' solution he/she implements alone is '''not''' the perfect solution and can be improved through communication with others. 6. Maintains a ProgrammersNotebook. (Mine extends back to November, 1986.) -- BillZimmerly 7. Is a grandmaster at Googling and has links to Experts Exchange, Dev Guru, etc. 8. When encountering an unknown programming domain, googles to find relevant sample code, assimilates the information and incorporatees and adapts it to the task at hand. ---- ProgrammerStereotype