Which types of developer roles result in the biggest salaries? That’s a vital question for developers who are plotting out their career trajectory, and questioning whether they should aim for a management role at some point.

This year’s Stack Overflow Developer Survey is a good place to start. Based on 8,006 responses, the survey’s data shows that, at least in the United States, engineering managers make the most money (at an average of $152,000 per year) followed by specialists in various development categories such as data science, machine learning, and DevOps. Check out the chart:

As Stack Overflow also notes: “In the U.S., mobile developers and educators tend to have a higher salary relative to other occupations when compared to the global developer population.”

Data from other sources reinforces the high salaries for some of these positions. For example, Burning Glass, which collects and analyzes millions of job postings from across the country, estimates the median software engineer salary at $101,235—a number that rises steadily with years of experience. 

Burning Glass also estimates the median data analyst salary at $78,676, below Stack Overflow’s numbers—but as with software engineers, data analysts’ compensation rises considerably with education and experience:

Machine learning engineer, a very highly specialized position, always seems to pay well, even for those without much experience in the workforce (presumably, they’ve learned most of the skills they need to effectively do the job in school):

Although highly specialized fields such as machine learning come with their share of challenges (for example, even the best developers, analysts, and machine-learning engineers can only do so much with a bad dataset), job opportunities abound even in uncertain economic times, from startups all the way up to tech giants such as Apple

In other words, the numbers crunched by any platform or study are just one part of the overall picture; while an average or median salary for a particular profession may seem very enticing, landing a job that pays it (if not more) hinges on what you bring to the employer in terms of experience and skillsets (and specialization, in many cases). Those who want to become a manager must also master “soft skills” such as teamwork and communication in addition to their technical acumen.