Ask HN: Are programmer salaries expected to drastically drop in the near future?
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 ] threadIf 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
That wasn't a dramatic drop, more of a bimodal thing where some did fine and some had no income at all.
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.
https://www.google.com/finance/getchart?q=XLK&x=NYSEARCA&p=4...
Still hasn't recovered.
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.
if your skillset is "i can write crud apps", india is not your competition. AI is.
Algorithms, Data Modeling, Patterns and more can be carried across domains from "web dev", to mobile, to embedded systems, etc.
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.
The actual businesses though are all different so there is no stack of data that can describe how to architect those systems.
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.
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.
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?
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-...
Most people will hire the 7, as he is generally about 10-20k cheaper... (see ageism problems)
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.
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.
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.
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.
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."
Nope. Salaries? Same.