in reply to
Second rate programmers and my confession
One of the great advantages and disadvantages of a community, being it something like perlmonks or some IRC channel, is that you are surrounded by people who know a lot more than you, people who THINK they know more than you and ofcourse people just wanting to know more than you :)
I'm not involved in any kind of project, other than school stuff but that's mostly in COBOL, so I dont know what it is to work with collegues... YET
I am however, surrounded by people (friends, family) who don't know a thing about programming in general or programming in perl specifically. Whenever I get stuck, I try to explain the problem in plain english to an unsuspecting victim (the whiteboard is just great for that stuff) and that gets me thinking. In fact, I might just explain my problem to an empty chair if I can just step thru the program and think about it in logical steps.
One of the other great things about communities is that everyone has a different perspective on problems and solutions. If someone asks a question on a topic you dont master yet (and you have time for it), you look it up, experiment with it and give your opinion (at least, that's what I try to do). While helping others, you help yourself. When someone else provides a solution different than yours, you should wonder how come this solution is better/worse than mine and what can I learn from it. I always try to ask myself... What can I learn from this?
I spent houres a day on IRC sometimes, usually answering newbie questions and I noticed my answers have changed throughout the years. For example, I used to provide newbies with the classic %FORM based form parser but at one point I started answering those questions with If you're not using CGI.pm, you're on your own (something like clean your room).At some point, you automatically start tossing more advanced terms at a poor newbies head and he calls for mommy... so you work on your approach, you learn how to do it differently (you look for more than one way to do it).
My point being, respect and acknowledge the people that know more than you and consider what you could learn from them. At the same time, respect and acknowledge the people that know less than you and consider what you might learn from them too. In one way or the other, everybody's learning from everybody :)
Knowledge is not reflected by your XP or by the status in an IRC channel, it's not reflected by funky stickers on bumpers or laptops, knowledge is the key to learning from and to others.
... Quidquid perl dictum sit, altum viditur.