
Pricing Programmers - ingve
https://www.facebook.com/notes/kent-beck/pricing-programmers/1062181727148024
======
lemevi
For years, from one job in the bay area to the next I worked on products that
never made any money and ended up being canceled. Even when I worked on a
project that ended up making money I spent a year working on a version that
was rebooted from scratch before customers ever saw it.

At a couple of startups that never took of afterward I could clearly see the
impact that code I wrote was making on sales and value. It wasn't very much.

I'm not sure why people pay me so much, but I'm glad they do because I get to
do what I love (programming, not not shipping), and I get to live off of that
at the now rare and fading middle class standard of living.

~~~
gotchange
> I'm not sure why people pay me so much

Why is this sentiment in the community common? I can't really find an
explanation for it so far.

~~~
gsnedders
It's incredibly pervasive—it's essentially one way of imposer syndrome
manifesting itself.

~~~
TheOtherHobbes
It doesn't seem to be so common among marketing people, lawyers, or
politicians - all of whom, in increasing order of severity, might benefit from
more if it.

~~~
Joof
They often have different personalities.

Also: Marketing has a measurable outcome.

Lawyers work like slaves (very well paid ones) and have a measurable outcome.

Politicians do a lot of marketing / fundraising.

Programmers don't always measurably see the value of the things they create.
Especially on a large team. This obviously depends on the product.

------
sl8r
The labor market for programers in the tech industry has two features
(anecdotally observed) that are interesting to me:

1\. Labor does not receive (or insist on) percent-of-value or percent-of-
transaction compensation. This is in contrast to some other professional
disciplines (e.g., salespeople often get paid on a percentage or commission,
bankers often take a % cut, pe / vc / hf has 2% and 20%, real estate is on a
%, lawyers may get paid on a % ("contingent fees"), etc.)

2\. Initial salaries are good, but there is wage stagnation. Just-out-of-
college salaries for programming are often better than virtually everything
else (notably, banking and consulting); but after ten years, the opposite is
relationship is reversed (considerably so). The difference between a newgrad
salary and a 10-yearer salary for tech-industry programmers is often (in my
anecdotal experience) less than 2x. In contrast, 5x or more is not unusual in
other fields.

~~~
gizi
You can never make good money as a programmer, if you let non-programmers pick
the subject, or let non-programmers monetize the platform in your stead.
Google and Facebook are worth hundreds of billions of dollars exactly because
there is not one non-programmer with a say in them.

~~~
cynicalkane
Steve Jobs knew programming, but I wouldn't really call him a "programmer" in
the way you're thinking about it.

~~~
phaus
Steve Jobs probably didn't "know" programming.

[http://www.woz.org/letters/does-steve-jobs-know-how-
code](http://www.woz.org/letters/does-steve-jobs-know-how-code)

------
gotchange
Well, at the risk of sounding negative but I'm surprised that this incoherent
rambling made it to the top of the chart on HN and garnered such interest from
the community.

I read the whole thing but I couldn't follow exactly what he was trying to
convey there. Yeah pricing is difficult and one of the most intricate subjects
in marketing and just ask any marketer or MBA student/pro and he will confirm
that and labor is no different.

I also think that compensation would be a better choice of words than pricing.
Human labor is a commodity and thus carries a price but the human being itself
is not a commodity and can't be priced, bought or sold whether he be a
programmer, plumber, astronaut ... etc.

------
Hytosys
>If I create $1M of value for the company, you can compare my price with $1M.

Incorrect. If your company were to pay you the same amount as they profit off
of you, you wouldn't be sticking around for very long at that company. That's
the basic requirement of your company's mode of production.

>If the ranges of acceptable don’t overlap, it’s worth stepping back and
clarifying what glasses people are using to look at the numbers.

Consider my previous assertion. You may come to this conclusion: "it is
unacceptable that I don't make as much money as the money I produce for my
company." You may realize that the entire economic system is structured that
way. Then, you're right that it's worth stepping back and clarifying what
glasses people are using.

~~~
fengwick3
> Incorrect. If your company were to pay you the same amount as they profit
> off of you, you wouldn't be sticking around for very long at that company.
> That's the basic requirement of your company's mode of production.

Why is this a basic requirement? Assuming by "amount they profit off" an
employee, you refer to the economic profit (that is to say the profit after
taking into account of all economic costs, including opportunity costs) rather
than the nominal value, then I really don't see why this is a basic
requirement.

This really perplexes me especially since the amount the company pays should
be exactly equals the amount of economic profit you generate for the company,
in a perfectly competitive labour market. Of course, reality is not always
perfect, but for the average programmer it's pretty close (skills are quite
homogeneous and programming jobs are less constrained by geography).

~~~
Hytosys
The capitalist would not be making any money off of the capitalist endeavor if
their workers were not being paid less than 100% of their work's value.
Incidentally, the economic system is set up in a way to obscure this basic
fact. Example:

Say a TV is priced at $100, the raw materials to produce the TV costed $24,
and all of the depreciated tools in building the TV costed $1 (the tools wear
down, eventually requiring replacement). The labor performed by the worker
produced $75 of market value.

If the capitalist pays the worker the fair $75, the capitalist makes nothing
off of this whole coordination. Why in the world would the capitalist do that?
Not only can the capitalist not take some of the money for themselves, they
don't have any money to expand their business. A company that doesn't expand
is a company that is eaten alive by companies that do expand. If the worker
gets the $75, the capitalist isn't happy, and the capital isn't happy.

$30 goes to investment capital, $20 goes to the capitalist's wallet. The
capitalist pays the worker $25.

Software is no exception to this reliable, yet simplified model.

------
iandanforth
"In the best case the programmer and the company will both think they are
getting a good deal."

IMO that is far from the best case. That allows "ignorance is bliss" and, at
the other end of the malice spectrum, for one party to be taking advantage of
the other.

I once sold a rare trading card for $50. I thought I was getting a good deal,
the other person knew it was worth much more than that and thought they were
getting a good deal. Was this situation optimal?

I once sold a laptop to a person over craigslist for a fair price. He thought
he was getting a good deal as well. When I got home I discovered that model
had just been obsoleted and so a brand new one was as cheap as the used one
I'd just sold. Was this situation optimal?

~~~
xiaoma
What do you believe the best case is?

~~~
iandanforth
As with most negotiated agreements, _neither_ side should feel like it's a
good deal, but all should have sufficient, accurate information such that they
can agree on what the limiting externalities are and how they necessarily
shape the final deal.

Edit: I should note that this assumes a somewhat unlimited self-interest on
both sides. Real people might not take all they can get even if it's offered,
and real companies might not mind paying more than necessary even if they're
not asked.

------
jzwinck
I've seen two competing philosophies of how to determine pay.

First, you can find a large pool of candidates, learn the typical wages in
your market, and make offers pegged to the average (with some offset). You
will learn what fraction of your offers are likely to be accepted (maybe shoot
for 60%), and adjust accordingly. This works if you want to hire a dozen or
more people over the course of some months.

Alternatively, ignore price, look for candidates, and when you find the right
one, open a negotiation where you determine what price they are willing to
take. If you need to hire a small number of specialists, this may be the best
way.

I have also experienced failed recruitment schemes, such as ignoring price
until the end but then pitching a "fixed budget" (which sometimes means
"political limitations").

You can choose which method to use every time you hire. Great candidates may
also be choosing, and you know which model they will cater to.

------
staticint
As always, prices are determined by supply and demand.

A price is too high if the buyer can find the same thing (another programmer
considered to be an equal hire, in this case; people are not commodities so
this can be difficult to evaluate with absolute accuracy) for less. A price is
too low if the buyer cannot find the same thing for even an equal amount.

The price is just right, at that moment in time, if there is a mutual
agreement between a buyer and a seller.

~~~
burnallofit
And ... we control the supply. If we all agree, we can set pricing however we
want. Yes, it would be a monopoly/union/cartel, but OTOH, we could double or
triple our take home overnight.

------
yason
Hiring gets a lot of attention, but pricing is vague there.

It is much easier to estimate the price of an already hired programmer with a
track record known over years and who has knowhow of the company's
infrastructure, style, and knows the interactions between people and teams.

Also, it is usually easy to estimate how much it would cost to replace the
well-known, skilled programmer with a new hire so I might assume that a
careful owner or manager would be eager to re-evaluate his/her price
continuously and adjust their salary upwards regularly to basically re-hire
the hired programmer, to re-establish the position over and over again.

But large or continuous salary increases are not that common. You generally
have to change jobs to get a significant raise to your salary.

It seems to be companies are more careless and flimsy with spending money on
new hires and more conservative and thrifty with spending money on their
existing hires even if that behaviour is in direct opposition to the amount of
betting they are required to do.

~~~
JamesBarney
I think the companies many times view a new hire as an isolated event and a
raise as systemic.

------
mdevere
Have to say, this reads like he's self-deriving micro-economics for the first
time. My very simplistic way of looking at this (not having hired anyone
myself) is as follows. If the company has a good strategy and is being run
well, than Kent should probably not worry about value created by his new hire
because it will dwarf any employee salary. Just make sure you hire the best
one you can find and offer him/her a market-beating proposition (which
comprises salary, culture, etc.)

------
Dwolb
People write a lot about how much programmers should make. I think there's a
couple of sides to the discussion which the author mixes together instead of
separating out by stakeholder. (i.e. he discusses opportunity costs for all
stakeholders instead of discussing a specific stakeholder then talking about
her opportunity cost). Someone could probably come up with a pretty robust
framework or model for individual companies and individual programmers and
look at how those interactions play out over a repeated game.

But there's a pretty simple rule in a competitive market: prices are set by
the next highest bidder.

~~~
gizi
All of this assumes that you will work for someone else who will monetize the
platform that you build. That's not how you create Google or Facebook
valuations. The first rule is that you must decide by yourself what platform
to build. Someone without hands-on knowledge of what exactly technology allows
to build, cannot do that properly. The second rule is that you must monetize
the platform by yourself. If you break these rules, you will never make
serious money.

------
ruffrey
I like it because it de-commoditizes programmers. It forces you to evaluate
each person and the business role rather than 'the market price for a
programmer with X skills' which has always driven me crazy when dealing with
large company HR. Human resources, treating people like commodity resources,
heh.

------
peter303
When was the last time you saw a programmer wear a white shirt and tie to
work? Maybe last at IBM in the 1960s.

------
Alex3917
Programmers are worth $0 because programming isn't a job. It's not even a
skill; rather, it's more of an active literacy.

Asking how much you should pay a programmer is like asking how much you should
pay a telephone user, or how much you should pay a pencil user.

~~~
ketralnis
If you need someone with programming skills and are willing to pay them, and
someone with those skills will work for that amount, that's the price of a
programmer. Asserting that the skill is worthless doesn't make sense as long
as people will pay for it.

Even if you just consider it a form of literacy, scribes absolutely were paid
to do their work before literacy was as widespread

~~~
rgbrgb
People don't pay for "programmers" they pay for people to make products.

~~~
mruniverse
People don't pay for people to make products, they pay for people to make them
money.

People don't pay for people to them to make money, they pay for people to
build wealth.

People don't... wait I have to throw up. Will be back.

~~~
dang
You have a decent point here, but please don't optimize for snark on HN.

~~~
mruniverse
But pompous comments are ok?

~~~
dang
They're definitely not great, but the class of all comments that strike
someone as pompous is so large that standardizing on snark in replies would
sink us.

------
gizi
Google and Facebook are factor-11 dollar values (11-zero decimals, aka,
hundreds of billions of dollars). The typical programmer will make a 6-zero
revenue in his life time. You can create 11-digit value, only if you pick the
subject by yourself. A non-programmer has never in history been able to pick
an 11-digit subject. Only programmers can create half a trillion dollars in
value.

~~~
username223
> A non-programmer has never in history been able to pick an 11-digit subject.

Yeah, no:

    
    
        https://en.wikipedia.org/wiki/Standard_Oil

~~~
scott_karana
To add on to that:

> By the time Rockefeller died in 1937, his assets equaled 1.5% of America's
> total economic output. To control an equivalent share today would require a
> net worth of about $340 billion dollars, more than four times that of Bill
> Gates, currently the world's richest man.

