What companies are these people working for? The ones I've looked at and the ones my friends work at pay their programmers significantly more than PMs and BAs.
This; in my experience median compensation for programmers is comparable to PMs, and the high-end of programmer compensation is significantly higher than that for PMs.
A programmer high on the compensation scale will typically have decided to stay on the "Individual Contributor" track and top out as a "Distinguished Engineer" or similar title, but still be considered as a programmer. A PM who has advanced to a similar level, on the other hand, is likely to be some sort of VP or SVP and considered an "executive". That is to say the PM compensation track divergers, while the Engineer's stays the same
Let me be more clear: I'm talking about something like an MTS or Senior Engineer, rather than a Fellow or Distinguished Engineer (and FWIW, at many firms, a Fellow/Distinguished Engineer may very well have compensation comparable to a Director/VP).
Correct. I run a software business. Our top coders are paid higher salaries than any "managerial" roles, by some margin. That said, the managerial roles have more upside in terms of bonuses, but that arises more as a result of how one goes about motivating people with rather heterogenous talents.