What is the future of software development pay range?

twitter logo github logo ・1 min read

Software developers are paid pretty well. In some markets, top developers are paid extremely well. Perhaps they are paid commensurate to the value they bring, perhaps not.

Regardless, what do you think is the future? Will pay range widen? Will top devs make more? Will all devs make more? Will our industry become less differentiated, leading to general pay decreases?

Thoughts?

twitter logo DISCUSS (42)
markdown guide
 

I don't pay a great deal of attention to trends around pay in technology (or elsewhere for that matter), so here come some general vibes, based on... not a whole lot.

I imagine incumbent devs will continue to make good money, especially if they have a good amount of time with their company. Domain experience trumps everything else when it comes to getting paid well and your company wanting to hold on to you.

The generation that is currently growing up, learning to code in elementary school, is likely in for a rude awakening when they make it to the real world and find that starting salaries for folks who can code aren't that much higher than the average bank teller or retail worker. When what we do becomes a part of a basic K-12 education, there's no way the lower band of the salary spread can stay as high as it is now. Supply and demand and all that.

I can totally envision future-kids having after school jobs hacking out a bit of code for bank-x or retailer-y for a meager hourly rate.

When a topic like this comes up I always think back to when an aunt of mine was a very highly paid sales assistant and a high-end department store, pre-internet, when she genuinely knew more than her customers about what color tie would look best with those shoes. Fast forward 25 years, those folks are barely making minimum wage (if the stores they work for haven't already gone bankrupt).

 

I don't think this will happen. We've been trying to teach people math for 2000+ years and less than 1% of the population manages to learn calculus. Even with all the accessibility strides we are making I don't see the number of programmers increasing any time soon. Programming is more like math than people would like to admit. It's not hard, same way math isn't hard but people just don't stick with it long enough to start seeing the real value.

 

As a person who went through K-12 and University and still didn't learn calculus, I totally hear you.

But claiming that math education isn't successful because less than 1% of folks learn calculus (a specific, frequently not mandatory, subset) is a bit disingenuous. The fundamental shift that basic numeracy and literacy has had on the workforce over just the last 100 years proves that basic education goes a very long way.

Programming will probably look much the same. Students will learn the basics, maybe a scripting language and some web technology then go on their merry way. Very few will learn advanced algorithms, functional paradigms and design patterns etc. But look around you - most of today's entry-level, but highly paid, developers don't know these things either (true from my experience at a lot of large companies - your experience may vary).

We're not going to be graduating fully qualified programmers from high school (just like we don't graduate math geniuses), but we will be graduating way more folks with the minimal skillset to get the job done. It's these folks who will represent the new entry-level for the software industry, and their pay will match their youth and experience.

Putting math on the same level as programming doesn't make sense if you take into account the fact that it is only an elective in high school (not sure if its the same thing in your country, but in Canada it really doesn't get much attention). I haven't seen good programming teachers in high schools either (quite a few good math teachers in comparison), and I don't see this changing any time soon.

Fair point about the current state of math vs programming. But on whether this changes any time soon:

Where I'm from (Australia) and where I've lived (Germany and USA) there are consistent an well supported pushes to adjust curriculums to include software skills/programming as core subjects through K-12 schooling.

A lot of what I'm saying is based on a reality that exists after these changes have been made.

All things staying as they are now, the situation will likely look very different.

Most engineering subjects get incorporated into different classes (math, physics, chemistry, etc). From a logistical point of view you'd probably need to have a class dedicated to computing which is something that I just don't see happening. If you look at how advanced GUI-based "programming" (e.g., SaaS products such as Jira) has become learning how to write code isn't essential enough to justify this.

To your first point: I had core computing classes throughout high-school. In those days they were there to help you get proficient with Word, Excel etc. (they were the big "you have to know these to get a good job" tools at the time). In my last couple of years the curriculum was expanded to include a number of Python programming modules. So I wouldn't say having a dedicated computing class is all that far fetched.

I think delving into a conversation about whether learning to code will be essential going forward might be a bit too tangental for this thread.

Good chat, though. It's always interesting to see a different perspective 👍

But claiming that math education isn't successful because less than 1% of folks learn calculus (a specific, frequently not mandatory, subset) is a bit disingenuous.

I brought up the calculus example not because I think calculus is special or hard but because it's simple and we have been teaching it for a long time. People just don't bother retaining the knowledge to use it in their daily life. I think programming is the same. Algorithmic thinking is a skill but most people just don't bother. This is before we even get to the logistical problems of developing good CS teaching materials and getting enough teachers versed in the material to teach it.

I would like nothing more than to have technology advance to the point that I didn't need to write code and that there were enough people around who could solve their own problems with computers instead of delegating the responsibility to a priestly class but given the historical evidence I just don't see it happening. For the foreseeable future programming will remain a rare enough skillset that salaries will not go down.

I don't think this is wishful thinking on my part just because I'm a programmer and want to continue getting paid a high salary. I think we are collectively bad at allocating educational resources to meet societal needs. There will continue to be a shortage of people versed in the algorithmic arts even if we start teaching CS concepts in kindergarten.

 

I think we're forgetting about the economics of the situation. From what I can see it comes down to simple demand vs supply.

Will the demand be reduced? With software potentially taking over more industries (e.g., automated driving, drones delivering goods, so on), and with little reason to believe that machine learning will take developer jobs (if anything it will create new ones), I think its safe to say that it will increase.

The next question is whether or not the supply of developers will increase. Its going to depend a lot on changes in the education system as well as the hiring process. The general perception of programming is also pretty negative I think.

ps. I went on a bit of a tangent there. To answer your question I think there will be more of a gap because software is eating the world; we will need more and more varied skillsets.

 

Looking at the market, it seems more likely developers will become so widespread that at some point in the next decade they will be treated and paid like regular seasonal farm helpers.

First signs of this can be seen already, US companies hiring developers offshore tend to reduce payment by half and cut benefits to zero. Europe e.g. already is cheap labor for your US unicorn.

 

I can't see that happening any time soon.

"First signs of this can be seen already", offshoring is as old as web development and still didn't catch on.

It has never worked properly. It always results in bad quality code and re-doing most of outsourced stuff. VCs still values in-house teams when considering for investment and hiring remotely is still an exception in the industry.

It all comes down to communication methods, which are still evolving. We can't properly manage a team in-loco doing Agile the wrong way, we're still in infancy when it comes to remote communication.

 

IMHO offshoring is a done deal. It worked, all the big companies do it. The issues you're talking about are not so much offshoring issues but rather issues in the business trying to hire offshore. It requires Management, a lot of experience, some age / wisdom on the hiring side.

I meant outsourcing in general, which sure a lot do it, but it's not as efficient as doing in-house.

Outsourcing offshore is cheap enough to be a bed that is not so much of a loss and a lot of companies do it, doesn't mean it's efficient or long lasting enough that will result in the seasonal farming scenario you mentioned because things are changing fast and the communication is the most laggering.

That is IMHO exactly what happens. Companies have learned that crappy code is usually sufficient to make the big bucks for a while. And if a company gets big enough, the revenue allows for tolerating crap.

Guess how many big companies among the worlds TOP 100 actually do not do offshore development and focus on the in-house quality code? In reality, these are more like 100 offshore guys, and 1 in-house guy to fix the worst crap.

Has it gotten less in the past two decades? No.

As much as I would wish for no offshore development, the reality is a different one.

Companies have learned that crappy code is usually sufficient to make the big bucks for a while.

This is so painfully true. But I think it's also a sign of an oversaturated market.

It's mostly a race to deliver a product faster than the competitor now. Quality is a 2nd class citizen, if not a 3rd class citizen even should we count development cost optimizations.

Quality tends to make ist return when companies grow old as suddenly there are sufficient competitors which also can get cheap code. Suddenly quality becomes important again.

IMHO all the skills for arriving at quality in development, deployment, etc. should be a part of engineering training worldwide.

And you can see that startups take over market share gradually by making quality products, being closer to the final user and improving gradually.

It's a cycle that moves the market and there's always a breach. I don't see this being stable soon.

... and every startup either dies or becomes the next IBM. It's an iterative cycle where companies repeat the same mistakes over and over because they think they would be able to sustain doing / being better while growing.

I wish it worked that way, it did not so far. See Google. Small "do googy startup". Now they are big. And no longer goody two shoe folks.

 
[deleted]
 

There is a reason why profession and proficient are somewhat connected. Not just in English.

 

Are developers being paid well, compared to others on the same level within the same organization?
I will not dispute that developers get paid a well livable wage. But I also see that the non-tech people on the same level are paid much more.
I think the equivalent non-developers in general are overvalued and overpaid.

Maybe it is because developers are generally not out for the money, and they are taken advantage of because of this. Or the non-developers are just more aggressive and greedy.

 

It depends.

Developers have freedom. The fact that you can get out of a fintech and join a retail without too much pay-cut and reuse your experience is extremely valuable. The mobility developers have is what makes us valuable in any industry, which is freedom.

We're not either overvalued and overpaid, just a little bit spoiled since we have so many options.

 

I would argue that programming skills are not transferable as people skills.

Open any development job ad what skills are on the list?

I randomly copied one here:
Proven experience using Ruby on Rails and ideally along with some front-end toolkit practice such as ReactJS or AngularJS
Have any of the following technologies: Rails, AWS, Github, Bootstrap, Javascript, Postgres, Cassandra, Solr, Chef, Jenkins
Quality is important to you and you will be driven to improve this product every day.
Previous roles held in innovative, Agile environments
Ideally, you will have experience with web-based SAAS products using a range of tools

I don't see any of them are that transferable.
I mean no offense but honestly demo the risk as developers we are taking.
What's happened to ActionScript developer, Angluar(1) etc. developers?

I think to a large degree it is. Switching languages will set you back only a little, just like switching major frameworks. But the process of problem solving and software development does not change a lot. Sure, going from Java to C or OCaml is a major change. But going from Java to C#, Python, Ruby, JavaScript, even C++ is much easier to overcome. It will obviously take a while before you are comfortable with it.

Soft-skills are important and is the most transferrable, but technical ones (that crosses-over with soft-skills) are also what makes a good developer, such as:

Source code management (good commits, managing flow), environment manipulation (mainly bash), "editoring skills" (IDE, text editor, local setup), test automation, code readability, API design, decoupling, memory/processing optimization, automation in general (docker setup, CI/CD), monitoring and debugging production, documentation etc.

There's also generally project management skills such as keeping the task board updated, clear documentation, prioritization and breaking down tasks, delegating, mentoring, training and communicating with others. It's a mix of soft and hard skills that are transferable.

Good developers can do well in mostly any IT focused org.

 

Unless the supply of developers drastically increases I think that for the foreseeable future salaries will either stay around where they are or raise. But I am also just a large ape wearing clothes and banging on a keyboard, so what do I really know about the economy.

 

While not providing a clear cut answer, this is a recent related article: codementor.io/blog/developer-reten...

"...Developers are very valuable. A recent study from Stripe and Harris poll discovered that a majority of C-Suite execs agree that the survival of their companies is more dependent on the availability of high-quality software engineers than the availability of money...."

That being said, I personally believe the range will spread; both up and down.
Down: Generally scripting / automation. Think Excel/Powershell general tasks. I imagine this being rolled into a 'bonus' on top of a basic salary.

Up: Software Engineers (Career), Full stack, Engineering Team Leads, Systems Architects. The high end for software I see reaching into the lower six figures with engineering specialist / seniors reaching 200k in the next 30 years.

This opinions are not factoring inflation, 2018 dollars here.

 

While every company needs a programmer at this point, I don't see there really being a need for hiring one fulltime. There will come a time when some people have a baseline knowledge of things where you can just pull aside someone in HR or accounting to do some quick updates to an internal tool or to the corporate website and then have them go back to their real work. Software houses will still pay well, but the idea that every programming gig pays well, as well as every student being taught some tech, will mean that eventually maintance work will be done on the fly by someone passable.

I could see, then, less entry level learn on the job type of work and more of a demand for specialized or experienced work. Good for those in the business now but maybe not so for people looking to get in in 10 years.

Personally, I feel quite overpaid and overvalued for what I do, so I'm saving and investing as much as I reasonably can (city rent, school loans...) in preperation for the market wising up :P

 

I think that this will continue for a long time and only will stop when AI takes over. Why? Because supply and demand, the world cannot produce enough developers to supply the monstrous demand of them. Sure, it's easy to teach someone to put together a couple of lines of code and control a simple flow but that isn't a developer.

What is a developer? what are those guys who get paid way more than the average? well, people who can understand the requirements from business and with those complex problems turn them into lots of tiny solvable problems on a cheap quick way. That is difficult to teach because it needs constant personal involvement, it's not like you go some years to college and then never pick a book again. In our world we need to be passionate about what we do to just keep up the pace.

 

I think the divide between juniors and seniors will only grow as basic programming for web and mobile becomes easier, and "high-tech" skills become more complex. In a few years, anyone can become a JS developer within a year while more advanced technologies like blockchain, machine learning, etc. will become more necessary. Senior developers will move towards specializing in those skills while juniors fill the gap they leave open. I reckon that will create a pretty big divide between the average developer and a specialist/senior.

This is possibly only true from a freelance perspective, as I have no idea how companies will continue to grow with the insane amount of developers required these days.

 

I think it’s gonna go down. More and more schools are teaching kids to program, which in turn gets some interested. Later on, they might contribute to open source, make their own projects and/or even pursue a degree in the field. This increases the amount of people fitted for programming jobs. And as supply becomes higher than demand, price/pay usually lowers.

 

Most companies are seeing the competitive market for what it is, and developers who can show they can do the job (and learn/adapt/have decent human interaction and communication) will continue to show the value in paying higher salaries.

That is, until a serious AI solution comes along that automates what we do. Maybe in the next 30 years AI will be able to write software in such a way that it's still human-readable, uses existing software without being told what or how, and looks and behaves as expected. Maybe not.

Or until the economy collapses but that's more of a global problem not just software developers.

 

That is, until a serious AI solution comes along that automates what we do.

That will never happen, no matter how much effort developers put into it. In the short history of software development every step we take in making our work easier results in more, new, and different work.

 

Probably the devs will get less overall (now I see top seniors at FANG 200000$+ salaries), when the AI will generate most of the code as IDE plugins, entry jobs will disappear, and all the top layers will step down a bit.

 

I really hope that salaries plummet. Once this low supply/high demand situation comes to an end, it won't be as appealing for a random person to become a software engineer anymore. Maybe then we have better software.

 

I think it's impossible to say what will be in 10 years, maybe there will be something replacing classical "development" (devs getting closer to requirements-engineers), maybe not much will change.

Us devs, engineers, computer-scientists are all creative problem-solvers. And there will be no shortage of problems and complex systems.

The question is: Will we be still solving them with code?

 

Hi. I think that the opposite can occur. Technological advances may make coding more generally appreciated and so hiring devs will require looking for people with more advanced skill sets. The base salaries may remain the same but the median salary may increase. Technological advances may lead to a polarization effect whereas nore is required to become a dev as programming may become more commonplace.

 
 
 

In Argentina the payments are pretty awful ever for the most senior devs around (like 12000US dollars per year)

 

Given the nature of this site, it is hardly not biased.

Classic DEV Post from Dec 4 '18

What software development skills only come with experience?

Ben Halpern profile image
A Canadian software developer who thinks he’s funny.

We're always making dev.to better.

Do you prefer sans serif over serif?

You can change your font preferences in the "misc" section of your settings. ❤️