|Welcome to the Monastery|
Im not so sure if I buy this "if you think you are good then you probably aren't". Ive noticed that most people that fall into the "i think i'm good" camp often are the same people who fall into the "I can do no wrong, and even when I do there is _always_ a damn good reason" camp as well. And IMO its the latter psychology that is really dangerous. Not being able to admit (to yourself) that you've done a stupid (forgive the juvenile term :-) is the biggest drawback to learning IMO. When you cant admit your mistakes you are doomed to repeat them over and over. Critical assesment is a crucial aspect of learning.
For instance I personally think im a pretty good Perl programmer. (For some such definition :-)But when I look at my code (from before today :-) im always thinking, "gosh that was dumb", "what on earth was I smoking there?", "oh jeeze, did I do that?" and the like. (Actually my most feverent desire when i review my old code is to completely rewrite it.) To me this is a positive sign. Ive learned something between when I wrote the code and when i read the code that im now factoring in to my assesment. However Ive worked with people who when you say "what were you doing here?" they then give you half an hour of BS about why they had great reasons to write buggy code that didnt work (or why they overwrote your newest source files by being careless with source control...) And the thing I've found is that next week they will have done the same thing again. And the week following.... The point is becuase they wont register the fact that they made an error they wont register the solution to the error. Its impossible to learn to NOT do something when you have managed to convince yourself that it wasnt an error in the first place.
Anyway, INAP, but I do think that there is a difference between the inability to admit you are wrong (or have done something stupid) and the type of ego that leads people to wander around telling everybody how good they are (and proving how bad they are with every extra word :-) The trouble is I think that virtually all of the latter are also the former. But occasionally you find someone who cant admit they are wrong but isnt an ego maniac. I think people like that are worse in some respects becuase its possible to develop a positive relationship with them and get fooled by their conduct for quite a while. Its only when you notice that _nothing_ is _ever_ their fault that you realize that youve been (essentially) conned. Ego maniacs on the other hand are readily identifiable so its much easier to be on your guard.
Anyway, thanks for yet another insightful node. Itll be weeks before I get around to reading all the cool links you've provided. :-)
<Elian> And I do take a kind of perverse pleasure in having an OO assembly language...