Software Engineer Salaries Vary Widely by Location, Experience, and Employer
Software engineers in the United States earn between roughly $70,000 and $180,000 per year, depending on where you work, how many years of experience you have, and what kind of company employs you. Entry-level positions typically start around $70,000 to $90,000, while engineers with five to ten years of experience often earn $120,000 to $150,000. Senior engineers and those at major tech companies can exceed $180,000, sometimes substantially.
These figures represent base salary only and do not include bonuses, stock options, or other compensation that tech companies commonly offer. At large companies like Google, Meta, or Microsoft, total compensation packages can be significantly higher than base salary alone. The actual amount you earn depends on factors you can influence—like building specific skills or moving to a higher-paying region—and factors you cannot, like the overall health of the tech job market in a given year.
Key Takeaways
- Entry-level software engineers typically earn $70,000 to $90,000 annually, while mid-level engineers with five to ten years of experience earn $120,000 to $150,000.
- Location matters significantly: engineers in San Francisco, New York, and Seattle earn substantially more than those in smaller cities or rural areas, though cost of living is also higher.
- Company size and type affect pay—major tech companies and well-funded startups pay more than smaller firms or non-tech industries.
- Specialized skills like machine learning, cloud architecture, or security engineering command higher salaries than general software development roles.
- Total compensation often includes bonuses and stock options that can add 20 to 50 percent or more to your base salary at larger companies.
How Location Changes What You Earn
The city or region where you work is one of the largest factors in your salary. San Francisco and the broader Bay Area pay the highest salaries for software engineers, with base salaries often starting at $120,000 to $140,000 for entry-level roles and reaching $200,000 or more for senior positions. New York City, Seattle, and Boston also pay significantly above the national average. Engineers in these cities often earn 30 to 50 percent more than engineers doing identical work in smaller metropolitan areas.
However, cost of living in high-paying cities is also much higher. Rent, taxes, and general expenses in San Francisco or New York consume a larger portion of your paycheck than they would in Austin, Denver, or Charlotte. Some engineers choose to move to lower-cost regions or negotiate remote work arrangements to keep more of their earnings. Remote work has also changed this equation—some companies now pay based on where you live rather than where the company is headquartered, while others maintain the same salary regardless of location.
Experience Level and Career Progression
Your salary grows predictably as you gain experience, though the rate of growth slows over time. An engineer with zero to two years of experience earns roughly $70,000 to $95,000. From two to five years, salaries typically jump to $95,000 to $130,000. Engineers with five to ten years of experience earn $120,000 to $160,000, and those with more than ten years often earn $150,000 to $200,000 or higher.
The biggest salary jumps usually happen in the first five years. After that, growth depends more on moving into senior or leadership roles, switching to higher-paying companies, or developing specialized informed. Some engineers plateau in salary after ten to fifteen years unless they pursue management positions or move to companies that value their specific skills highly. Changing jobs typically results in a larger raise than staying at the same company—engineers who switch employers often see salary increases of 15 to 25 percent.
Company Size and Industry Matter
Where you work affects your pay as much as how experienced you are. Large, profitable tech companies like Google, Apple, Microsoft, Amazon, and Meta pay significantly more than smaller firms. An entry-level engineer at Google might earn $140,000 to $160,000 in base salary plus substantial bonuses and stock, while an entry-level engineer at a small startup might earn $70,000 to $85,000 with little or no bonus.
Well-funded startups often pay competitively with large companies to attract talent, though they typically offer stock options instead of the cash bonuses that established companies provide. Non-tech industries that employ software engineers—finance, healthcare, manufacturing, government—often pay less than tech companies but may offer better job security or benefits. Financial services and defense contracting are exceptions; they sometimes pay as much as or more than tech companies for specialized roles.
Specialized Skills Command Higher Pay
Software engineers who specialize in high-demand areas earn more than generalists. Machine learning engineers, cloud architects, and security specialists typically earn 10 to 30 percent more than general software developers at the same experience level and company. DevOps engineers and those with informed in Kubernetes, AWS, or other cloud platforms are also in high demand and command premium salaries.
Certifications and demonstrated informed in these areas can justify higher pay during salary negotiations. However, these specializations also require ongoing learning—the tools and frameworks change frequently, and engineers must stay current to maintain their premium. Generalist skills like strong problem-solving, communication, and the ability to learn new languages quickly are also valuable and can lead to higher pay over time, even without a narrow specialization.
Bonuses, Stock, and Total Compensation
Base salary is only part of what software engineers earn. At large tech companies, bonuses typically range from 15 to 25 percent of base salary, and stock options or restricted stock units (RSUs) can add another 20 to 50 percent or more to total compensation. An engineer with a $150,000 base salary at a major tech company might receive a $25,000 bonus and $50,000 in annual RSU grants, bringing total compensation to $225,000.
Startups often pay lower base salaries but offer larger stock grants, betting that the company will grow and make that stock valuable. This is a higher-risk, higher-reward arrangement. Small companies and non-tech industries typically offer smaller bonuses and no stock options. When comparing job offers, always ask about the full compensation package, not just base salary. The difference between a $100,000 base salary with no bonus and a $100,000 base salary with a 20 percent bonus is $20,000 per year.
How the Job Market Affects Salaries
Software engineering salaries rise and fall with demand for engineers and the overall health of the tech industry. During periods of rapid growth—like the late 2010s and early 2020s—companies competed aggressively for talent and salaries climbed. During downturns, when companies reduce hiring or lay off workers, salary growth slows and new hires may earn less than they would have in a stronger market.
Economic conditions, interest rates, and investor confidence all influence how much companies are willing to spend on engineering talent. A recession or tech industry slowdown can reduce salaries by 10 to 20 percent across the industry, while a period of rapid expansion can increase them by similar amounts. Individual engineers have limited control over these market forces, but understanding them helps explain why the same job might pay differently in different years.
Frequently Asked Questions
Do software engineers make six figures?
Many do, but not all. Engineers with five or more years of experience at mid-to-large companies often earn $100,000 or more. At major tech companies, even entry-level engineers frequently exceed $100,000 when bonuses and stock are included. However, engineers at small companies, in lower-cost regions, or early in their careers may earn less than $100,000.
What's the difference between a software engineer and a software developer?
The terms are often used interchangeably, and salary differences are usually small. "Software engineer" sometimes implies a more formal education or broader system-design responsibilities, while "developer" may suggest more hands-on coding. In practice, the job duties and pay are similar, and the title varies by company preference rather than strict definition.
Do remote software engineers earn less than those in offices?
It depends on the company. Some companies pay the same salary regardless of location; others adjust pay based on where you live. Remote engineers in high-cost cities may earn more than they would if they had to relocate, while remote engineers in low-cost areas might earn less than office-based peers in expensive cities. Always clarify the company's remote pay policy before accepting an offer.
How much do software engineers earn right out of college?
Entry-level engineers with a bachelor's degree typically earn $70,000 to $95,000 at most companies, though major tech companies often pay $120,000 to $140,000 including bonuses. Bootcamp graduates without a degree may earn slightly less initially, but the gap narrows quickly as they gain experience. Location and company size matter more than education level after the first few years.
Can you negotiate a higher salary as a software engineer?
Yes. Software engineers typically have more negotiating power than workers in many other fields because demand for their skills is high. Negotiating an extra $10,000 to $20,000 in base salary or asking for additional stock options is common and expected. The best time to negotiate is when you receive a job offer, before you accept. Negotiating a raise at your current job is harder but possible, especially if you've taken on new responsibilities or your skills have become more valuable.