I stumbled across an interesting discussion at stackexchange about why programmers get less yet they do tedious work. Allow me to please share this.
Argument by jpartogi:
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?
Response by Pierre 303:
Because in our societies, we still think the salary is bound to the position in the hierarchy.
The analysts or project managers are higher in the hierarchy, so they should be paid more.
Let me tell you a real story that illustrate why this is a problem.
[start]A good friend started as a programmer in a big hospital. Thanks to his hard work and dedication, he quickly became Oracle DBA, which was a critical position in a company where data is both sensitive and valuable.
The hospital worked with levels. Levels are bound to your position in the hierarchy, legacy and diplomas.
My friend got a proposal to become DBA in another company that didn’t use salary levels. His salary could be increased a lot. Because he liked and respected the hospital he worked for, he decided to talk to the boss, asking for an increase.
The boss refused. It was impossible because of the levels and the unions would not let that happen.
My friend left.
The hospital eventually hired an external consultant (not bound to levels) and posted a job on their website. The consultant did not know anything about the infrastructure in place, so his learning curve was huge. The hospital lost lots of money because of that.
The hospital did lose a lot more. The external consultant was paid as much as 5 times what my friend asked for, and they couldn’t find a qualified employee to replace him.
That was almost two years ago. My friend is still at his new place and climbing the hierarchy ladder very fast doing what he loves.
The hospital is still paying 5 times more.[end]
IMHO, salary should be relative to the value you provide to the company.
When you move higher in the hierarchy, there is the leverage effect occurring. So in fact, you are paid for the value you bring. But brilliant programmers that are 10x more productive should be paid 10x more, regardless their position in that hierarchy (usually at the very bottom). That’s what I wanted to highlight.
Response by rwong:
They take more risks than programmers do. They have to make decisions based on whatever information we gave them, and then face the stakeholder’s harsh criticism when their expectations aren’t met. Part of the pay package compensates for this risk.
Another factor may be the years of experience needed to prepare a project manager who can plan, estimate and mitigate properly. In some sense, a nuanced project manager is trained through failures, making it an expensive-to-acquire skill. Once reached the level of seniority, a company may not be willing to let go such a valuable personnel.
There are more kinds of risks than financial or physical harm. For example, consider the risk of being reprimanded by the manager or the customer. Although no actual harm is done, it is still undesirable enough that we adapt our behaviors in order to avoid this kind of outcome. However, managers have to make good decisions all the time, and has to balance different kinds of risks in the interest of the company, not according to personal preference.