Computer programmer salaries vary widely based on experience, location, and the type of work
A programmer's salary depends on several factors that shift the pay range considerably. Someone starting their first job in a small town will earn less than a senior developer in a major tech hub. The U.S. Bureau of Labor Statistics tracks programmer wages, but the actual number you see depends on your years of experience, the programming languages you know, whether you work for a company or freelance, and which state or country you work in.
Entry-level programmers typically earn between $50,000 and $70,000 per year. Mid-level programmers with three to five years of experience often make $70,000 to $110,000. Senior programmers and those in leadership roles can earn $110,000 to $160,000 or more. These ranges shift based on location — a programmer in San Francisco or New York earns significantly more than one in rural areas, though the cost of living is also higher.
Key Takeaways
- Entry-level programmer salaries typically fall between $50,000 and $70,000 per year, while senior roles can reach $110,000 to $160,000 or higher.
- Geographic location matters: programmers in major tech cities earn more than those in smaller markets, but cost of living varies too.
- Specialization in high-demand languages like Python, Java, or cloud technologies can increase your earning potential by $10,000 to $30,000 annually.
- Freelance and contract programmers often charge hourly rates ranging from $50 to $150 per hour, depending on experience and informed.
- Remote work has expanded salary ranges, allowing programmers in lower-cost areas to earn rates closer to major tech hubs.
How experience level affects what you earn
Your first programming job sets a baseline. Most entry-level positions require a degree or bootcamp certification and pay in the $50,000 to $70,000 range. You are learning the company's systems, coding standards, and how to work with a team. After two to three years, you move into mid-level roles where you can work more independently and take on larger projects. That jump typically brings $70,000 to $90,000.
At five years of experience, you reach a threshold where companies expect you to mentor others, design systems, or lead small teams. Senior programmer roles at this stage pay $100,000 to $140,000. Beyond that, the path splits: you can move into management (which often pays more but involves less coding), specialize in architecture or security (which can pay $130,000 to $180,000), or stay as a senior individual contributor. Some senior developers at large tech companies earn $150,000 to $250,000 when you include stock options and bonuses.
Geographic differences in programmer pay
Location creates the largest salary swings. California, New York, Washington, and Massachusetts have the highest programmer salaries because major tech companies and startups cluster there. A mid-level programmer in San Francisco might earn $130,000 while the same role in Austin pays $95,000 and in a smaller Midwest city pays $75,000. However, rent and living costs in San Francisco are also three to four times higher.
Remote work has changed this landscape. Some companies now pay based on where you live rather than where the company is located, while others pay the same rate regardless of location. A programmer in rural North Carolina working for a San Francisco company might earn $100,000 — far above local rates but below what the company would pay someone in the city. Researching what remote positions pay in your area is now as important as looking at local job postings.
How programming specialization changes earnings
Not all programming skills pay the same. Programmers who work with older systems (called legacy code maintenance) often earn less than those building new applications. Specialists in high-demand areas earn more: cloud computing (AWS, Azure, Google Cloud), machine learning, cybersecurity, and mobile app development all command premiums of $10,000 to $30,000 above baseline rates.
Full-stack developers (who can build both the user-facing side and the backend) typically earn more than specialists in only one area, because they are more versatile. DevOps engineers, who manage the systems that run applications, often earn $100,000 to $150,000 because the role requires both programming skill and deep system knowledge. Database specialists and security-focused programmers also sit at the higher end of the range.
Freelance and contract programmer rates
Freelance programmers do not receive a salary; they charge hourly or per-project rates. An entry-level freelancer might charge $30 to $60 per hour, while mid-level freelancers charge $60 to $100 per hour. Senior freelancers and specialists often charge $100 to $200 per hour or more. These rates assume you are finding your own clients, managing your own taxes, and covering your own benefits — costs that salaried programmers do not face.
Contract positions (temporary roles lasting weeks to months) often pay hourly rates that work out to $60,000 to $120,000 annually, but the work is not may provide to continue. Some contract roles pay more than permanent positions because they do not include benefits or job security. Others pay less because the company knows the role is temporary. Freelancers and contractors also spend time on non-billable work: finding clients, writing proposals, and handling administrative tasks.
Company size and industry affect programmer salaries
Large tech companies (Google, Microsoft, Apple, Meta) pay more than smaller companies or non-tech businesses. A programmer at Google might earn $150,000 to $200,000 in base salary plus stock options, while the same person at a regional software company might earn $90,000 to $120,000. Startups often pay less in base salary but offer equity (stock) that could become valuable if the company succeeds.
The industry matters too. Financial technology (fintech) and high-frequency trading firms pay some of the highest programmer salaries because the work directly generates revenue. Healthcare software, government contracting, and insurance software typically pay less than tech companies but more than nonprofits or education. A programmer at a bank might earn $110,000 to $160,000, while the same skills at a nonprofit might pay $60,000 to $85,000.
What affects salary growth over time
Staying at one company usually means smaller annual raises — typically 2 to 4 percent per year. Switching companies often brings larger jumps: moving from one company to another can mean a 15 to 25 percent raise if you negotiate well. After five to seven years, your earning potential plateaus unless you move into management, specialize in a high-demand area, or switch to a higher-paying company or industry.
Education and certifications have mixed effects. A computer science degree is standard for many positions, but a bootcamp certificate can get you hired at entry level with similar starting pay. Advanced degrees (master's in computer science) can help you move into specialized roles faster, but they do not automatically increase salary. What matters more is what you can build and what problems you can solve — demonstrated through your portfolio and work history.
Frequently Asked Questions
Do programmers in different countries earn the same amount?
No. Programmers in the United States, Canada, and Western Europe earn the most. A programmer in India or Eastern Europe might earn $20,000 to $50,000 annually for the same work, which is why some companies hire remote developers internationally. However, cost of living is also much lower in those regions, so the purchasing power is closer than the raw numbers suggest.
What is the difference between a programmer and a software engineer salary?
The titles are often used interchangeably, but "software engineer" sometimes implies more experience or a broader role that includes system design and architecture. In practice, the salary difference is small — maybe $5,000 to $10,000 — and depends more on the specific job and company than the title. Some companies use "engineer" for all coding roles; others reserve it for senior positions.
Do self-taught programmers earn less than those with degrees?
Not necessarily. Your first job might pay slightly less if you are self-taught, because employers see a degree as a credential. But once you have two to three years of work experience, your salary depends on your skills and what you have built, not how you learned. Many self-taught programmers earn the same as degree holders at the same experience level.
How much do programmers earn with a bootcamp certificate?
Bootcamp graduates typically start at $50,000 to $70,000, the same as entry-level programmers with degrees. Some bootcamps report higher starting salaries, but those numbers often exclude graduates who did not find programming jobs. After three to five years, bootcamp graduates and degree holders earn similarly if they have the same experience and skills.
Will programmer salaries keep going up?
Demand for programmers remains high, which supports salary growth. However, salaries do not rise uniformly — specialized skills in growing areas (AI, cloud, security) see faster growth than general programming. Automation and AI tools may change what programming skills are most valuable, but they have not reduced programmer salaries so far.