A friend of mine switched from software engineering to data science about three years ago. He was at a mid-size SaaS company in San Francisco, making around $185K total comp as a senior engineer, and he took a data science role at a Series B startup for $160K because he thought the work would be more interesting. He told me recently he regrets it a little. Not because the work is bad but because the engineer track at his old company would have him at $220K+ by now, and the data science career ladder at his new place is muddier. He can’t tell where the ceiling is.
That conversation is basically what this article is about. If you’re choosing between these two paths, or trying to figure out which one to optimize for, the federal survey data tells you one thing and the real-world tech comp landscape tells you something different. I’m going to try to cover both.
The Survey Numbers (Which Undercount Everything in Tech)
The federal survey median for software developers is $133,080 as of the most current data. For data scientists it’s $112,590. That’s a $20,490 gap in favor of software development.
But here’s the problem with using the survey for tech jobs, and it’s a problem I’ve been dancing around in these articles for a while: the survey measures base salary. In tech, base salary is sometimes half of total compensation. Stock grants, bonuses, signing bonuses, and refreshers can double or triple the base number at companies like Google, Meta, Amazon, and Apple. Levels.fyi, which collects verified total comp data, shows median total compensation for mid-level software engineers at FAANG companies in the $250K to $350K range. Data scientists at the same companies are in a similar band, sometimes a little lower but not by the $20K gap the survey numbers suggest.
So the survey gap is real for people working at non-tech companies (banks, healthcare systems, government), where stock grants aren’t part of the package. It’s much smaller, and sometimes nonexistent, at the big tech firms. Keep that in mind as we go through the state data.
About 129,200 openings per year for software developers. 23,400 for data scientists. Growth projections are 15% and 34% respectively through 2034. Data science is growing faster in percentage terms, but software development has nearly six times as many total jobs. Both are well above average.
How They Compare State by State
This is where writing a comparison article gets tricky, because the two occupations don’t always exist in the same markets.
California pays the most for both. Software developers there earn a median of about $170,910; data scientists earn around $155,000 (the San Jose metro is even higher at $173K for data science). Washington is second for software devs at about $151K and also strong for data scientists, largely because of Amazon and Microsoft in the Seattle area. Three-quarters of Washington’s data scientists work in the Seattle metro, which tells you how concentrated this field is.
New York and Massachusetts are top five for both occupations. New York’s financial industry employs a lot of data scientists for quant work, and Boston’s biotech corridor needs them for clinical research. Maryland and D.C. are strong for data science because of the federal government and defense contractors; the NSA and intelligence community are some of the largest employers of data scientists in the country, which is something people outside the Beltway don’t always realize.
At the bottom, Mississippi pays software developers about $86,460 and data scientists less than that (the survey data for Mississippi data scientists has a pretty small sample size, so take it with a grain of salt). Arkansas, South Dakota, Montana, and North Dakota are also at the low end for both. I’ve said this in nine articles now but it keeps being true: the southern and rural states pay less for everything, and tech jobs are no exception.
The interesting states are the ones where data scientists actually out-earn software developers. In D.C., data science pays slightly more. Same in a handful of states with large government or research presences. But in most places, software development wins on survey base salary by $15K to $25K.
Where the Survey Falls Apart (The Total Comp Problem)
I live in the Bay Area. I know engineers and data scientists at Google, Apple, Meta, and a bunch of startups. The idea that software developers make $133K and data scientists make $113K is laughable around here. Those numbers are off by $100K or more for anyone past the junior level at a major company.
Here’s what the comp landscape actually looks like at big tech, roughly, based on Levels.fyi data and what I hear from people I know:
Entry-level software engineer (L3/new grad): $180K to $220K total comp. Entry-level data scientist: $160K to $200K. There’s a gap but it’s smaller than the survey suggests.
At mid-level (L4/L5, roughly 3-7 years in), engineers are pulling $250K to $400K. Data scientists at the same level are in the $220K to $350K range. The gap starts to widen here because engineering has clearer promotion tracks at most companies and the stock grants scale harder.
By the time you’re at staff or principal level, engineers can be at $400K to $700K+. Staff data scientists top out lower, maybe $350K to $550K. The ceiling difference comes partly from the fact that VP of Engineering and CTO roles pay more than Head of Data Science at most companies. There are exceptions but that’s the general shape.
These numbers sound absurd if you’re reading this from Tulsa or Charlotte. They are absurd. But they’re real in certain zip codes, and if you’re choosing between these careers and targeting a FAANG company, the survey data is worse than useless for your decision.
Outside of big tech, the picture is different. A data scientist at a regional bank in Ohio might make $95K. A software developer at the same bank makes $105K. Those are closer to the survey numbers and the gap is proportionally similar.
The Actual Differences Between These Jobs
People treat “data scientist” and “software developer” like they’re in the same bucket because they both involve computers and coding. They’re not really that similar in practice, and the differences matter for your career trajectory.
Software developers build things. Applications, features, infrastructure, systems. The work is concrete: you write code, it either works or it doesn’t, and users interact with what you built. The career path is clear (junior to mid to senior to staff to principal to management or architecture) and the feedback loops are tight. Companies know how to evaluate and promote engineers because the discipline has been around for decades.
Data scientists analyze things. They build models, run experiments, find patterns in data, and (ideally) help the business make better decisions. The work is less concrete and the feedback loop is longer; sometimes you spend three months on a model and the business decides not to use it. The career ladder at most companies is fuzzier. That’s what my friend was complaining about. He doesn’t know what “staff data scientist” means at his company because nobody’s defined it clearly, whereas his engineering friends have well-understood levels.
There’s been a lot of noise about whether AI is going to eat both of these jobs. I don’t have a strong take on that beyond saying it’s complicated. AI coding tools are real and they’re making junior engineers more productive, which could compress entry-level hiring. AI is also automating some of the data science workflow (EDA, feature engineering, basic modeling), which might hit data scientists at the lower end. But both fields are adapting, and at the senior level the work is judgment-heavy enough that I don’t see automation replacing it anytime soon. I could be wrong; I’m just telling you what I see from where I sit.
Which One Should You Pick?
If you want the highest floor, pick software engineering. More jobs, more companies hiring, clearer career path, and higher base salary at every level in every state. You can get a job with a bachelor’s degree (or sometimes a bootcamp), and the first $100K comes faster than in data science.
Data science is the better pick if you like open-ended problems and you’re comfortable with ambiguity. Growth projections are bonkers (34% through 2034), and companies that figure out how to use data well tend to pay their data scientists very well. But you’ll likely need a master’s degree to be competitive, the career ladder is mushier, and finding your first role can be harder because there are fewer openings.
Already in one field and thinking about switching? The pay data alone doesn’t justify a move. The survey-level difference ($20K) is real but it’s not life-changing, and at the big tech level the gap narrows enough that other factors (what you enjoy, which team has better growth, where you see yourself in five years) matter a lot more than the comp difference.
My friend who switched from engineering to data science told me he’d probably switch back if the right role came along. Not because of the money, really. Because the engineering side just felt more structured. I think that’s worth hearing.
We’ve got state-by-state data for software developers, data scientists, database architects, computer systems analysts, information security analysts, web developers, and computer programmers. For management-track tech roles, check computer and information systems managers. State hubs for California, Washington, New York, Texas, and Massachusetts have the full list of tech occupations and salaries.