How Do Machine Learning Engineer and Software Engineer Salaries Compare?

Let’s take a look at how the pay stacks up for two of the most popular careers in tech today.

Written by Matt Przybyla
Published on Jun. 29, 2022
Stacks of coins in front of a data scroll
Brand Studio Logo

The goal of this article is to show some differences and similarities between machine learning and software engineer salaries. These two roles are sometimes rather different and, at other times, very closely related. In this article, I want to dive deep into comparing the two roles based on their average salaries in the U.S.

Before we begin, a disclaimer: Note that this article doesn’t aim to compare these roles as if one deserves more money. Instead, this is a guide allowing professionals in these two fields to assess their current or expected salary. Keep in mind that these values are more general, and no one source can be enough to assess your worth. They can, however, serve as a tool for dealing with salary negotiations and decisions in the future.

More From Matt PrzybylaHow to Become a Better Data Science Team

 

Machine Learning Engineer (ML Engineer) Salary

This position is more closely related to data science than software engineering, but software engineering roles can sometimes be a prerequisite or just extremely helpful in pursuing data science. Machine learning, data science and software engineering share a ton of overlap, but that’s for another article. For now, we want to focus specifically on machine learning engineering salaries and the different factors that can impact them.

Here are some of the various levels of seniority for machine learning engineers and their respective salaries, rounded to the nearest thousand. This salary information was last updated on December 21st, 2021, based on data from 1,311 salary profiles.

Machine Learning Engineer Salary

  • Average Overall Machine Learning Engineer → $112,000
  • Average Entry-Level Machine Learning Engineer → $94,000 (Less than one year)
  • Average Early-Career Machine Learning Engineer → $111,000 (One to four years)
  • Average Mid-Career Machine Learning Engineer → $139,000 (Five to nine years)
  • Average Late-Career Machine Learning Engineer → $147,000 (10 to 19 years)

I gathered this data from PayScale. For more specific estimates, take a look at the salary survey there.

Do I agree with these numbers? Mostly yes. Of course, these U.S. salaries are averages, so they can fluctuate based on other factors, which I will discuss in more detail below.

Location is one of the most impactful factors in salary. With that in mind, here are some major cities and their respective salary averages for machine learning engineers. Remember, the national average is $112,000.

Machine Learning Engineer Salary Based on Location

  • New York, New York → $120,729
  • San Francisco, California → $133,691
  • Boston, Massachusetts → $102,835
  • Chicago, Illinois → $91,921

You can see that, as expected, New York and San Francisco, notorious for being expensive cities, have higher averages than the national. New York does seem to be a little low, however, considering its cost of living is more than just a little above average. In Boston and Chicago, we see decreases from the national average, which may be somewhat predictable. Still, I would expect any large city, in general, to be above the average. At the same time, though, the data may reflect that mainly salaries in cities are reported here rather than rural or remote areas.

Aside from location, skills can also have a major impact on salary. Below is a breakdown of those same cities from above with certain skills added:

Machine Learning Engineer Salary Based on Skills

  • New York, New York → $152,500 with Apache Spark
  • San Francisco, California → $139,903 with Software Development
  • Boston, Massachusetts → $108,090 with Software Development
  • Chicago, Illinois → $98,000 with Natural Language Processing (NLP)

New York saw the biggest jump by simply adding one skill thanks to Apache Spark, which is more of a luxury skill for machine learning versus a required one. In Chicago, adding NLP increased the salary as expected since not all ML engineers are proficient in this more specific facet of data science. 

San Francisco and Boston are interesting cases because we added some vague skills in software development that you might assume would not add any value. This increase suggests that adding basic skills to your resume can provide a bump, even if you think the hiring manager assumes you know them already.

Overall, though, adding skills proficiencies is a great way to boost a salary, regardless of location.

 

Software Engineer Salary

For this comparison, I will look into the same cities and various skills as I did for the machine learning roles. Software engineers sometimes include machine learning in their title, like this: “Sofware Engineer — Machine Learning Operations.” That titling is because, in some positions, a machine learning engineer is a software engineer who focuses on data science model operations.

Here are some of the various seniority levels of software engineers and their respective salaries, rounded to the nearest thousand:

Software Engineer Salary

  • Average Overall Software Engineer → $88,000
  • Average Entry-Level Software Engineer → $77,000 (Less than one year)
  • Average Early-Career Software Engineer → $86,000 (One to four years)
  • Average Mid-Career Software Engineer → $97,000 (Five to nine years)
  • Average Late-Career Software Engineer → $108,000 (10 to 19 years)

Do I agree with these numbers now? No. I think, overall, these are too low. With that being said, lets look at how location impacts the salary amount.

Here are some popular cities and some other cities with their respective salary averages software engineers The national average is $88,000.

Software Engineer Salary Based on Location

  • New York, New York → $107,876
  • San Francisco, California → $124,594
  • Boston, Massachusetts → $96,843
  • Chicago, Illinois → $87,889

San Francisco saw the biggest jump, while Chicago actually decreased very slightly. Let’s see how much the salary can rise when adding specific skills.

Below is a breakdown of those same cities with certain skills:

Software Engineer Salary Based on Skills

  • New York, New York → $135,197 with Apache Hadoop
  • San Francisco, California → $151,280 with Haskell Programming Language
  • Boston, Massachusetts → $131,028 with Microservices
  • Chicago, Illinois → $111,123 with Scala

When comparing the opportunity for salary growth through upskilling, software engineering seems to have a higher range than machine learning. For example, we can see how much San Francisco salaries jump with just one skill. Overall, changing location and skills nearly doubled the average salary.

Start Your New Career TodayThe 21 Best Coding Bootcamps

 

Salary Summary

Changing factors changes salaries as we expected, with certain factors affecting pay more than others. Some of the most important factors that contribute to salary are the level of seniority, location and skills. Of course, other factors or characteristics of a job can change things as well, which you can research further. The best thing to do is to look at various sources when you’re making the jump to a new job or negotiating a new salary.

Here is a salary summary of machine learning engineers and software engineers:

  • Average Overall Machine Learning Engineer → $112,000
  • Average Overall Software Engineer → $88,000

Machine learning engineers may have a higher overall salary, but we saw that for the cities we investigated, their opportunity to increase salary by adding specific skills actually lead to a smaller average early-career salary than software engineers.

Keep in mind that for this article, the numbers are not my salaries, but are reported by PayScale based on input from other machine learning and software engineers. So, this article is offers analysis of real data and is intended for you to better gain an understanding of what makes a role increase or decrease in salary amount based on certain factors.

Explore Job Matches.