Ask HN: Are programmer salaries expected to drastically drop in the near future?

48 points by integricho ↗ HN
Essentially my question is related to whether there is a saturation of programmers in progress right now?

Looking at freelancing sites it seems that programmers from many regions come to work for ridiculously low rates. As programming is considered one of the more rewarding jobs regarding payment (at least in developing countries like mine), it makes me wonder whether this state will remain as it is now, or we should be expecting that it will fall apart, essentially putting programming jobs back to the same level with other day-to-day jobs.

38 comments

[ 271 ms ] story [ 2038 ms ] thread
Yes it will going decrease but in certain situation.

If technology become common and lots of developers are in that same technology then changes are high that rate will go decrease.

But at same time you will find something latest, something complex and something which needs mastery to accomplish - for this salaries will remain high as it is.

'I wonder what would happen, if there were a language so complicated, so difficult to learn, that nobody would ever be able to swamp the market with programmers?' - Bjarne Stroustrup [1]

[1]. http://harmful.cat-v.org/software/c++/I_did_it_for_you_all

The current tech bubble is likely to burst eventually. In 2000 when that happened jobs became harder to find.

That wasn't a dramatic drop, more of a bimodal thing where some did fine and some had no income at all.

>The current tech bubble is likely to burst eventually.

Is it a bubble though? I think this is just the new normal. A good portion of the largest companies on earth are silicon valley tech companies now. They are driving trillions of dollars in combined revenue. This is what the future of employment looks like.

By what metric are you judging largest companies? I suppose by us market cap you have Apple, Google & Facebook near the top of the list but it's hard to conclude SV tech companies are a large portion other than those.
(comment deleted)
The "tech bubble" is mostly a VC fueled startup phenomena in Silicon Valley. It pushed up salaries across the board near there but did not spread beyond a couple of locations in major cities. Even that is probably not worth mentioning when you consider the higher cost of living and the crazy hours alot of people were required to work in order to earn those salaries.

If you're part of the startup scene, it may be harder to leap into a similar or better startup roll as, I agree, that bubble may burst anytime soon. But then you either wait it out or join the regular mortals coding away and still producing multiples of their salary in value.

"web dev" is going to go down. "engineering" is not. learn real skills.

if your skillset is "i can write crud apps", india is not your competition. AI is.

Maybe, someday. Quickbase, DabbleDB, and others made valiant attempts to allow regular people to construct crud apps. I'm not sure what AI adds that's missing in those two attempts. Both have had some success, but not to the point of displacing some significant percentage of "devs writing CRUD apps". MS Excel has arguably the largest marketshare in "displacing developers".
Can you elaborate on "real skills"?
Not OP, but I think what he's saying it to learn more CS fundamentals.

Algorithms, Data Modeling, Patterns and more can be carried across domains from "web dev", to mobile, to embedded systems, etc.

about 95% of all "engineers" think that math skills are not necessary and anything that requires actual original thought has no place in their workday. you can apply this to web dev the same way you can apply it to AI. Tensorflow is already here. in order to run a somewhat working "machine learning" thing, all you have to do is grab a model of the shelf and shove your data through it. web dev isnt really the problem.

lets say you work in web dev, though: can you implement an http server from scratch? can you write an application without relying on a web framework? I'm not saying that that makes sense from a business point of view, but unless you can actually do these things - at least in principle - you dont really understand your job.

same thing with AI. of course you dont need even undergrad math to run a model. nobody has to. but do you really understand whats going on unless you can speak confidently on measures, confidence intervals, model building, tradeoffs between models, running scientific experiments, linear algebra etc.? i dont think so. you may be able to hang on. but you dont really know what youre doing. not really.

very coincidentally, the people who always say you dont need actual skills are the same people who are running around scared to death by the next impending wave of layoffs.

if you have real skills, you wont ever be laid off. not going to happen.

i dont really care whether ai solves crud jobs or not. why would i? i think its likely. maybe its not. time will tell.

but its a bit cute for 5 million ios app developers to tell themselves that they will find the same job creating the same single page "uberified" interface over and over and over again. i dont know whether its ignorance or arrogance and i certainly dont care. but if i was them, id be at least aware of the possibility that it could happen.

It is highly unlikely AI will ever be able to build CRUD apps. The whole reason they're not just auto-generated (without AI) is that you need to figure out the actual business requirements. Which lots of programmers can't do (https://codewithoutrules.com/2016/12/20/the-best-technology/), let alone an AI.
I bet on the opposite. We will rapidly see hand-crafted UI disappear. This is a next Google/Facebook opportunity. This will take place within 5 years.
I also think UI will be one of the first areas to be partially automated, or web based at least, partly because there is so much public data to consume and it all fits common patterns which is just what AI is good at.

The actual businesses though are all different so there is no stack of data that can describe how to architect those systems.

There is certainly an increase in the number of people interested in learning programming, but there's also a shift in the global economy where old enterprises are being modernised and therefore need programmers.

What I would seriously consider is to be really up to date with what programming skills you get. Maybe frontend isn't what you need, but AI and NLP is.

Seems pretty unlikely. Back in the early 2000's the freelance sites often had prices that were 1/10 or 1/20th of US rates. Unless these places are getting cheaper--and they're not, because the rates in a location mainly tend to increase--there's not much to fear.
It really depends on your skill level. Becoming an entry-level programmer, basic front-end dev, etc has become easier and easier in recent years, however the further you move up the ladder / the more advanced your skills get, the talent pool is small. Making the jump from journeyman programmer (what most bootcamps focus on) to software engineer with a solid grasp on CS fundamentals and running at scale is non-trivial.
No, I haven't worked at any company where we felt has enough engineers most of the time it was quite the opposite. A lot more industries are now augmented or being replaced with software.

Not to mention that those foreign programmers as plentiful as they may be, don't typically pass the bar for many of these companies. If so those countries would just build their own companies. Why would they even need to freelance here? This issue being building product is hard and silicon valley despite it's less than academic reputation has gotten really good at building things.

I don't see any evidence of saturation and as a hiring manager with a couple hundred person organization, I'm sure not budgeting for cuts or dramatic shifts downward in engineering labor cost.

As for programming jobs regressing to day-to-day job compensation, I don't see that as likely. In a good case (not even the "best" case), programming can create substantial multiples of the value created by a regular job. There's no reason for me to think that if we suddenly got more truly qualified engineers (that's a big "if"), that we wouldn't discover even more things that would demand qualified engineers to do and still be +EV for the companies.

Let me turn it around. What if you did know, with certainty, that programming jobs would regress in compensation. What would you do about it?

Interesting point, and to be honest I'm not sure what would I do at this point, so far my main philosophy was that deep understanding of fields that you specialize in + years of experience would pull you through whatever has to come. This is why I asked the question, wasn't sure if that holds true or not.
Years of experience is completely over-played by a lot of people (and in my experience, it does seem specifically overplayed in the case of programmers from India, possibly because of the strong influence of Wipro and similar shops in that market, possibly because of cultural influences or other factors that I don't understand).

A Java dev with 7 years experience and a Java dev with 12 years of experience are "utterly the same" in my book. Without any other information, I'd be willing to flip a coin between the two. That might even hold true for all values 4 or greater; I'm not sure.

I'd much rather have someone with 2 years Javascript, 3 years .Net, and some hobby work in Haskell or Go, even if I was hiring for a Java project. That person shows they have passion for programming, not about getting a programming job. (Yes, someone on the team would need JVM experience.)

There are other hiring managers and many recruiters who just want "N years or more in X tech", so if you are more comfortable getting N+1 years in X tech, you'll probably be able to keep finding jobs, but to me "finding jobs" isn't the only (or even primary) point of working in our field.

To be clear: deep understanding of a specialty and able to work effectively on a team is great and should always bring value. Years of experience (once over a pretty low threshold) is mostly irrelevant IMO. See: http://chiefexecutive.net/ideo-ceo-tim-brown-t-shaped-stars-...

> A Java dev with 7 years experience and a Java dev with 12 years of experience are "utterly the same" in my book

Most people will hire the 7, as he is generally about 10-20k cheaper... (see ageism problems)

Why would they be 10-20K cheaper, especially if that was 1 year of experience 7 vs. 12 times in a row?

I don't think this is an ageism problem at all. (I'm 45 by the way, supposedly squarely in the crosshairs of ageism in our industry.)

Ceteris paribus, I think we can all agree that someone with 2 years of industry experience is more valuable than a fresh college grad. Most would think that 4 years is more valuable than 2. Thus, it's appropriate that people in that stage of their career are getting promotions and raises in excess of inflation/CoLA increments, as this reflects a fair price for their increasing value.

At some point, if that same person stops really learning, growing, and differentiating themselves, their value stops going up (except for modest inflationary raises).

If that 12 year veteran is no better than the 7 year veteran but won't take a job offer at the same wage, then they damn well deserve to not get the job, IMO. That's not ageism; that's simple, proper, natural market forces.

Companies pay programmers to create value, not to be old or young. If I can create the same value as someone older or younger, I should be paid the same as them, regardless of age or years of experience.

Except you are missing how salary works.

It is never "You create X value. We will pay you .5x" (Outside of very niche places like Trading).

99% of the world is "Oh you made X at your last job? We can pay you X + 10k.

Hence the older dev tends to make slightly more salary than the younger dev, even if the skillset was similar. And by older, I mean years of coding not physical age. If a guy was a chef for 20 years and a programmer for 3, he is the same programmer age as a 3 year out of college guy.

I agree that many places work that way, particularly if they have no idea how much value a dev creates. I don't know if it's 99% or not; that seems high to me, and even at such places, if I go in with proof/truth that I made $500K at my last job, I'm not getting an offer for $510K as a dev...
500k will not lead to a 510k offer. If you aren't someone famous, likely true.

But if you have two identical guys going for 2 spots.. one guy last made 120, one guy last made 160. I bet their offers are 130 and 170, despite their IDENTICAL skills.

This is why the salary of your first few jobs after college matters so much. Screw it up by 10k and you can EASILY lose 200-300k of salary over your career.

Depends on the person too. The one with 7 years could be more experienced than the one with 12. I've seen some terrible coders (would struggle with FizBuzz level) with 10+ years experience.
I'd learn something new as a backup. In fact, I'm already trying to find that something to learn.
Freelancing sites are not good indicators of the industry at large, IMO. The rates on elance and similar sites have always been pretty low. gun.io is pretty much the only exception to this that I've found, and that's because they do some vetting of the clients beforehand. Highly recommend checking that out if you need work. I am not affiliated in any way with gun.io, other than being a happy user of their platform (as a freelancer).
Rates on freelancing websites were sky high for every non-western country (plus, you don't need pay tax on income from abroad), but people tend to die, age, or move on from development. This is in part a reflection of normal demograpgic trends. Freelancer rates were rising for the last 10y
Not in the near future for sure. Right now, programming is still contained (for the most part) to product development/ web stuff. The next step is for programming to leak into all aspects of business - from lead generation to marketing automation to operations optimization and really across all the boards. This is already happening in 'tech' companies, but will soon be prevalent across all industries. If you want job stability, learn code AND a non-technical skill like marketing, and you'll be gold.
Try talking to these cheap freelance developers, and look at the quality of code they produce.
Yes, in general, available work will decline significantly as will pay. That said, there will be an ever-narrowing niche for work that requires extremely high skill and that pays unprecedentedly and increasingly high returns. This is because every time a piece of software antiquates a former programming market, that software requires a shrinking group of even more talented coders to develop.

We're seeing this in machine learning right now. Machine learning can replace a lot of the code we used to implement with expert systems or rote heuristics. If you can develop that code (and not many can), you can command unusually high salaries, but there will come a time when developing machine intelligence becomes fairly straightforward itself. In fact, this is already beginning to happen. And then even these coders with their rare skills will start to see their salaries fall.

This has been a consistent pattern throughout the history of software engineering. However, I believe we're going to see salaries fall off a cliff soon, because I believe we're actually quite close to automating good software engineering in general.

It's going to be amusing, as a lot of the best coders feel particularly superior and entitled to their impressive compensations.

"I believe we're actually quite close to automating good software engineering in general."

What leads you to believe this is true? At the moment we don't even have good automation for telling us where a bug is in a stack trace, or a solid definition of "good software engineering."

Yeah I think the same thing. If we compare Hadoop to Spark, Spark is just easier and faster. It is superior in almost every way (unless we are talking about 1PB+ scale). I think data science will be automated. Some things wont, but engineers can already get pretty far by jamming data into ML packages.
The answer to your question is the same as: will the cost of living drastically drop in the near future?

Nope. Salaries? Same.