My experience might be different (or I'm living in an different universe with distorted laws of physics), but most business analysts and project managers (not program managers, but project managers or PMPs) positions I've seen are at or slightly below the average salary of programmers.
The salary gap begins to widen more when compared to the average salary of software engineers (on the software engineer's favor). The gap is even more when compared to senior EE or senior software engineers. Almost no senior business analyst or senior PMP will make the same as a senior EE or senior/principal software engineer.
A program manager, however (which is not the same as a PMP), that person will make a lot more than anyone else (and the reasons should be obvious.)
The thing that bugs me the most when I see these complaints about salaries is that as programmers (specially as junior/entry level programmers in the enterprise), we are (or were not) that special. There is nothing really in an entry level programmer right out of school that deserves a rocket scientist salary. No.
All of us that work on software started from zero. We all did.
And IF we are really honest, we know well that we didn't know crap. Being able to complete our undergrad CS course load is just the starting point. It does not make us that special or ZOMG!!!! uber-Einstenian. Really, NO!
And yet (and thanks to the ill-fated period of the dot-com bubble), we expect to make not just more, but a lot more than another university-educated person just because OH WOW, we are programmers and they are just business analysts and PMPs.
Can you spell arrogance? Newsflash - for most programming tasks in the enterprise, you don't even need a 4-year degree. Really, is that serious.
Put the time on the grind and build the experience to transition from programming to software engineering (or engineering for that matter) at the senior level. Then you can demand to make much, much, pero mucho mucho much more than a business analyst and PMP.
Get it over with - some of us are (or were) overpaid. Period.
Rant aside: reasons for a business analyst and/or PMP to make salaries close or similar to programmers that have not yet accrued the necessary time and expertise to be mid/senior software engineers (or that have still not developed expertise in a highly demanded niche area):
A business analyst is the liaison between software and systems folks and business people/business processes (which are the ones that justify the existence of your paycheck, not the other way around.) They are the ones responsible for breaking down business processes in methodical, analytical manners, as input amenable for forming requirements, the stuff you work on. They make sure that you spend most of your time programming and not dealing with the minutia of business.
Many of you think business is easy shit. If you really think that's true, God help you.
A project manager is the person in charge of juggling multiple projects (whereas you only have to juggle with one or two at the most at any given time.) He's your umbrella, and he's the one that has to do the dirty job most of the remaining unwashed masses don't want to do - to chase people down making sure they do their jobs or removing impediments to your job.
He's the one that will ask you "what are you working on? is what you working on helping moving the project along? do you have problems with your work? what are your obstacles, what do you need? who can give it to you?"...
and then he'll go to others asking the same hard questions, making sure that obstacles are removed, and making sure that you are pulling your weight on the project (if necessary.)
The number one problem I've seen in many failed projects is a lack of PMPs or a disrespect towards PMPs (specially from developers.) It is rare that I see projects fail because of incompetent PMPs, and yet one has to wonder why many programmers are more than eager to say that is the case.
2Sounds to me like the OP has his mind made up. Why ask the question then? – Mat Nadrofsky – 2011-03-14T12:25:42.523
1Programmers are the slaves, executives are the slave owners :) It's not about skill or hard work. It's about politics and power. See "why is Paris Hilton paid more than most programmers when clearly she is a stupid **". There is no justice in the world. – siamii – 2011-12-29T04:09:04.287
3The moment you want to become legally responsible for your code, will be the moment you get paid more. :) – Andrew T Finnell – 2012-04-20T23:50:42.277
1@MVCylon I disagree with your premise. I think being sociable and having good demeanor are valued skills that employers are willing to pay for. When you look at most very highly compensated software developers they not only have technical chops, they have 'soft skills' as well. – Dan Esparza – 2012-06-20T18:00:39.220
More [perceived] responsibility = more money. – Damien Roche – 2012-09-30T01:54:48.817
126They wear better suits :-) – Stephen C – 2011-02-09T11:05:08.780
234Bigger salary in america has absolutely nothing to do with skill. More you are liked, and the more you play the politics game, the more you get paid. Programmers are usually logical, intelligent, individuals, who tell it like it is. Executives hate that. – MVCylon – 2011-02-09T14:21:13.467
29"...the ones that goes home late..." Not to come across harsh but this sounds like a personal issue you need to address. If putting long hours in is how you define your worth to the company then some serious personal analysis needs to be done. – Aaron McIver – 2011-02-09T14:26:24.130
1@Aaron: My last sentence was more to be ironic and flippant. – MVCylon – 2011-02-09T14:30:31.360
14
Reminds me of Dilbert's Salary Theorem: http://www.csm.ornl.gov/~frome/dilbert.html
– badgerr – 2011-02-09T14:42:10.10027I will mention that the PM and business analyst on the main project I am working on put in way more hours than I do. There isn't enough money in the universe to pay me to do their jobs. – HLGEM – 2011-02-09T14:56:42.193
6They do? Most jobs I've seen for business analysis and PMPs are at or below the average for programmers... more so compared with average salaries for engineers. – luis.espinal – 2011-02-09T17:53:54.540
Do they? John Carmack used to have a Ferrari, now he has a Tesla Roadster I think.. – Nils – 2011-02-09T18:31:11.483
2Most "old time" management still see programming as simply a type of manufacturing. – Jeff Swensen – 2011-02-10T14:53:23.667
3Easy: you would have to pay me a hell of a lot more to do that kind of work than the work I love. – Carl Manaster – 2011-02-10T15:05:14.027
1salary is inversely proportional to the knowledge ;-) – gsharp – 2011-02-10T17:57:57.953
2Well if you still count the likes of Larry Page, Sergey Brin and Mark Zuckerberg as programmers (they were so in the beginning, and are still active in the technical sides of their businesses AFAIK), then the top earners are programmers. So there seems to be a gap between the top and mid/lower levels :) – Halil Özgür – 2011-02-10T23:42:50.563
5Programmers usually lack the hubris to demand more, because for them money is just nice. For managers money is whole life. – Kamil Szot – 2011-02-11T17:30:19.583
1Funny, in 9 days I'll stop being a BA and start being a programmer. This move comes with a 43% pay raise. – Jay – 2011-02-19T19:38:28.620