
Why do business analysts and PMs get higher salaries than programmers? - AjJi
http://programmers.stackexchange.com/questions/45776/why-do-business-analysts-and-project-managers-get-higher-salaries-than-programme
======
timsally
The top rated comment on this question asserts that the reason why programmers
have lower salaries is because they are logical, intelligent individuals who
refuse to play the politics game and thus are hated by executives. Not only it
this incorrect (have you seen the politics in certain open source software
projects ?) but it plays into a narrative that programmers want to believe:
business people are corrupt and programmers are superior to them morally if
not in compensation. You're doing yourself a disservice if you follow this
line of thinking.

On the other hand, the top rated answer has a pretty elaborate and abstract
theory about widgets and film makers. I make no assertion about the accuracy
of this abstract theory, but I can summarize reality in a much simpler way:
many programmers work in businesses where software is a cost center. If you
want to make money as a programmer, you need to work at a company where
software is a generator of profit and negotiate compensation aggressively
after demonstrating your value.

The following is required reading if you'd like an algorithm for doing the
above:

Don't Call Yourself A Programmer, And Other Career Advice
[http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-
pro...](http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/)

Salary Negotiation: Make More Money, Be More Valued
<http://www.kalzumeus.com/2012/01/23/salary-negotiation/>

~~~
lmkg
Programmers tend to think that programming is the most important part of
making software. However, managers think that managing is the most important
part of making software, and business analysts think that defining business
requirements is the most important part of making software. Asking a room of
programmers about the value of business analysts is going to result in
feedback that is heavily biased. As you say, we've invented a narrative of
moral superiority, and it's a seductive one.

I suspect programmers are less correct in their assumption than they would
like to believe. Probably more correct than the other two groups of employees,
but still less than correct. The sad fact is, most programmers (especially
non-entrepreneurs) don't "get" what PM's and BA's do, the same way that most
managers don't "get" what programmers do, but their role still provides value
( _if_ they're good at their job). The nature of their job often involves
filtering crap for their programmers, so the better job they're doing, the
more invisible they look.

The value PM's provide is enabling specialization of labor. They act as the
interface between business stuff and tech stuff--translating business
requirements to tech requirements for their programmers, and tech trade-offs
into business trade-off for their stakeholders. It's something that
programmers can do themselves (especially entrepreneurial ones), but taking
that work off their plate lets them focus on technical matters.

Of course, the above is a perfect world, which is about as common as the
mythical sufficiently-smart compiler. Which is to say, it never exists and
never will. Nonetheless, there are such things as PM's that provide value. My
experience is that ones with non-negative value are about one-in-four, ones
with measurably positive value are less than one-in-ten, and if you find one
you should pay what it takes to keep them around. YMMV.

\----

That said, there are reasons why PM's are paid more than their value more
often than programmers are. I agree with the majority of these, but I'm
restricting my contributions to the portions of my opinions which aren't
echoed throughout this thread.

~~~
mgkimsal
"Programmers tend to think that programming is the most important part of
making software. However, managers think that managing is the most important
part of making software, and business analysts think that defining business
requirements is the most important part of making software. Asking a room of
programmers about the value of business analysts is going to result in
feedback that is heavily biased. As you say, we've invented a narrative of
moral superiority, and it's a seductive one."

I think I thought that way about 15 years ago or so, but by 10 years ago I
realized that ... almost without exception, I can get the tech stuff done. Of
course, I'd like to do it myself, but I can get others smarter than me at XYZ
to do the tech stuff. While the tech stuff is sometimes hard, it's almost
universally doable.

Have you ever had a project fail because you didn't know how to write to a
file, take data input or query a database? I bet not. But... we've _all_ had
projects that failed because none of the people involved could accurately
communicate what needed to be done (and in some cases, establish reasonable
timelines for those needs). Communication is key, and PM/BA types are
generally better at it than typical developer types. There are always
exceptions, but the PM/BA types are _perceived_ to be better at it, often
because they're controlling the communication, almost by definition of their
role.

So, while everyone thinks their part is the most important, they're pretty
much all equally important, but the PM/BAs tend to be more visible on
projects, rightly or wrongly.

~~~
Swizec
I've had projects fail because we couldn't get the core algorithms working ...

Hell, most of my interesting failures so far have been "Okay, so computers
can't do X (yet), or I'm too stupid to figure it out and don't know anyone
smart enough to solve X"

A lot of my projects would sell like hotcakes, once someone figures out a
practical implementation, or at least an impractical one.

~~~
mgkimsal
I'd thought about that angle, and I've known a couple of those myself over the
years (mostly second hand). But even in the cases I've seen, things might have
gone much smoother had there been stronger communication about the specifics
and what was (and was not) possible much earlier.

As soon as things look to be not possible, tell someone. If you're able to
pull a rabbit out of a hat later on, great, but let people know that real hard
limits (algorithm, processing speed, etc) are being hit. _sometimes_ what
someone was indicating was a hard requirement turns out to be a 'oh, it'd be
nice to have that, let's move on' sort of thing.

So, while I get your point, I think overall there's still things people can do
wrt communication even when there are fundamentally tech issues at stake.

~~~
Swizec
That depends. Most of the projects I'm thinking about had Solve A Hard Problem
at their core.

Granted, there might be a better way to solve it than devise some technology
to do so that I never thought of.

------
imgabe
Long story short, PMs are closer to the money. When you're managing a project,
you know you have a budget of X dollars to get it done. If you get it done in
X-P dollars, you can take that to your boss and immediately show that you
made, or saved, the company P dollars.

As a programmer or engineer, you may not even be directly aware of what the
project's budget is, so it's harder for you to demonstrate how much value
you're providing.

~~~
kyt
100% agree. It's always about how close you are to the money. The more direct
value you provide, the more you get paid. This is why lawyers get paid so
much, because firms know that for every hour they bill the firm makes $X
dollars.

Programmers provide indirect value. If you architect a system that saves
months and months of time later down the line, how do you value that?

~~~
joshAg
with hugely inflated numbers that assume the best case scenario for time-
savings, fancy charts and graphs, and perhaps even a buzzword laden powerpoint
presentation during your annual review.

------
Hominem
My PM is on vacation this week and I've had to partially fill in. I have been
getting frantic urgent emails from roughly 7 am till 1 am. If this is what the
guy puts up with, he deserves a couple bucks.

~~~
zalew
For receiving emails?

~~~
joshAg
No, for making it so that the rest of the team doesn't have to deal with
emails from 7am to 1am.

Part of the PM's or manager's job (at least if they're a good one, anyway) is
shielding the rest of the team from administrivia, so that they can be
productive.

------
robmay
There is a great book called "Management by Baseball." The author of the book
points out that baseball managers are typically former players, and they
usually believe that the most important position on the team is whatever
position they used to play. I doubt PMs regularly make more than engineers
across all levels at all companies, but in general the outcry you are seeing
about this isn't limited to engineers. In my experience, almost everybody at
almost every company thinks the thing that they do is the most important.

I can tell you that I have worked in 4 major roles: \- engineer \- sales
engineer \- business development \- CEO

In my experience, the pay is directly tied to the need of the position to
manage uncertainty and ambiguity, and evaluate difficult risk/reward
tradeoffs. As you move up the hierarchy, you do more of this.

~~~
slurgfest
You can form a baseball team entirely out of players. They might even play
pretty well. You just can't form a baseball team entirely out of managers.

If the upper levels are in more uncertain and ambiguous situations, that makes
it even harder to judge performance, which will give even greater weight to
wild heuristic guesses in hiring, and more cover for things like nepotism.

------
padobson
There's a reason why we all aspire to be Rock Stars in our respective crafts
and why the entrepreneur in us wants to hire the Rock Star.

Give me a business analyst who knows his marketplace inside and out. Who can
break down the value proposition our business offers to 25 different
demographics the same way John Madden breaks down a cover-two defense. Who can
see where the market is going before the market knows its going there, and
gets the team ready and motivated to get us there before any of our
competition even realizes they're behind.

Give me a project manager who can see fires before they start; who can guide
30 people to do the work of 300 and can keep 300 people working efficiently
toward the same goal. I want a project manager who craves efficiency in their
process like an addict craves meth. Give me a project manager who obssessively
clicks the refresh page on O'Reilly's website waiting for updates on books
about continuous integration, issue tracking, and version control practices.

And give me a programmer who knows the entire stack like the back of their
hand. Who can program Ruby, Python, Java, Haskell, Clojure, Objective-C, C++,
C#, Go, Scala, and every kind of Javascript. Who understands what the
different hardware constraints on a desktop application and a web application.
Give me a programmer who writes elegant unit tests for all of his code, and
evey algorithm is the minimum O. Give me a programmer who happily mentors
every other developer in our shop and, like Michael Jordan, makes everyone
else better.

Give me these three, and I'll change the world, and I'll pay each of them far
more than my competition.

~~~
codeonfire
Your view of business roles is flawed. The programmer has to do those things
but also know the marketplace better than the business analyst. the programmer
has to guide the less capable and new programmers on the team. The BA can't.
The programmer has to set up the Continuous integration server, issue tracking
system, source control repository, and use all of these things that the PM is
reading about with amazement. In fact these things are an insignificant
afterthought to the programmer, who has learned how to set up administer and
use multiple tools of each.

~~~
scottbruin
I think you're giving "programmers" too much credit or "project managers" not
enough.

I'm the product guy at a small-ish company and my main dev-side pet projects
are deployment/CI and development workflow, and I've implemented 95% of the
solutions for these as well as architecting our overall system.

Some would just say I'm a programmer then, but I think what padobson was
getting at is that good people in any of these roles get their hands dirty in
optimizing their area of concern, even if that overlaps in other areas.

------
ihodes
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.

~~~
stephencanon
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.

~~~
nickbarnwell
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

~~~
stephencanon
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).

~~~
alttab
Only if you are Bruce Lindsay and you invented Joins would it be comparable.
Directors or VPs often get quarterly options

------
Karunamon
Aside: _Yet another_ useful and thought provoking question and set of answers
on SE shut down "because it's not a good fit for the format".

~~~
AjJi
It was closed after 2 pages of answers and hundreds of votes - not so
problematic IMHO.

~~~
mark-r
That's only due to the age of the question. If a similar one were asked today
it would be shut down before it got 2 answers.

------
sardonicbryan
I'm a little surprised that the top answers on Stack Exchange accept the
premise that analysts and PMs get paid higher salaries. That is certainly not
the case at my company (mid sized tech startup), nor I would imagine at most
other tech companies.

~~~
eitally
I'd argue that most programmers don't work at tech companies.

------
njharman
As a developer of 20 yrs I dispute the claim "Programming harder than project
management". Pming is hard, stressful, and often thankless. And I've seen
multitudes more good devs than good PM.

Finally, I'm not sure pms do get paid more.

------
dpcheng2003
This is a true statement for any industry with a highly skilled labor force,
whether you write code, run excel models at a bank, or make jet engines.

From my observations/experiences, these three things are consistent (and it's
mentioned throughout the thread):

1\. Be closer to the money: There's a reason why sales people make more money
than marketers. Look at Salesforce.com's operating statement and they spend
>3x more money on sales and marketing than R&D.

2\. Never be the best at making a widget or they'll have you make the widget
forever: If you're the best at something highly technical, the management
would be crazy to promote you to something more client facing or more
managerial. There are some organizations that truly value technical skill on a
meritocratic basis (think traders at a hedge fund or rockstar developers), but
they are more rare.

3\. If the boss/rest of the company doesn't know what you do, you won't be
compensated for it: I wonder if the reason why Codacademy/Udacity is important
is because it starts to teach non-technical people like me the value of good
code. I have far more appreciation for my technical co-founder now that I've
tried to code than I did before (and I thought I already had a lot).

In the end, my suggestion is to gain a broader set of skills that make you
more marketable to your company or join a company that appreciates your
ability.

------
rwhitman
This is a rerun on HN. It's also untrue - analysts and PMs don't typically
make more than engineers, this is a bit of programmer urban legend. I actually
took a paycut for my stint as a PM

------
nicw
I view the PM role akin the role a sweeper plays in curling. A good PM will
clear the path for others on the team to do what they do best. Sometimes
that's wrangling with devops so the developers can keep programming, or it's
calling a meeting with stakeholders to brief them on potential issues before
they get out of control.

A good PM is offensive, not reactive and thats why a lot of times it seems
like they're just calling meetings. They're generally the only person that
interacts with all the different teams (management, QA, dev, IT) and so they
can see the upcoming roadblocks. IF they get those solved beforehand that's
worth some $$$ :)

~~~
patrickyeon
Just a tip, if you want to keep with your sports metaphors, and meant to say
"a good PM is on the offensive", you probably meant "a good PM is proactive
(acts to solve a problem before it shows up)". Describing someone as
'offensive' is saying there is something about them that offends you.

~~~
roel_v
"To be on the offensive" means "attacking something" or "being aggressive
towards something", not that the person who is "on the offensive" offends
somebody in the sense that that somebody's feelings are hurt -
<http://www.thefreedictionary.com/go+on+the+offensive> .

It's arguable whether or not a PM should be _that_ aggressive, but I'd say his
expression made sense.

~~~
vacri
"A good PM is on the offensive" and "A good PM is offensive" are two different
comments, the latter much more ambiguous and easy to misconstrue.

~~~
roel_v
Yes that's right, because the person I was replying to used "to be on the
offensive" I didn't go back and check, but yes the OP used "offensive" which
is quite different. My bad.

------
pumblechook
The easy answer is: because that is what the market dictates. Programming may
be difficult, but I'd be willing to bet there are a lot more programmers out
there than people willing to be a PM (and stick with it).

~~~
tatsuke95
Yep. And notice you got down voted for saying so. It happens to me every time.
Programmers don't want to hear that in many industries (those that aren't
pushing cutting edge tech) their skills are a commodity. It's just a fact, and
globalization is making it worse.

~~~
andr3w321
This. Programming is skilled labor which is why they make more than the guys
that work at McDonalds but there's still a ton of programmers out there.
There's a lot fewer people out there that know what to create, when to create
it and how to get the right team together to accomplish it than there are
people who know how to program. For every Elon Musk how many aerospace
engineers are there out there?

------
mrgreenfur
Why do you think BAs and PMs get paid more? Is there any evidence? Anywhere
I've worked they are very comparable for experience levels or the programmers
get paid more. I think this is an inferiority complex based on not feeling
'cool' like the business guys. Other business roles likes sales and management
(both tech and biz) get more because they have more responsibilities.

------
perfunctory
This has been pointed out already in several comments, but it can never be
stressed too much -- because programmers can't negotiate!

Want to get a higher salary? Do yourself and a broader programming community a
service.

Learn to negotiate! Learn to negotiate! Learn to negotiate!

------
gouranga
They get paid the same as junior programmers where I work. They are deemed as
equal value to the company.

To be 100% honest a good developer should be able to take on all three roles.
PM and BA are skills which should be built in as well along side other basics.

~~~
edwinnathaniel
Where is this "good developer" exist?

Most good developers that I know of don't communicate as well as BA or PM when
it comes to interfacing with non-technical people.

NB: Not to say that these developers are bad communicators. They're less
patient, they tend to have an "ideal" picture, and they work better with
computers than a normal human being.

~~~
gouranga
they're usually contractors these days to be honest.

I always sit in the middle between humans and machines and am quite happy
getting my hands dirty with both sides. Communication and management is part
of the job.

~~~
edwinnathaniel
Your reply made my day. Typically HN-ers would reply with something out of the
ballpark of Reality. This one is an honest, down to earth, reality reply.

Contractors, on the other hand, have to deal with Accounting department, BAs,
PMs, etc and then ship something... :D

------
zerostar07
I believe its similar to what happens in other sectors: PMs have to deal with
people, do lots and lots of schleps without the constant rewards of creating
something, designing something beautiful or the serendipitous discovery of
something remarkable. As a developer I m not jealous of their position, I know
they get paid better for doing what i Don't want to do

~~~
yashchandra
"I know they get paid better for doing what i Don't want to do" You summed it
up well. BA/PMs do the dirty work that developers can be shielded from.
Dealing with people is always a dirty work but extremely difficult to master.
A good BA/PM is one who does this well. If you can tell me that you can get
anyone to do anything in a project by your people's skills, power of
communication, aggression, I would pay you well and would not want to lose
you.

------
hurshp
The reason is just culture there is nothing else. When the major professions
Lawyers, MBA's, Doctors, Engineers became part of the majority work force a
culture emerged. Somehow the people who in aggregate create the most value in
the working world as far as dollar is concerned started to under bid each
other for competition, you look at any software/engineering contract there is
always and under bidding war going on, always.

But with Doctors, MBA, Lawyers they are always looking to get the most
personal financial benefit, and even put in laws and other policy to assure
they will, hence the prestige. It has gotten to the point where engineers are
seen as cogs as I can hire someone else to do the same thing, plus they are
paid the least anyway so they are easy to replace.

I think it is just starting to change if you go in the tech/startup world you
can make more money ,developers are paid even over $500k, the difference is
the culture they value your work.

------
donnyg107
Programmer for Citigroup here, Computer Science and Financial Engineering
major-

At citigroup, entry level programmers are paid just as much as entry level
business analysts. In a large company, no one needs "great" programmers. They
really jsut need capable programmers to get everything executed correctly in
such thick beurocracy. The reality is that good MANAGERS are much harder to
come by, so whenever anyone, business side or technical side, proves to be a
good manager, they move up and get paid more. So it's not that the programmers
are paid less, it's that they don't really look like programmers once the
company wants then to manage programmers, which is much much more valuable.

Bottom line, being a "good programmer" won't get you paid more. Anywhere. Not
even at google. Showing that you can make a company productive and be a good
manager will always get you paid more, because those are fewer and far
between.

------
ImprovedSilence
As an employee working at a consulting firm, I understand the difference in a
contract environment. Me, as a programmer, charge a client for my time. The
most money I can possibly make is my charge rate times however many hours.
But, I have a manager, they are in charge of several, perhaps 20 programmers,
working on various tasks for various clients. In reality, my salary is only
about 50% of what my company charges for my time. In this scheme, money goes
towards overhead, and the rest to management, whom I do agree, do a good job
keeping us programmers employed, and winning contracts to work on. could I do
this all myself and charge more money, sure. But in a bigger consultancy,
there is a great network effect, and more jobs to be done, thus I will less
likely be out of work. Is it a pyramid scheme? yes. Do I hope to be on top at
some point? yes.

------
gte910h
They're not?

I've seen very few places where PMs and analysts even get on par with normal
engineers (aka, non junior).

------
bmj
In my engineering group, we don't have project managers or analysts. We have
product managers (who are responsible for much more than a project manager,
and make more than the average PM, methinks). The lead engineer on each
project does some PM-y tasks, but it's generally up to the product manager to
produce the documentation/charts/spreadsheets.

In our operations group, there are PMs, but they are responsible for more than
managing programmers on projects--they oversee the whole project, and must
manage the resources from several sub-groups. Additionally, they are the first
point of contact for the client. They are well-compensated, but they are also
responsible for the whole of a client project.

~~~
jbl
I just transitioned from an engineering role to a product management role.
Product management means different things in different companies, but
generally a product manager will interact directly with every other part of
the company and "own" the product plan ---- what needs to get built and when.
Engineering owns the how.

That said, I think project managers can really help things flow. If you've got
a process you are sticking to, a project manager can help make sure things get
done when they need to. This is especially important when lots of things are
happening simultaneously (lots of clients and client requests, lots of
business development effort, lots of growth, technical challenges).

------
thibaut_barrere
Good business analysts and PM are more likely (maybe because of the situations
they are involved in, or because of their training) to realize and explain
what value they bring to the company.

For most "regular" programmers, it's not that clear :)

------
johnobrien321
I think I may be due to supply and demand.

PM's tend to be local, which isolates them from outsourcing salary pressure
(decreases supply). Programmers can be outsourced which exposes them to more
salary pressure (increases supply).

------
ap22213
In my opinion, it's because, outside a few rare companies, programmers are
generally viewed as mental laborers: the digital, modern equivalent of blue
collar workers.

Some comments above seem to rationalize this by saying that software
development is viewed as a cost center. Perhaps that's part of it. But, there
are many types of cost centers but which aren't viewed like programming.

------
Produce
It's simple, really. The core of society is composed of... You guessed it!
Social shit!

So why do lawyers, politicians, lawmakers and managers get the most money even
though they do nothing useful? Because we do not reward what we do not
understand. Engineering, the sciences and the arts are esoteric enough that
only a small collection of people 'get' them. Arguing a criminal case,
promising to fix society for the billionth time, drawing up a law or telling
people that they should do what you say because everyone says that you're the
person to listen to is something that _everybody_ can understand. Every person
on this planet understands that a new law will affect them just as they
appreciate that the country going in a different direction will do the same.
In comparison, few people know what goes into making the world tick and how
much of their lives are supported by IT infrastructure.

Ofcourse, everybody can understand cleaning, cooking and chopping wood too, so
why do those professions pay so badly? This is where supply and demand come in
- one needs higher education to perform bureaucratic functions; this is not so
for cleaning and cooking. Since getting that education costs money, motivation
and time, most people cannot afford it, hence it is in comparatively low
supply and therefore more expensive.

In other words, it's a combination of how easy it is to understand and relate
to the profession coupled with the barrier to entry.

In my not-so-humble opinion, the fact that we live in a society which values
talking over walking is completely and utterly idiotic. We've all been had and
we're having ourselves for doing so little about it. However, I feel no
resentment towards people in these professions - the game is broken, the
players are only doing what they can. The best we can do to fix this situation
is to educate ourselves and each other. When the older generation dies out,
the ideas in our heads will become the status quo.

------
kgen
Well, who should get paid more, the getaway driver, or the guy who
orchestrated the bank robbery?

------
sidcool1234
Any discussion on this topic always leaves me more confused than I was before
reading it.

------
lnanek2
I'm a programmer and I think they are worth more too. It's a disaster when you
have a bad business person and lose investors because there is no one to meet
them, or it takes several months longer than expected to hire a desperately
needed graphics designer, etc.. I've heard managers of mine mention getting
1400 emails a day, and I bet a lot of it is bitching they have to put up with
about budgets and timelines, and business considerations - not fun coding
stuff like I work with all day. You couldn't pay me to take a business job,
but I acknowledge it is more essential to the actual business.

~~~
slurgfest
If importance were gauged by doing dirty work without which things would fail,
then the janitor is also more valuable. But janitors are cheap because they
are easy to get.

If good* PMs are paid more, it is because they are harder to get. That doesn't
mean they are more important, just that the company believes them to be worth
it and does not believe it can get a better deal without paying unreasonably
for it.

* good means whatever the person hiring thinks it means. If the hiring manager believes in auras or psychoanalysis or nepotism, then those things will determine the hire.

------
codeonfire
Business analysts and PMs stay at corporations longer and build salary through
promotions. Programmers leave every couple of years and build salary by going
to more elite and richer corporations. So a new programmer may be working at a
low programmer-pay corporation early at which PMs are paid more than
programmers. Eventually programmers will end up at a place where they are paid
more than PMs and BAs. Even the most die hard programmer-hating director or VP
can't justify paying $150k for 'people skills'.

------
adrianhoward
When I'm in the mood to wear my extra cynical hat I quite like the developers
who think good business analysts and project managers don't add significant
value.

Gives me a heck of a competitive advantage :-)

------
jsmcgd
I think that people higher up the chain get more money because that's how
ultimately they are given authority. If someone who earned 25% of what you
did, continually told you to do something that you disagreed with, you would
probably think 'why am I listening to this guy telling me what to do?' This
organisation doesn't value you as much as me, therefore I think my opinion is
worth more than yours. Therefore I'm not going to do what you say.
Consequently you don't have that much authority.

Something like that.

------
DanielBMarkham
We make money in technology by making computers do things for people. This
means there are two, equally-important pieces: computers and people.

PMs and BAs are supposed to be able to both understand and bring these two
elements together. Of course, whether it works that way in reality is another
story.

------
WaylonKenning
I can always tell I'm in a room full of programmers when they say "coding" is
the most important part of making software. Oh really? That's a bit like
saying the person laying asphalt on the road is the most important part of
making the road. Oh, hey, what about the Engineers who designed the roading
material? The Planners who decided where the road should go. The Project
Manager who actually gets people to do things, and stops management from
changing their mind about where the road should go, and when it should be
created.

Nope, just the guy physically laying the road.

I had a big debate with a programmer about why Business Analysts, Project
Managers, and even Enterprise Architects get paid more than programmers.
Programmers create something from nothing. Without them, there would be no
software. And that's indeed correct. But has the problem of getting software
working in large enterprise environments been down to a lack of technology?

Generally not. It's more down to those human factors like what are the
requirements, who is the stakeholder, who has responsibility for this project,
who's got the budget, what are we doing, when is this ready, why did we build
this when we could have bought that, all of these soft skills, they're the
reasons why software projects fail. Not the software (generally, don't find an
edge case and be all Aha!).

That's why I'm working on becoming an Enterprise Architect. I can barely code,
and I'm OK with that. Because I do know about the structure of the business,
the canonical data model with an organisation, the high level enterprise
applications that support that information, and the infrastructure that
support the applications. Sure I'm not an expert in any one of those areas,
but being knowledgeable combined with being able to talk to the CIO and the
CEO with them understanding what I'm saying, that's a rare skill indeed.

------
bigsomar
This is a very general comment. Not all programmers and Analyst/PM are of same
quality. Check niche area's - e.g. HFT programming, can PM/Analyst get close?
No way.

A programmer who updates his skills frequently have a good chance of staying
on top.

------
known
Writing software != Selling software

------
Tycho
I think the fact that bad programmers can have such a negative impact has a
lot to do with it.

------
tsotha
Heh. Where I work business analysts and PMs make substantially less than the
developers.

------
asreal
Because bullshit baffles brains

------
yashchandra
I used to be a programmer who transitioned into BA/PM role lately. I see and
understand the pains of both sides. Sometimes, I want to switch into the
technical/programmer mode where I want to solve/code the thing myself. The
point is that these 3 roles even though not necessarily mutually exclusive,
are very difficult to do at the same time especially in large corporate
environments. At a startup, I am not sure if do need a separate BA/PM but when
you have to deal with 100s of business users across multiple countries, get
everyone to agree on scope/requirements, keep effective communication with all
stakeholders etc. etc., you need people who can do all these. This is where a
good BA/PM comes in. The value of a good BA/PM can never be undermined even
though it can be argued that a developer usually fills these roles many times
in certain circumstances. To summarize, a good BA/PM is not someone who only
is good at business/domain knowledge or a set of tools, but is someone who can
deal with people, glue teams together and is not afraid to wear many hats
which could include cold calling team members, pestering business users to
confirm things etc. etc.

------
horsehead
I always laugh when people question why others make more than them. Standard
salary for mid-level journalists is around $27k a year. Teachers are around
$35k. I don't know about other careers, but there's always somebody making
less than you.

------
sparknlaunch
From BA/PM perspective here are some possible reasons (with no disrespect to
programmers):

1 BA/PM generally spend most of their time dealing with politics, governance
and bureaucracy.

2 BA/PM spend a lot of time trying to elicit requirements and deal with scope
creep.

3 BA/PM act as a conduit between parties and stakeholders who rarely agree.
They attempt to gain compromise and keep the show on the road.

4 BA/PM take some risk and responsibility for things going wrong. And need to
fix these things.

5 BA/PM act a managers, managing people, strategy, finances.

There are more but you get the context. There are lots of intangibles (or BS)
needed to manage a project. You need someone to deal with it.

In certain industries BA/PM with a mixture of business, technology and BA/PM
skills can demand more pay.

I was a doubter before but seeing the daily issues that come out on a
challenging project, these BA/PM are probably underpaid.

------
yashchandra
after almost 50 comments, I say let the developers, BAs,PM, QAs all win. After
all, we all want to get the project out of the door, make some money on the
way and go home.

~~~
nodemaker
>After all, we all want to get the project out of the door, make some money on
the way and go home.

This is Hacker News, not Project Manager Forums. I am sure most of us just
want to create awesome things and not "go home"!

~~~
yashchandra
You took it literally when i said "go home". Fine I will refine it for you. Go
home as in go build the next product.

------
Devilboy
Ours do not.

------
justin_vanw
The assumption that PMs, or anyone else, get higher salaries is just wrong.
Depending on the company, pay scales are all over the place. At the company I
am at now, 'Engineers' (valley speak for programmer) have the highest pay
scale, meaning an Engineer is paid more than any other role at the same career
level.

Some businesses see programmers as replaceable cogs. Some don't. If you are a
really good developer, and you want to be paid well, one sure fire way to do
it is to physically move to an area where great developers are in short
supply. Silicon Valley is the nexus of demand in the US, for programming
talent.

If you do our engineering challenge at <http://www.codeeval.com/public_sc/48/>
, we'll immediately get back to you. We are always looking for talented
people, and working here is awesome.

