Software engineers are incredibly valuable with some software engineer jobs paying as much as you would a doctor or a lawyer. At the same time, the barrier to entry seems to be getting lower. The number of professional developers with less than a bachelor’s degree who responded to Stack Overflow’s Developer Survey has grown to a full 25% of the respondents. This begs the question, if just about anybody can do it, what makes a computer engineer salary so high?
To find out, we needed a big data set so we turned to PayScale. Using that platform, not only are you able to see the salary range for a software engineer, you can break it down by skills, location, and company.
So we went digging through the data. To make sure we had a large enough sample size, we required at least 30 salaries to be posted to use the data and then looked at the high end of the salary range. This meant that we didn’t end up including important technologies like Closure for lack of data but these are not widespread enough to get a good handle on their value. But it does mean that these results are more robust than others which rely on relatively light data. And the results might surprise you.
Take the average software engineer in the United States. On purpose, we didn’t look at junior or senior software engineer salary as there aren’t clear definitions of these titles. The high end of the range for an average software engineer salary is, at the time of writing, $128,864. That number isn’t too bad but you hear much larger numbers so we wanted to figure out how to find them. We started by looking at which technologies bring the most value.
1. Knowing the right technologies is a path to high paying software engineer jobs
Languages aren’t the primary skill employers look for anymore. This was a huge finding as most lists that rank the value of technologies for highest paid software engineer jobs don’t go any deeper than language skills. That isn’t to say that languages aren’t important. They are an essential part of programming but we found a highly paid skill stack should include a foundation of engineering skills on the bottom, specific language skills in the middle, and technology-specific skills to top it off.
Check out which skills improve the salaries of software engineer jobs
Take the example of somebody who knows Java. They can use that skill for Android which could net them $130,773 or they could use it for MapReduce which could net them $157,643. That is a $26,870 salary boost, purely based on using a different technology.
And that isn’t the whole story. Take a look at the top paying technologies. While there are some hot languages like R and Go towards the top, none of the top five highest paying technologies are languages. But a number of the top technologies can be augmented with a knowledge of specific languages.
- $157,643 – MapReduce Java, Python, and most other common languages (Source: Stack Overflow)
- $157,295 – Apache Hive
- $154,412 – Natural Language Processing MATLAB, R, Python, Java (Source: FreelancingGig)
- $150,860 – Solr Java, C#, PHP, Python, Ruby, and most other common languages (Source: Wikipedia)
- $150,441 – Redis
- $149,163 – NoSQL
- $149,095 – R
- $148,436 – Go
- $148,328 – Service Oriented Architecture (SOA) Any (Source: Wikipedia)
- $145,616 – Scala
- $144,505 – iOS Swift, Objective-C (Source: Stack Overflow)
- $144,397 – Cassandra
- $140,207 – Hadoop Java, C, and most other common languages (Source: Wikipedia)
- $139,760 – Elasticsearch Java, .NET (C#), PHP, Python, Apache Groovy, Ruby (Source: Wikipedia)
- $133,074 – Python
- $133,015 – Docker Go (Golang) (Source: Docker)
- $132,787 – Swift
- $130,773 – Android Java, Kotlin, C++, Python (Source: PayScale)
The right skill can boost a computer engineer salary
To bring this point home, look at the most valuable skill, MapReduce. This is a skill which is applicable to most common languages but is currently extremely valuable to the market.
The potential salary premium that MapReduce can bring will make a huge difference to somebody who knows any language. Someone who knows PHP sees the biggest salary bump of $38,448. Even someone who knows a high-value language like Python can still see a bump of $24,569.
- PHP – up to $38,448 more
- Java – up to $28,779 more
- C – up to $30,811 more
- C++ – up to $28,949 more
- Python – up to $24,569 more
Probably the most important way to position yourself for the highest paid software engineer job is to develop an in-demand skill stack. This means that on top of developing skills in a valuable language like R or Python, you should develop your skills in a field like MapReduce or Natural Language Processing.
2. The best software engineer jobs require problem-solving skills
Developing a valuable tool stack is a great thing but it is not the only part of the equation. As Nick Larsen from Stack Overflow says,
Source: Stack Overflow Blog
Image source: LinkedIn
In other words, a software engineer’s value doesn’t simply come from their technology stack but from their ability to solve problems. The bigger the problems that an employer needs to solve, the more they are willing to pay an engineer to solve it.
Problem-solving skills are a bit harder to quantify than technologies but are still important to how much the highest paid software engineers will be paid. This point is made clearly by Jen Pugh, a New York City-based tech recruiter. When talking about the skills prized by employers looking for front-end developers, she says,
Source: Udacity Blog
Image source: LinkedIn
A good software engineer can use valuable languages and technologies. A great one can also work with co-workers from different backgrounds to solve problems and reach common goals. While it is harder to measure, there is a definite demand for software engineers who can solve problems.
So far we have discussed how both the technologies a software engineer works with and their ability to solve problems make their output more valuable. But there are other factors to contribute to a high paying software engineer salary.
3. The highest paying software engineering jobs cluster in certain places
It won’t surprise anyone that salary levels are highly dependent on geography. It is all down to supply and demand and in certain parts of the country, demand for skilled software engineers is much greater than supply. That means that in absolute terms, a software engineer with the same skills can find a higher paying job in a place where their skills are more valuable.
Where do software engineers get paid the most?
Just look at how much they can vary across the United States:
- $187,236 – Cupertino
- $169,637 – Mountain View
- $168,974 – Menlo Park
- $151,908 – San Francisco
- $150,948 – San Jose
- $147,201 – Redmond
- $137,811 – Seattle
- $135,930 – New York
- $128,452 – Los Angeles
- $123,175 – Washington, District of Columbia
- $119,275 – Boston
- $116,793 – Denver
- $112,805 – Chicago
- $112,148 – Austin
- $111,749 – Raleigh
- $107,775 – Salt Lake City
So where do software engineers get paid the most? The highest we found was in Cupertino at $187,236. Compare that with burgeoning tech hub Salt Lake City and the contrast is sharp. A software engineer in Cupertino can earn $79,461 more than a software engineer in Salt Lake City.
Now we haven’t figured in cost of living differences and it wouldn’t surprise anyone that San Francisco is a more expensive place to live than Salt lake city. But if you are looking for absolute dollar amounts,the highest paying software engineering jobs pay more in the Silicon Valley and Seattle than in southern, midwestern, and mountain cities like Chicago, Austin, Raleigh, and Salt Lake City.
But while focusing on cities, we found that the cities which house the headquarters of Apple, Facebook, Google, Microsoft, and Amazon were pretty high up on the list. From this, we found another factor which affects the highest paid software engineers’ salary.
4. Facebook, Google, Microsoft, and Amazon pay their software engineers more than others
A software engineer who has the right technical skills, can solve problems, and has moved to the bay area can still increase their salary even more. Simply put, the largest tech companies work hard to attract the best software engineers and are willing to pay for the privilege.
Considering the high end of the wage group in the US is $128,864, they all pay more nationally.
Facebook – $186,258
- $57,394 more
Google – $184,058
- $55,194 more
Apple – $175,320
- $46,456 more
Amazon – $156,848
- $27,984 more
Microsoft – $150,121
- $21,257 more
The largest boost comes from Facebook where software engineers can make $57,394 more than software engineer jobs in the nation as a whole. One way to explain this is that the size and clustering effect of these companies means they employ software engineers in already expensive labor markets. But that isn’t the whole story.
For the most part, though, these companies still pay more than the local average.
- $32,824 more
- $20,072 more
- $3,710 less
- $18,747 more
- $2,993 more
With the exception of Apple, each of the major tech companies pays up to $32,824 more for software developers than companies in the city they are based in.
5. What you need to get a highly paid software engineer job
From our research, we have found four actional ways of getting a highly paid job as a software engineer.
- In addition to learning valuable languages like Python, Go, or R, develop skills in technologies like MapReduce, Natural Language Processing, and Machine Learning.
- Develop your problem solving and teamwork skills.
- Look for jobs in a high wage city either in Silicon Valley or around Seattle.
- Try to land a job with one of the major tech companies.
By combining these attributes, a software engineer can command one of the highest salaries in the industry.
6. What if you are trying to hire for your company?
Of course, if you are an employer, you are trying to get the most value from your software engineers and our analysis provides some actionable tips that can help you.
- Give more generous offers to developers whose skill sets more closely match the needs of your company. Don’t spend as much on people without those skills and technologies.
- Give a work sample test to measure your candidate’s problem-solving skills.
- If you can’t pay as much, find a metro area that has a lower priced labor market for software engineers.
- Don’t try to compete with the majors on price, find a different way to make your offer attractive.
We have looked at the data but would love to hear from you. Do these salaries sound reasonable? What have you done to make yourself more valuable? Keep the conversation going in the comments section below.