
Why do Programmers get paid less than Project Managers or Business Analysts? - damian2000
http://www.dodgycoder.net/2011/11/why-do-programmers-get-paid-less-than.html
======
nupark2
As a programmer-turned-CEO, I firmly subscribe to the Mythical Man Month's
suggestion that your top engineers should be paid the same or more than your
managers.

Otherwise (as MMM notes), the only career advancement available to your
engineers is to move into management, and that's a waste of a great engineer,
and a good way to wind up with a poor manager.

Speaking from experience: being a CEO is something I've learned to do, being a
programmer is something that I just am. The only reason I got into management
is that the size of projects I wanted to tackle exceeded what I was capable of
doing myself. Unless I wanted to work on other people's projects, it meant I
needed to put together my own team.

While I wouldn't want to encourage programmers to move into management as
their only career path, I also wouldn't ever hire someone into management who
didn't work their way up in the field. Understanding how to manage technical
projects is often much easier for someone who actually knows how to implement
a technical project. Apple was/is similar -- Bertrand Serlet (SVP of Software
Engineering) wrote malloc, Avi Tevanian (SVP of Software Engineering, Chief
Software Technology Officer) was one of the primary authors of Mach.

In conclusion: programmers _do not always get paid less_ than project managers
or business analysts. If you feel that you're stuck earning less than you
deserve, don't treat that as an axiom of the industry -- figure out how to
move forward in your career, even if that means finding a company that
sufficiently values senior engineering staff, or working to _become_ a senior
engineer.

~~~
brc
I've had several positions in my career where I was paid more than my manager,
usually revealed to me by the manager in an informal setting. If you're
delivering more value than you cost, this is not necessarily unremarkable. It
does require you to be an effective employee, an effective manager, and to be
an effective negotiator.

------
viandante
Business analyst/finance here. I believe you are generalizing quite a bit.
Some types of programming skills are a commodity. Such as some types of
'analytical' skills: all that is done on a spreadsheet on a regular basis is a
commodity, that is why there are so many 'analysts' in the emerging countries.

Regarding programming, making 'apps' in .NET for a big corp is considered (and
maybe it is) a commodity by the management. So, if you want higher salaries,
you may want to move away from that.

What also doesn't help the programmers (generalizing again, but let's do it
for the sake of discussion) is this complete misunderstanding they have
regarding the 'suits'. It is absolutely true that a lot of 'suits' talk BS,
but they do have a feeling of the business that programmers seem not to have,
otherwise there wouldn't be so many todo and project management apps out
there.

My strong advise would be to actually move away from the technical side for a
moment and talk with the 'suits', ask them what problems they have, ask them
about the business, etc. Companies have so many problems, but they are totally
disregarded and this kind of discussions don't help.

Now, a programmer that cares about the business: that is a skill that is not a
commodity...

~~~
mgkimsal
Last few bigger companies I was in, as a developer, I was involved in multiple
meetings, often with different project managers for different projects. The
one constant was me (and a couple other devs), being involved in meetings with
marketing projects, financial reporting projects, upcoming IT purchasing
decisions, operational IT issues, and more. Guess what? The developers
involved in these meetings had a pretty solid view of the entire business. Yet
_almost_ any time a suggestion was made by a developer based on info from
other project meetings, it was shot down or dismissed. (not 100% of the time,
but close). I saw this behaviour at 3 companies of varying sizes (between 150
and 2000 employees).

Developer suggestions were generally based on a broader view of the business'
overall needs (because of the breadth of discussions we were involved in) than
other people at table had, which apparently can be threatening, regardless of
how you present things politically.

I realize not everyone as a developer gets in those situations. Sometimes
you're chained to one project and set of people for months on end. If you're
not, you can have a much better view of the business needs, but that doesn't
mean anyone will listen to you as a developer. You need to move out from being
perceived as such - either by changing jobs to another company, or
occasionally within a company. I've never had the latter option work out for
me, but have seen a couple people do that successfully.

~~~
F_J_H
Even though you felt you went to more meetings and therefore had a "broader
view of the business", perhaps the project managers also attended meetings
that you were not involved in, which gave them insights you could not have
possibly known? For example, maybe during weekly PM meetings where all PMs
gave an update of the projects they were managing, your PM also developed a
strong sense of what was going on in the business? Maybe the PMs attended
meetings where the corporate strategy was discussed, which you did not attend?

Not recognizing that others may have vantage points that were unknown to me
was a tough lesson to learn, but an important one. It's difficult to speculate
on what someone else may know or not know.

~~~
mgkimsal
In some cases that may have been true, but in most cases it was not. This
spoke to poor company communication more than any awesomeness people think
that I think I possess.

------
rayiner
Salaries are a strange combination of supply and demand and superstition and
belief. First, fundamentally, it is difficult to evaluate the contribution of
either a manager or a programmer. So people fall back to the notion that, well
there are fewer of the former and they're higher on the org chart so they
should get paid more.

Second, programming skills are seen as a commodity, while business analysis
skills are seen as a rarity. This is mostly self-reinforcing perception. At
the hiring stage, because people see programming as a commodity they're
willing to recruit widely, while because they see business analysis as a
rarity they place disproportionate emphasis on pedigree (hiring ex consultants
at McKinsey, etc) which limits supply. Given the Bell Labs study, pedigree is
probably vastly overrated, but business types place insane value on it. I'm in
the legal field and see big firms perfectly happy to hire someone from the
middle of the class at a top 10 school over someone in the top decile of a top
50 school. The difference in standardized entrance exam scores between the two
is often quite small, and law firm work takes more work ethic than it does
brilliance, but firms hire the folks with the pedigree because it's easier to
sell that to a business type.

Third, without using too broad of a brush, I think business analysis, etc, on
average, attracts a more aggressive crowd. Programmers tend to be more mellow
in my experience, and that affects people's perception of whether you've got
"killer instinct" and whatnot. My law school's parent university has a
business school, and frankly those folks are a little strange. They Facebook-
friend people indiscriminately, always seem like they're trying to sell you
something, and are really dedicated to physical fitness and grooming. Given
that a large component of compensation is perception, it's easy to see why
these folks would have a leg up.

------
dfc
Am I really the only person that was a little troubled by the stated
assumption that programming is generally more difficult?

~~~
lawnchair_larry
You think project management is _generally_ more difficult than programming?

You must not be a programmer. :)

~~~
dfc
I think "difficult" is a tough term to pin down. I was troubled by the fact
that the assumption was made as if it was a scientific fact; especially since
making the assumption clearly eliminates a valid answer to the question.

Maybe I just took too many logical reasoning / philosophy classes in
college...

~~~
praptak
Meta-discussion remark: whenever I point a flaw in an argument I try to add a
disclaimer stating that I'm not necessarily taking the opposite side. This
seems to cool down the discussion a bit, especially if the argument in
question is in line with the HN (hive-)mindset.

Edit: This was meant as a response to your comment about being downvoted,
sorry.

------
dfc
The same reason a general contractor makes more than the carpenter he subs
out? Or the same reason the real estate developer makes more than the
architect?

~~~
patricklynch
I'd like to note this isn't actually an answer; you've just begged the
question.

~~~
dfc
Begging the question or Socratic method. The answer is that the lower paid
workers are all lower level inputs to a business operation.

The other answer is that the wage is a reflection of market value / cost of
labor. I think that's probably a function of supply.

~~~
dfc
Whomever is doing the downvoting on all of my posts on this topic please speak
up. Why the down voting? Because I do not share your opinion?

~~~
parfe
You come off both condescending and lazy when using the Socratic method with
peers. Either clearly state your positions or take the downvotes.

Socratic method works in a student-teacher relation. By using it here on the
message board you immediately assert that you know the true answer while the
rest of us only know ignorance.

~~~
dennisgorelik
Socratic method is neither condescending nor lazy. Besides, Socratic questions
can turn into regular questions with unexpected answer.

------
jeffdavis
One point I haven't seen so far in this thread: even if manager types make
more money than programmer types, that does _not_ imply that management is a
more lucrative career choice.

To make the point, let me turn the question around: if management is easier
and pays more, why don't more programmers choose management?

The answer is that it's not necessarily easy to land a management job, whereas
there's often work for programmers to do (though programmers may need to do
consulting and travel around or something).

What happens is that business types get comfortable communicating with
specific managers, and then they don't want to spend time building rapport
with new managers. Great if you're that one manager, but not necessarily good
for the 5 that are stuck trying to apply as a manager while unemployed.

(I'm sure it's more complex than this, but I believe the above describes a
significant factor.)

~~~
F_J_H
_"if management is easier and pays more, why don't more programmers choose
management?"_

Um...they are _completely_ different skill sets.

~~~
jeffdavis
People can choose the skills they acquire.

------
tryitnow
At bigger companies there are often arbitrary pay limits set for non-manager
employees. Nobody is going to change those pay scales without making a
business case to the finance department.

The problem is that most finance people have no clue about the underlying cost
dynamics of software development. Most finance analysts learned from textbook
examples based on manufacturing. Many big company finance systems are still
set up using software designed for manufacturing.

Guess what that means? You're basically an assembly line worker. BA's and PM's
are viewed as either managers or "management track" assets.

This must change. Both for the sake of profitability and fairness to top
programmers.

My recommendation, if you know anyone in the finance department try to educate
them a little about the cost dynamics of software development. The sort of
stuff you'd read about in Code Complete or MMM.

They'll probably ignore you. If they do, fine, whatever. If not, you may have
taken the first step in getting your company to understand how to manage their
most valuable asset: programming talent.

~~~
nobody3141592
It gets even funnier in government. In the 80s I worked in a special
government lab (where 'critical' event wasn't a euphemism!)

To get the young mathematicians and programmers we needed we had to pay the
same rates they would get in industry - but the pay scales were all set by
rank. So the only solution was to promote 21 year old maths grads to the
heights of the command structure.

There were senior site meetings that had a 'general' rank head of each dept
and 20 or 30 'general' rank 20 something maths specialists!

------
ap22213
From what I understand of the Washington DC market, senior software engineers
are generally paid more than technical managers.

But, given that many good technical managers were at one point good technical
developers, it makes sense that they're paid more.

Having done both roles, being the 'lead' senior technical developer is the
more difficult of the two. Though technical project management is more
difficult than programming.

------
tripzilch
Additionally, it's that managers are also _supposed_ to carry more
responsibility, if they make a decision and tell the coder to "no, do it like
this", it should be their neck on the line if it turned out to be the wrong
decision.

Even though it doesn't always turn out that way, just appearing to carry the
burden of responsibility is often enough to make justifications for being paid
more.

In _reality_ , the truth is of course somewhere in between the optimistic
first paragraph and the cynical second.

------
drivingmenuts
A good programmer is as valuable to the team as a good project manager (and
vice-versa) but the project manager's work will be explainable to corporate in
a way that the programmer's work isn't.

Suits (and yes, I know this is an us-vs-them mentality) understand charts and
numbers and projections, etc., but rarely give a damn about what actually has
to happen to earn their quarterly profit. Project managers can produce enough
of those to warm the cold pits of any executive's heart; programmers can point
to lines of code and get a confused, annoyed look and a trip out the door.

It's not that executives are, by nature, evil or bad people (OK, not Hitlerian
evil), they just don't worry about the tiny details.

~~~
mgkimsal
Given the hierarchical nature of most companies, developers tend to be at the
bottom rung. They've got project managers _above them_ , then department
managers _above them_. Almost by definition, _anything_ a developer is working
on is a "detail" (and can often be regarded as 'tiny' in comparison to the
whole of a project or department). Doesn't matter if that one 'tiny' detail
can actually close down the company or not, by the very nature of how projects
and depts are structured, it's set up to be an uphill battle to get noticed
and get heard from a dev point of view.

------
acchow
He has the agents reversed.

At general equilibrium (assuming open markets), a corporation's "reservation
price" will be equal to the employee's "marginal product", so we don't
generally use the term "reservation price" in the employer's perspective.

OTOH, an employee will have a "reservation price" that is the minimum they'd
accept to force themselves to wake up at 8am everyday and go to work.

If you are the last COBOL programmer on earth, then surely many companies
formerly using COBOL have switched to other languages and platforms and, most
likely, there is a cross-compiler to COBOL from Python or C or something.
Thus, a COBOL programmer's marginal product to any corporation would not
really be that high since the company could switch to another language instead
of hiring you (especially since they will have to switch eventually (assuming
you, the last COBOL programmer on earth, are mortal).

~~~
damian2000
Actually its not that simple in real life regarding legacy systems. To rewrite
even small parts of critical real time systems (I'm thinking bank's end of day
accounting reconciliation software) in a new language could be a hugely
complex undertaking, and they must maintain and update legacy apps in the
meantime, even while new development is ongoing.

------
damoncali
People are paid in proportion to how hard they are to hire and retain. End of
story.

------
rwhitman
I was under the impression that most programmers hired these days get paid
more than managers and analysts with comparable experience, often by a good
margin.

Evidence:
[http://www.simplyhired.com/a/salary/search/q-analyst/q_1-sof...](http://www.simplyhired.com/a/salary/search/q-analyst/q_1-software+engineer/q_2-project+manager/q_3-programmer)

I'm surprised few have pointed out that this entire conversation is based on a
generalization that could easily be false...

------
jleyank
The business guys tend to have the checkbook. So, if they're intellectually
lazy, they go with what they know rather than whatever they might need. Given
that you're not going to be able to hire Bill Joy very often, there's a lot of
developers out there looking for work. Anywhere there's "lots", there's
downward salary pressure (chemists, engineers, ...).

Things might change a bit when they can outsource management or when non-
Western competition truly arrives.

------
suyash
I don't agree, mostly I've seen in the valley is that engineers are paid more
than project managers and business analysts.

------
Ecio78
And what can we say about system administrators? As a member of this category
I think that probably we are lower in the (salary/s __t) ladder..

------
reustle
Please link to the original SO post if all you're going to do is copy paste
one of the answers.

------
calibraxis
In addition to bargaining power, I think programmers are just worse
negotiators. Their educations do not prepare them for this. To hack the system
— remember you're putting yourself in a wage-slave situation for years, so
best to learn this trash — you should extract the highest price/benefits
they're capable of paying you.

(Maybe it helps to read _Getting to Yes_, or something.)

Plus, there's an obvious class component. The further removed you are from
working with your hands, the higher value you're perceived to have.

(After all, who hires these project managers and business analysts? Managers.
Who naturally value themselves more than underlings, and will transfer that
value perception to these managers/analysts. This argument was used in
Schmidt's _Disciplined Minds_ to explain some of the higher rank theoretical
physicists have over experimental physicists and engineers, even if engineers
earn more money.)

~~~
zzzeek
> Plus, there's an obvious class component. The further removed you are from
> working with your hands, the higher value you're perceived to have.

I like this point a lot, and it makes sense, but then I thought, how come it
doesn't apply to athletes ?

~~~
mseebach
Because it doesn't actually have anything to do with "working with your
hands". Craftsmen are probably a better example - a talented craftsman, like
an athlete, though he's working with his body, can command soaring rates.

The classical worker, the kind I believe the GP meant to refer to, is a
commodity. It's the kind of workers it might make sense to hire as day
labourers and, conversely, for whom collective bargaining is beneficial.

There has been a tendency for some businesses to treat programmers as this
kind of workers, often leading to failed off-shoring efforts.

------
illumen
Supply and demand.

In some places they get paid more.

