|laziness, impatience, and hubris|
I would certainly agree with this. In my last job, I was the only programmer on the team and it wasn't very fun. Up until that position, I'd worked for four other organizations where there programmers and other technical types that were far more experienced and talented than I. While there was the periodic ego blow that you mentioned, there were more times where the knowledge sharing and collaboration led to some dynamic (and occassionally frank) discussions about how to code, design, document, and support things properly.
One of the things that really annoyed me in my last job was the fact that I was the only "talent" (to borrow a phrase from the TV production world). That's a lot of pressure, for you're always critical path and there's no one to keep you on your toes. (Also, it's difficult to get support for things that need to be done when management has different priorities.)
In my current position, I'm the only programmer on my project, however that project is part of a larger set of projects, all tied for a given goal. This means that while I'm the only one using the compiler, we're still able to collaborate on design, development issues, and so forth.
In other words, I too like having good people around. Even if only to keep me honest.
This is, of course, why I keep hanging about here, even though I do very little Perl these days. There are a lot of more experienced people hanging about too. Sure, there are the ego blows (as well as the blow hards), but in general, the regulars are a decent bunch who don't mind sharing their experience. It's slipped a bit in the last few months, but I think part of that has to do with the change that's constant in any online community (as well as a certain non-voluntary retirement).
As long as there's more to learn and other monks willing to help that process, I plan to keep hanging about.