Why do business analysts and project managers get higher salaries than programmers?
We have to admit that programming is much more difficult than creating documentation or even creating Gantt chart and asking progress to programmers. So for us that are naives, knowing that programming is generally more difficult, why do business analysts and project managers get higher salary than programmers? What is it that makes their job a high paying job when even at most times programmers are the ones that go home late?
Excuse my ignorance, from some of the response it seems that the reason why BAs and PMs gets higher salary because they are the ones that usually responsible for the mess programmers make. But at the end of the day, it is programmers that get their hands dirty to fix the mess and work harder. So it still does not make sense.
Bigger 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.
"...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.
Reminds me of Dilbert's Salary Theorem: http://www.csm.ornl.gov/~frome/dilbert.html
I 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.
They 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.
Do they? John Carmack used to have a Ferrari, now he has a Tesla Roadster I think..
Most "old time" management still see programming as simply a type of manufacturing.
Easy: you would have to pay me a hell of a lot more to do that kind of work than the work I love.
Well 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 :)
Programmers usually lack the hubris to demand more, because for them money is just nice. For managers money is whole life.
Funny, in 9 days I'll stop being a BA and start being a programmer. This move comes with a 43% pay raise.
Programmers 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.
The moment you want to become legally responsible for your code, will be the moment you get paid more. :)
@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.
Whether project managers get higher salaries than programmers and business analysts at all exist as a class depends squarely on the software world you live in.
A simple answer to this question would be "because in our societies, we still think the salary is bound to the position in the hierarchy." But this answer whilst reflecting the fact that people are paid based on their perceived value doesn't explain why PM and BA are on top of the hierarchy in many software organisations and why the management goes for hierarchy in the first place as a structure of choice for software project team. These are the two questions that seems to be really worthy asking.
Broadly speaking there are two categories of software making organisations. I will call them Widget Factories and Film Crews.
Widget Factories are born out of management school of thought revolving around motivation Theory X proposed by McGregor: rank employees are lazy and require constant control and supervision, jobs are held in the name of a pay check, managers are always able to do their subordinates' jobs to the higher or, at least, same standard. This thinking lands to a natural idea that the entire team can easily be replaced with and represented by the manager alone - after all everyone else on the team is either easilly replacable or there just to enhance manager's ability to complete tasks. Hence the hierarchy as a structure and rather horizontal job roles.
Widget Factory management operates on the assumption that software can be manufactured out of a specification prepared by a business analyst through a clearly defined process run under the close supervision of a project manager. The manufacturing is taken care of by staffing the project with enough qualified yet interchangeable programming and testing resources. Work is driven by a prearranged budget based on the initial business case prepared by PM and BA.
Management that runs a Widget Factory is easy to spot just by paying attention to the way these people talk. They are likely to be on about resources (including when referring to team members), processes, operating efficiency, uniformity, repeatability, strict control over use of resources, clear-cut job roles and defined process inputs and outputs. They'd casually mention the actual factory metaphor when trying to convey the image of the ideal software development operation as they see it.
Then there are Film Crews. They are based on the notion that people are intelligent, self-motivated, work really hard and enjoy their jobs as much as kids enjoy playing. Film Crews recognise that due to specialisation individual contributor abilities may by far surpass the abilities of people organising, co-ordinating and directing the work. Since manager can no longer substitute for everyone the hierarchical structure just doesn't work that well - people have to co-operate within a much flatter and complex formation to get things done. Jobs roles themselves tend to be much more vertical - start to finish - and involve a broader variety of skills. This management thinking is underpinned by McGregor's Theory Y.
A director of a Film Crew knows that her vision for a piece of software can only come true should she be able to assemble a great crew, fascinate the imaginations and help the team to gel and work together. Her role is to inspire, guard the vision, provide direction and focus the efforts. Every single person matters because "director" believes that software results from combination of worldviews and abilities of all participants and a unique way the group carries out the work together. Everyone recognises from the onset the importance of getting the stars to join the crew – star performers increase every chance for success. Vision drives budget and attracts funding.
When it comes to compensation Widget Factories deem that the most value is derived from the work done by project manager and business analyst who reside on the top of the hierarchy and have to be compensated accordingly, the rest of the team doesn’t matter that much as long as they’ve got the right qualifications to convert requirements into working code. PM and BA work hard to maintain their position on top of the pack by restricting free access to the sources of project information to the rest of the team. Without formal access to the primary info sources the team struggles to make any value judgements or come up with good solutions, programmers are relegated to taking orders from above and working on the problem as defined by PM and BA. This situation further reinforces the Widget Factory notion that programmers are akin to factory shop floor workers only capable of mechanically carrying out though technically complicated, but nonetheless standard tasks.
In a stark contrast Film Crew acts as a more egalitarian formation; members are given unrestricted access to primary information, encouraged to form value judgements and are free to select a course of actions to fulfil and contribute to the vision. Leadership structure is based on ability rather than a specific role within the team. Compensation reflects how desirable getting a specific person to take part in the project, it often tied to the perception of how much more valuable the end result will become if that person can be convinced to devote their energy to creating that piece of software. In this environment the role of a project manager becomes less prominent as he is unlikely to be the creative leader; the role comes down mostly to administrative support and external relations. Business analyst’s duties are partly replaced by the role of visionary (I called her earlier “a director”) and partly absorbed by other team members.
Now, it won’t come as a surprise that most in-house software development teams and some consultancies are run as Widget Factories relying on a process to produce consistently boring software; it is these environments where project managers and business analysts are routinely paid more than programmers based on the assumption that they bring the most value with the environment structured accordingly making it difficult for programmers to prove the management wrong.
Successful software companies tend to adopt Film Crew viewpoint, any other philosophy would hinder their ability to attract great people that they rely on so much to produce great software. It’s unlikely you’d ever see a business analyst role in that setting and project managers are less prominent and routinely get paid less than great programmers.
Excellent summary. An important point to mention is that in most companies, software development is treated as a cost (same as, say, paying a utilities bill), and not as a core investment.
dbkk, absolutely working in a cost centre has a big impact on how the work is done. Although many companies do capitalise money spent on internal software projects rather than treating it as an expense which possibly makes the situation even worse in the long run because many internal development projects produce software worth less than the money spent!
Good answer! You gave a good picture of two different kinds of orgs and portrayed how they view the same job. A software developer need to choose the organization where his contribution will be important and valuable piece in the output. Just as a sound engineer/music director is to a Movie.
Dude, this is a brilliant response. The Film Crew analogy works so well. I worked for a Film Crew for 9 years before it got bought by a widget factory, after which I only lasted 8 months. I then started my own software development business and we are so a Film Crew. I think you've just given me the analogy I need to communicate how we work. Thanks!
Actually, if Film Crews were better than Widget Factories then today there would be no more Widget Factories since they would have been replaced by Film Crews. Maybe it's a process so in a 100 years, there will be only Film Crews..
Sadly, I'm in a Widget Factory that fancies itself to be Film Crew.... utterly frustrating. Great answer
BTW, you can spot a previsible movie just from the poster. If the producer name is bigger than the director then it won't be a great movie. You may have some fun, but it won't be something you can call art.