

Developer salary growth is an inverted hockey stick - nathanh
http://blog.hirelite.com/developer-salary-growth-is-an-inverted-hockey

======
zach
Five years of experience as a programmer is like becoming a "made man" in a
crime family. Before, you're nothing. After, you're trusted and respected.

I was in the same job from years 2-5 and didn't see much of a raise. Then when
I got a new job it was more than double the salary. And it does seem like you
have to leave to go somewhere else, or else you're a prophet without honor.

It's also clear from the graph that after 5-10 years of experience, much of
the increase in income growth will be expected to come from non-salary
compensation. Which may be equity, bonuses or stock plans, but it's all about
getting a piece of the action. Which, again, makes programming sound like it's
the mob. Sorry about that.

~~~
nathanh
Was there anything you did as far as negotiating the salary at the new job or
did they offer you that much straight up?

~~~
zach
This was years ago but I mention it since the demand for developers was
similar.

I was going from a really low-paid games job to doing application programming
for a large startup. Game programming tends to have even more depressed
starting salaries than usual, although this was back when everyone was still
salaried.

My former boss actually predicted that I "could make twice as much somewhere
else" when I left, and the new employer in fact offered that straight up.

------
meterplech
In economics the reverse hockey stick growth is known as diminishing marginal
returns. This simply means the market values the earliest years of experience
as much more beneficial to a developers skill than the later.

While I understand the idea behind hiring young and inexperienced, it should
be noted that the wage rates are there for a reason. The training
costs/possible managerial time may be greater for the average college
graduate. (Clearly not always true- I am just trying to postulate why the
market values experience this way).

~~~
nathanh
You're right about training costs for college graduates. Another thing to
consider which isn't directly mentioned in the post is training across a
(programming) language difference. If someone is a C# developer and wants to
join a company that uses Ruby or Scala, they might be willing to take a pay
cut to get experience with new technologies.

~~~
Dylanlacey
That's an excellent point. Personally I've never considered that because I
feel that experience 'programming' beats experience 'programming $language',
at least for people who are above average.

Above average means giving a shit about being a developer, not just being in
it for the employment.

------
TomOfTTB
This is true in most industries. You either move on to a management position
or stagnate. The problem is it doesn't really work in the development world
where you can get better and better the more deeply you use and understand the
technology. Plus it has the side effect of pushing highly technical people
with no management skills out of jobs they're good at and into jobs they can't
do well (imagine Woz trying to be a manager)

That's why many big tech companies have moved to a "level" system (to the best
of my Knowledge Microsoft started this trend but I could be wrong). In that
type of system you can continue to be a developer but move up in level and
salary. That way great developers can stay great developers and not be
penalized for it.

~~~
metageek
> _That's why many big tech companies have moved to a "level" system_

Although you have to do it right. Netscape had such a system, with levels
ranging from T1 to T7. I started at T4. Two years later, I was doing work
that, according to the written definitions, should have put me into T5. I
asked my manager if I could get promoted; he bumped it up to his director.
About four months later, the director answered me: yes, I did meet the written
definition, but, no, I couldn't have a promotion, because they didn't actually
use the written definitions. They were guidelines, but the real standard for
promoting to level N was comparing the person to other people who were already
at level N...and there _were_ no T5s in the company.

Basically, it was a firebreak, which provided the appearance of a career path,
without providing the reality. (I expect this wasn't on purpose, but that was
the effect.) Three months later, I moved to another company, hired as what
Netscape would've called a T7.

------
parfe
This has created a pretty serious issue at my current job. My experience is
increasing in value faster than policy lets my salary appreciate.

Policy is forcing me to find a job elsewhere. I cannot rationalize continually
taking a relative pay cut to stay where I am.

------
azanar
There is an interesting subtext in this article, which is to suggest that you
take _more_ risks as you get closer to the asymptote of salary growth, because
it's the way to avoid diminishing returns for the additional skills you've
learned between hitting the level of "experienced" and now.

It's the opposite advice that makes up common wisdom, which is to take risks
when you are young, inexperienced and without responsibilities, and then
settle into the comfortable long-term job with small raises once you get past
that phase. I'm not surprised by this; if technical skills compound at _all_ ,
it would seem that a developer's value would trend exponential and not
logarithmic. That is, so long as they don't weary and stagnate.

But then, there is also value for the inexperienced in a startup, in that
you'll learn a ton, and be given a lot of responsibility and autonomy. It
might be that common wisdom is only half-broken.

Granted, there are opportunity costs involved. You might be in a position
where you have to trade capitalistic striving for a paycheck, as a ribbonfarm
article posted here a while back put it. It's as much being aware of those
opportunity costs, though, as it is knowing whether or not you are in a
position to need to accept them.

~~~
leelin
Not quite. I think this is conventional wisdom:

If you take a risk and co-found your own startup with 0 years of experience,
then even if you tank 2 years later, you are likely to wind up close to the 5
years of experience point of the hockey stick when applying for a job.

Basically, the startup gives you a small chance of huge upside, and on the
downside, you become a normal W-2 salaried employee but begin at a point
farther along than someone who played it safe the entire time.

Whether this happens in practice is probably highly dependent on whether the
risk taker demonstrated some goodness during the failed startup.

~~~
azanar
_If you take a risk and co-found your own startup with 0 years of experience,
then even if you tank 2 years later, you are likely to wind up close to the 5
years of experience point of the hockey stick when applying for a job._

That's probably closer to the conventional wisdom around HN, but it is a far
cry from conventional wisdom amongst the masses. The wisdom amongst the masses
is that if you co-found or join a startup, you are playing roulette with your
financial security.

But the article's point -- which I agree with -- is that even if you
accelerate this process of getting to that 5 year threshold, you are doing
yourself a disservice fiscally by settling in at the plateau unless you have a
good reason forcing you into settling.

You're likely still learning more, and becoming more valuable, but it becomes
much more difficult to extract that value through salary. So, it becomes
beneficial to join companies where that only makes up a part of the total
compensation package.

------
stcredzero
It's more of a 180-degree rotated hockey stick.

~~~
innes
All hockey sticks are.

~~~
stcredzero
Only if both ends are considered the same or outside of flatland.

------
daemin
Just thinking out loud here.

Could it be that after 5 or so years engineers are in long term relationships,
perhaps kids, etc and thus are less inclined to rock the boat and ask for a
significant raise.

Could it be that a lot of developers leave after about 5 years or so and go
into other fields (management, startups, etc) so that the people left in the
job for 10+ years are actually comfortable with just plodding along?

Then again I'm left thinking that it could be because there actually isn't
much of a difference between a developer with 5 and one with 10 years of
experience (in the general sense).

This is interesting to me, since I've just gone past the whole 5 years of
experience thing, hit a limit with one company, and moved elsewhere for nearly
2x the money. Wondering what/where I should go next.

------
ojbyrne
It seems to me that this assumes developers never get promoted (which makes
the long term look unappetizing). But developers become lead developers,
architects, and ( _gasp_ ) managers.

------
tertius
How do I get a job at 0 years working remote from Houston?

~~~
fbuilesv
I've been working remotely for 5 years doing all sorts of web development. The
two things that have helped the the most are:

1) Open source contributions.

2) Personal projects.

I still haven't made any money from any of those but putting them in the
emails I send to offers found on the different job boards have always put me
ahead in the line of people applying.

If you're desperate for money you can always go to sites like oDesk and
applying for stuff there. You'll have to accept $15-$30 per hour (or even
lower when starting) but once you get a good reputation you can make a decent
salary out of that.

Finally, write me to federico@toptal.com if you have a semi-decent Github
profile and I'm sure we can reach an arrangement!

------
mayank
A labeled y axis or error bars would be nice...just to dispel that vague link-
spammy feeling.

~~~
nathanh
The y axis doesn't have specific units because they vary so much by location.
I tried to mention a few specific data points below the graph to provide a bit
more context. Good point about the error bars. I'll try to include them in an
update to the post.

~~~
mayank
any chance you'd release the raw data? my email is in my profile, i'd be happy
to share the results.

------
Nate75Sanders
I'd probably call it a logarithmic function where dying is a problem in more
than just a "boundary value" sort of a way ;)

------
bmohlenhoff
This got blocked by the proxy server at work. Can anyone summarize (if a
summary is even needed beyond the title)?

~~~
marshray
I think they're telling you to find a new place to work.

~~~
metageek
Speculation: maybe the proxy server blocked it because the domain name
includes the word "hire", and the company is trying to _keep_ people from
finding a new place to work.

~~~
mcknz
This Websense category is filtered: Blogs and Personal Sites.

~~~
icefox
Though that could be a lie to make you not know they are blocking you from
looking at 'hire' websites.

~~~
marshray
Either way, I find much of the best information on some narrow topics are on
sites that could be described as "blogs".

------
Tichy
For a moment I feared to see that chart the other way round (starting high,
ending low).

------
endtime
Anyone have a sense of how true this is at big places like Google and
Microsoft?

~~~
brg
One thing not taken into account in this discussion is the natural limitation
of career growth. Everyone has a cap on their advancement. Some devs hit that
cap after 4 years, some after ten. But a smaller and smaller percentage of
employees are promoted to a higher level after the requisite amount of
experience.

At Google and Microsoft there is very large percentage (~60%)of employees in
the T4/SDEII bracket. This is the 2-5 year experience bracket. The percentage
of employees in a level exponentially tapers off when compared against higher
levels. This could be one explanation of the graph as presented.

At the companies you mention, the graph is accurate when plotted against
population but incorrect when plotted against level.

Mid to higher levels see approx linear growth in salary and compensation until
the top echelon. The compensation difference between two levels is
approximately 10% the starting salary of a college hire. However, this highest
levels including directors, tech managers and partners see clearly non-
continuous bump in salary and equity (2-5x salary, 10-50x stock).

------
Travis
I'm surprised nobody has discussed the selection bias going on here. The
better programmers are the ones that will stay on. IDK what the general
turnover is in coding, but it makes sense that some people won't be able to
hack it, appearing to boost the salaries of the "better" workers.

