4 answers
4 answers
Updated
William’s Answer
The supply and demand answers are correct, but the next question is, why is the demand so high, and why is the return on investment good enough that companies are paying these high salaries and it's still worth it for them.
For me the the answer to that question is that each individual engineer can have such large influence on how much money a company can make. Very small teams of engineers can roll out features that affect millions of users and can potentially make the company very large amounts of money.
In some other industries, the value you can bring to a company is directly related to the amount of physical labor you can complete in a day. With software engineering, you can potentially make a company much more money. Then, as time goes on and you gain experience the growth curve of the value you can bring is not linear. Experience gained results in a rapidly increasing amount of value and thus revenue you can produce, and thus, so does the salary companies are willing to pay. Again, in some industries, experience will make you more efficient, sometimes significantly so, but often not with the same increasing curve that software engineering can produce.
So yes, the supply of engineers is constrained compared to the demand, but it wouldn't make sense to pay engineers those high salaries if those companies weren't still making lots of money on the labor of those engineers.
For me the the answer to that question is that each individual engineer can have such large influence on how much money a company can make. Very small teams of engineers can roll out features that affect millions of users and can potentially make the company very large amounts of money.
In some other industries, the value you can bring to a company is directly related to the amount of physical labor you can complete in a day. With software engineering, you can potentially make a company much more money. Then, as time goes on and you gain experience the growth curve of the value you can bring is not linear. Experience gained results in a rapidly increasing amount of value and thus revenue you can produce, and thus, so does the salary companies are willing to pay. Again, in some industries, experience will make you more efficient, sometimes significantly so, but often not with the same increasing curve that software engineering can produce.
So yes, the supply of engineers is constrained compared to the demand, but it wouldn't make sense to pay engineers those high salaries if those companies weren't still making lots of money on the labor of those engineers.
Updated
Joseph’s Answer
In general terms, salary tends to be strongly influenced by supply and demand. If, for a particular type of role, there's a limited number of people with the required skills, knowledge, experience and cultural fit; but there's a large number of jobs, there will be competition amongst the companies to hire the best of the candidates, and this will drive up salaries.
Software engineering has that effect going on - while there are more and more people learning the basics of coding these days, there's still relatively few that have developed advanced coding skills and also have the right mindset to work in a commercial environment where following best practice coding style , documentation, and gathering requirements specifications are more important than just raw coding knowledge.
There's also a very large demand for software engineers across most of the modern working world. Historically, there were very few software people and they were mostly within dedicated software companies or super-large businesses. Now almost every company wants websites, apps, and more such as custom internal workflow software of various shapes too, so there's plenty of places fighting over the best developers.
Software engineering has that effect going on - while there are more and more people learning the basics of coding these days, there's still relatively few that have developed advanced coding skills and also have the right mindset to work in a commercial environment where following best practice coding style , documentation, and gathering requirements specifications are more important than just raw coding knowledge.
There's also a very large demand for software engineers across most of the modern working world. Historically, there were very few software people and they were mostly within dedicated software companies or super-large businesses. Now almost every company wants websites, apps, and more such as custom internal workflow software of various shapes too, so there's plenty of places fighting over the best developers.
Updated
Matt’s Answer
Joseph and Chetan are both correct, but I would add a bit of nuance they missed.
Salaries are significantly impacted by the industry specialization and geography/market of the developer.
Organizations building products have come to realization that it is the software that is bringing most of the market differentiating capability to their products. The automotive industry has been transformed over the last 20 years, by improvements in lcd screens, sensor technology, cameras and on-board computing. All of these technologies must be integrated by software to become central to the value proposition of many automobiles. While I use the automobile as an example, it can be applied to nearly every industry, market and technology. (e.g. home security & automation, retail supply chain, marketing and the list goes on and on.)
Each of these industries has a certain amount of margin (in simpler terms profit) these companies can drive from their products good and services. Salaries are generally commensurate to the profitability of the industry you work in, as well as supply and demand as Joseph noted above. For example, developers on Wall Street with PHDs can make upwards of $300k to $500K, but you need to not only be a developer, you also need hold advanced mathematical degrees from a prestigious school.
I hope this helps.
Depending on your aspirations, education and drive, you can start in a particular industry and move to adjacent industries to expand your business and industry domain knowledge.
You can seek advanced degrees over time, to increase you marketability and garner experience which increases your value to potential employers.
Salaries are significantly impacted by the industry specialization and geography/market of the developer.
Organizations building products have come to realization that it is the software that is bringing most of the market differentiating capability to their products. The automotive industry has been transformed over the last 20 years, by improvements in lcd screens, sensor technology, cameras and on-board computing. All of these technologies must be integrated by software to become central to the value proposition of many automobiles. While I use the automobile as an example, it can be applied to nearly every industry, market and technology. (e.g. home security & automation, retail supply chain, marketing and the list goes on and on.)
Each of these industries has a certain amount of margin (in simpler terms profit) these companies can drive from their products good and services. Salaries are generally commensurate to the profitability of the industry you work in, as well as supply and demand as Joseph noted above. For example, developers on Wall Street with PHDs can make upwards of $300k to $500K, but you need to not only be a developer, you also need hold advanced mathematical degrees from a prestigious school.
I hope this helps.
Matt recommends the following next steps:
Updated
Chetan’s Answer
As Joseph, mentioned correctly, it is mainly because of demand and supply. In current world, almost everything is now being digitized and for that there is a requirement to build different software's/ applications as per the nature of the work that is getting digitized. And for building these software's/applications, lot of knowledge about domains and programming languages and emerging technologies, etc. is needed.
And there is actually a short supply of people with right skills for above requirement and hence software engineers who have these skills are in demand and so they making good amount of money. Also again that can depend on the size/brand etc. of the company where salary can vary accordingly.
And there is actually a short supply of people with right skills for above requirement and hence software engineers who have these skills are in demand and so they making good amount of money. Also again that can depend on the size/brand etc. of the company where salary can vary accordingly.