Software engineer salaries vary widely based on experience, location, and employer type

A software engineer in the United States typically earns between $80,000 and $180,000 per year, though this range shifts significantly based on where you work, how many years you have been coding, and what kind of company employs you. Entry-level engineers fresh out of a bootcamp or computer science degree often start around $60,000 to $90,000. Senior engineers with ten or more years of experience, especially those at large technology companies, regularly earn $150,000 to $250,000 or higher. The median sits somewhere in the middle, but "median" hides more than it reveals — your actual pay depends on specific factors you can track and sometimes influence.

Salary data comes from sources like the U.S. Bureau of Labor Statistics, Glassdoor, Levels.fyi, and PayScale, though each tracks slightly different populations and updates at different times. The BLS reports software developers earned a median of around $120,000 annually as of their most recent survey, but that figure includes people working in government, nonprofits, and small firms alongside those at Google and Meta. Glassdoor and Levels.fyi tend to skew toward larger tech companies and may report higher numbers. When you research your own market value, check multiple sources and look for data specific to your city, your years of experience, and the industry you are entering.

Key Takeaways

  • Entry-level software engineers earn $60,000 to $90,000; mid-career engineers earn $100,000 to $150,000; senior engineers at large tech companies earn $150,000 to $250,000 or more.
  • Location matters enormously — San Francisco, New York, and Seattle pay 30 to 50 percent more than smaller cities, though cost of living is also higher.
  • Company size and type drive pay differences: large tech companies (Google, Amazon, Microsoft) pay more than startups, which often offer equity instead of high salary.
  • Your years of experience, the programming languages you know, and whether you have specialized skills (machine learning, cloud infrastructure) all affect your salary.
  • Salary is only part of compensation — stock options, bonuses, health insurance, and remote work flexibility can add $20,000 to $100,000 or more to your total package.

How location changes what you earn

A software engineer in San Francisco or the San Francisco Bay Area typically earns 40 to 60 percent more than the same engineer in a mid-sized city like Austin, Denver, or Raleigh. San Francisco base salaries often start at $120,000 for entry-level roles and reach $200,000 to $300,000 for senior positions. New York City and Seattle follow similar patterns, with base salaries in the $110,000 to $180,000 range depending on experience. Meanwhile, cities like Columbus, Indianapolis, or Charlotte offer base salaries 20 to 40 percent lower — often $70,000 to $120,000 for the same experience level.

The catch is that cost of living in high-pay cities eats much of the difference. Rent in San Francisco can be $2,500 to $4,000 per month for a one-bedroom apartment; in Columbus it might be $1,000 to $1,500. Remote work has shifted this calculation somewhat — some engineers now negotiate San Francisco salaries while living in lower-cost regions — but most companies adjust pay based on where you physically live or where the job is posted. If you are considering a move or a remote role, research both the salary range and the cost of housing, taxes, and transportation in that location.

What your employer type and company size mean for pay

Large technology companies — Google, Amazon, Microsoft, Apple, Meta, and similar firms — pay the highest base salaries, typically $130,000 to $200,000 for mid-career engineers. They also offer substantial stock grants (often $50,000 to $200,000 over four years) and bonuses (10 to 30 percent of base salary). A mid-career engineer at Google might earn $150,000 base plus $100,000 in stock plus a $30,000 bonus, totaling $280,000 annually.

Mid-size tech companies and established software firms (companies with 100 to 5,000 employees) typically pay $90,000 to $150,000 base salary with smaller stock grants or no equity at all. Startups often pay lower base salaries — $70,000 to $110,000 — but offer equity (stock options) that may or may not become valuable. A startup engineer might accept $80,000 base plus options representing 0.1 to 1 percent of the company, betting that the company will grow and those options will be worth far more. That bet frequently fails.

Non-tech companies that employ software engineers — banks, insurance firms, manufacturers, government agencies — typically pay $80,000 to $140,000 with stable benefits and less volatility. These roles often have more predictable hours and less pressure to ship code constantly, which appeals to some engineers even if the pay is lower than at a tech-focused company.

How experience level affects your salary

Your years of professional software engineering experience is one of the strongest predictors of pay. An engineer with zero to two years of experience (entry-level or junior) earns $60,000 to $95,000 on average. Someone with three to five years (mid-level) earns $95,000 to $140,000. An engineer with six to ten years (senior) earns $130,000 to $180,000. Beyond ten years, especially if you move into staff engineer, principal engineer, or engineering manager roles, you can earn $180,000 to $300,000 or more.

The jump from junior to mid-level is often the steepest — typically a 30 to 50 percent raise — because you have moved from learning the job to being reliably productive. The jump from mid-level to senior is smaller in percentage terms but larger in absolute dollars. Progression also depends on your employer: at a large tech company, the titles and salary bands are formal and predictable; at a startup, your title might stay "engineer" while your pay creeps up slowly or not at all.

Specialized skills and languages that increase pay

Certain skills command higher salaries because fewer engineers have them or because they are in high demand. Machine learning and artificial intelligence engineers earn 10 to 30 percent more than general software engineers, often $120,000 to $200,000 for mid-career roles. Cloud infrastructure engineers (specializing in AWS, Google Cloud, or Azure) earn 10 to 20 percent premiums. Security engineers and DevOps engineers also see higher pay than general backend or frontend engineers.

The programming language you use matters less than the specialization, but some languages correlate with higher pay because they are used in high-paying industries. Engineers writing C++ for finance or systems programming earn more than those writing JavaScript for web applications, though this is partly because C++ roles tend to be at larger, older companies with bigger budgets. Rust, Go, and Kotlin are newer languages with smaller talent pools, so they sometimes command premiums, but the effect is smaller than specialization.

Certifications (AWS Certified Solutions Architect, Kubernetes certifications, etc.) can add $5,000 to $15,000 to your salary, but they matter far less than demonstrated experience. A portfolio of real projects or a track record at a respected company is worth more than a certificate.

Bonuses, stock, and benefits that add to your base salary

Your total compensation is not just your base salary. At large tech companies, stock grants often equal or exceed your base pay. A software engineer earning $150,000 base might receive $120,000 in stock vesting over four years, plus a $20,000 to $30,000 annual bonus. That totals $290,000 to $300,000 in year one, though the stock value depends on the company's stock price and whether you stay long enough to vest it all.

Bonuses at tech companies typically range from 10 to 30 percent of base salary and are tied to company performance or individual goals. Startups may offer no bonus but higher equity. Mid-size and non-tech companies often offer smaller bonuses (5 to 15 percent) and no stock. Health insurance, retirement matching (often 3 to 6 percent of salary), paid time off, and remote work flexibility also have financial value but are harder to quantify. A company offering full health coverage, 6 weeks of paid time off, and 401(k) matching is worth several thousand dollars more per year than one offering bare minimums.

How to research salaries for your specific situation

Start with Levels.fyi, which aggregates salary data from engineers at specific companies and breaks it down by level (junior, mid, senior, staff). You can filter by company, location, and years of experience. Glassdoor and PayScale offer similar data but with less detail about stock and bonus breakdowns. The Bureau of Labor Statistics publishes official data but updates it slowly and does not break down by company or specialization.

When you research, look for data that matches your situation as closely as possible: your target company (or companies of similar size), your city or region, and your experience level. A salary range for "software engineer in San Francisco" is less useful than "mid-level backend engineer at a Series B startup in San Francisco." Ask engineers at your target company directly if you can — many are willing to share salary ranges, especially if you are considering joining. During interviews, you can ask the recruiter what the salary range is for the role before you invest time in interviews.

Frequently Asked Questions

Do software engineers make more than other tech jobs?

Software engineers typically earn more than web designers, QA testers, or technical support roles, but less than some specialized roles like machine learning engineers or principal engineers. A software engineer earning $120,000 to $150,000 is in the middle-to-upper range of tech salaries. Product managers and senior designers at large companies can earn similar amounts.

Will my salary increase significantly if I move to a bigger tech company?

Often yes, but not always. If you move from a startup paying $90,000 to Google paying $160,000, that is a large jump. If you move from one large company to another, the increase might be 10 to 20 percent or zero, depending on your level and the specific roles. Switching companies is one of the fastest ways to increase pay — staying at one company usually means smaller annual raises.

Does a computer science degree pay more than a bootcamp?

Entry-level salaries are similar — both bootcamp graduates and CS degree holders start around $70,000 to $90,000. Over time, degree holders may have a slight advantage in promotions at large companies with formal career ladders, but bootcamp graduates can reach the same senior salaries. Your portfolio and work experience matter more than your educational path after your first job.

What is the difference between base salary and total compensation?

Base salary is what you are paid in cash each year. Total compensation includes base salary plus stock grants, bonuses, and the value of benefits like health insurance and retirement matching. At a large tech company, total compensation can be 50 to 100 percent higher than base salary. At a startup or smaller company, they are often closer to the same.

Can I negotiate my salary as a software engineer?

Yes. Most tech companies expect negotiation and build room into their offers. Negotiating typically increases your offer by 5 to 20 percent, especially if you have competing offers or strong credentials. Negotiation is easier at large companies with published salary bands and harder at startups with tight budgets. Always negotiate — the worst outcome is they say no.