Which is perfect. We can Peter Principle away the egotistical programmers.
I don't think egolessness means not participating or taking the lead. See the point about not being the programmer who only comes out of the office for soda. If you take the lead and deliver good results, you can definitely be promoted, especially if you have good social skills. Also, people definitely notice when developers work on their own time to improve their skills. They may not say anything, but they notice, and that translates to promotions.
Depends on your employer. At mine, people who can work well with other developers and help the team get better overall are very much noted, appreciated and rewarded.
But our culture has always been about the team, not individual developers.
Not true in my own case. I believe that being appointed team lead was a direct result of applying egoless programming principles.
Is "team lead" a real position defined by HR that comes with a pay raise higher than whatever the most senior dev title is? If it is, that's awesome. I've never actually seen that in any place I've worked. It's always more responsibility without pay, which I consider a net negative.
The trouble with working in a dysfunctional organization is that people tend not to get promoted for the right reasons.
You're working in the wrong place.
I think that this assertion is not quite unlike correct.