I've witnessed a number of development personalities in my tenure but there is one universal thing I've noticed about the really, really good ones: they mentor. They inspire, they teach... they show you the secrets that can turn you (yes you!) into more than a code monkey. These are the individuals who will look over your code, reflect for a moment, and say with certainty: "This is good, but did you know you could do...".
And that's what we should really be striving for as developers. The goal isn't to just take home a paycheck (well for some it is). The goal is to take this thing we created out of thin air and turn it into a terse, well written beautiful thing. By mentoring each other and not berating those who may not be up to speed, we help the project overall. By making you better, I have less cleanup, etc...
It's a behavior that's difficult for some of us. You're constantly competing with those at your workplace to stay current on technology, learn new methodologies and we're all vying for that next promotion. What most of us don't realize is that we all benefit from the knowledge transfer and we aren't all going to be experts at everything.
My goal as a team member is to see the team succeeds first and that I succeed second. It's always going to be obvious who has the talent for that promotion, etc.. By mentoring others you're not short-changing yourself, you're demonstrating leadership skills that can take the team to another level.
Besides, you don't want to be "that guy" do you?
Let's all strive to make the community great!
(Yes, this is a rant/filler while I get my series [yes I said series] of posts ready to go. Doesn't mean it's not a good idea ^__^ )