Computer programmer salaries vary widely based on experience, location, and the type of work
A computer programmer's salary depends on several factors that shift throughout a career. Entry-level programmers typically earn less than those with five or ten years of experience. Where you live matters significantly — programmers in major tech hubs earn more than those in smaller cities. The industry you work in also affects pay: financial software companies often pay more than nonprofits or government agencies.
There is no single "programmer salary" because the range is genuinely broad. Someone starting out in a rural area might earn $45,000 to $55,000 per year, while a senior programmer in San Francisco or New York could earn $120,000 to $160,000 or more. The median sits somewhere in the middle, but that number alone tells you very little about what you might actually earn.
Key Takeaways
- Entry-level programmers without a degree or portfolio typically start between $45,000 and $65,000 annually, depending on location and whether they attended a coding bootcamp.
- Mid-career programmers with three to seven years of experience usually earn $70,000 to $100,000, with higher pay in tech-heavy cities and for specialized skills like cloud architecture or machine learning.
- Senior programmers and those in leadership roles often earn $110,000 to $180,000 or more, though this varies significantly by region and industry.
- Remote work has changed location-based pay — some companies pay based on where you live, while others pay the same rate regardless of location.
- Freelance and contract programmers have no fixed salary; they charge hourly rates (typically $50 to $150 per hour) or project fees that vary by skill level and client type.
What entry-level programmers earn
An entry-level programmer is someone with zero to two years of professional experience. This includes people who graduated from a four-year computer science program, attended a coding bootcamp, or taught themselves and built a portfolio. The starting salary range is roughly $45,000 to $65,000 per year in most of the United States, though this shifts based on location.
In lower-cost regions — parts of the Midwest, South, and rural areas — entry-level pay often sits at the lower end of that range or below. In expensive cities like San Francisco, Seattle, Boston, and New York, entry-level positions frequently start at $65,000 to $85,000. Some large tech companies offer signing bonuses or stock options on top of base salary, which can add $10,000 to $30,000 in the first year.
The path to your first job affects starting pay. A computer science degree from a well-known university may open doors to higher-paying companies. A bootcamp graduate might start at a smaller company or startup, where salaries are sometimes lower but equity stakes can be valuable. Self-taught programmers who build strong portfolios can earn the same as bootcamp graduates, though they may need to work harder to get interviews.
Mid-career programmer salaries
Mid-career typically means three to seven years of professional experience. At this stage, a programmer has shipped real projects, debugged production systems, and learned what works in practice. The salary range widens considerably: $70,000 to $100,000 is common, though senior mid-career programmers can earn $100,000 to $120,000.
Specialization matters more at this level. A programmer who knows only general-purpose languages like Python or JavaScript might earn $75,000 to $90,000. One who specializes in cloud infrastructure (AWS, Google Cloud, Azure), machine learning, or embedded systems often earns $95,000 to $130,000. The demand for these skills is higher, and fewer people have them.
Location continues to affect pay significantly. A mid-career programmer in Austin, Denver, or Portland might earn $85,000 to $105,000. The same person in San Francisco, New York, or Seattle could earn $120,000 to $150,000. Remote work has complicated this — some companies pay based on your location, others pay the same rate nationwide, and some adjust pay based on cost of living in your area.
Senior programmer and leadership salaries
Senior programmers typically have seven to fifteen years of experience and often move into leadership roles: tech lead, engineering manager, or architect. Base salaries at this level range from $110,000 to $180,000 in most markets, with significant variation by location and company size.
A senior programmer at a large tech company (Google, Microsoft, Amazon, Meta) in a major city can earn $150,000 to $250,000 in base salary alone, plus stock options or bonuses that sometimes double total compensation. A senior programmer at a smaller company or in a lower-cost region might earn $100,000 to $140,000. The difference is not just the title — it reflects the company's revenue, the programmer's track record, and the local job market.
Programmers who move into management (engineering manager, director) often earn more in base salary but lose some of the bonus and stock upside that individual contributors receive. The trade-off is different at each company, so total compensation can be higher or lower depending on the role and the organization.
How freelance and contract work affects earnings
Freelance programmers do not have a fixed salary. Instead, they charge hourly rates or project fees. Hourly rates typically range from $50 to $150 per hour, depending on experience, skill, and the client's budget. A junior freelancer might charge $40 to $70 per hour. A senior freelancer with a strong reputation might charge $100 to $200 per hour or more.
Contract work — a temporary position lasting weeks or months — usually pays more per hour than a full-time salary would, because there is no benefits package and the work is not may provide to continue. A contract programmer might earn $60 to $120 per hour, which sounds high until you account for unpaid time between contracts, no health insurance, and no retirement contributions.
Freelance income is also uneven. A freelancer might earn $8,000 one month and $2,000 the next, depending on project availability. Many freelancers charge higher rates to account for this variability and to cover taxes and business expenses that salaried employees do not pay directly.
Factors that increase programmer pay
Certain skills and circumstances push programmer salaries higher. Machine learning and artificial intelligence informed commands premium pay — $120,000 to $200,000+ for mid-career and senior roles. Cloud architecture (designing systems on AWS, Google Cloud, or Azure) is also in high demand and pays 15 to 25 percent above average. Security specialization, blockchain development, and embedded systems programming also pay above the median.
Education level affects starting salary more than mid-career salary. A programmer with a bachelor's degree from a top university might start $5,000 to $15,000 higher than a bootcamp graduate, but after five years of work, the difference often disappears. A master's degree in computer science or a related field rarely increases salary significantly unless you move into research or academia.
Company size and type matter. Large public tech companies (Google, Microsoft, Apple, Meta) pay more than startups, which often pay less in salary but offer equity that may become valuable. Nonprofits and government agencies typically pay 20 to 40 percent less than private tech companies. Financial services, insurance, and healthcare companies often pay as much as tech companies, sometimes more.
Regional salary differences
The United States has significant regional variation in programmer pay. The highest-paying regions are the San Francisco Bay Area, New York City, Seattle, Boston, and Los Angeles. Entry-level programmers in these cities often earn $70,000 to $90,000, while senior programmers can earn $180,000 to $300,000 or more.
Mid-tier cities like Austin, Denver, Portland, and Atlanta offer moderate salaries — typically 10 to 20 percent below the top markets but with lower cost of living. A mid-career programmer in Austin might earn $85,000 to $110,000, compared to $120,000 to $150,000 in San Francisco for the same experience level.
Smaller cities and rural areas pay less, but so does housing and cost of living. A programmer earning $65,000 in a small Midwestern city may have more purchasing power than someone earning $100,000 in San Francisco. Remote work has made this calculation more complex — if you live in a low-cost area but work for a San Francisco company, you might earn a San Francisco salary while paying Midwest expenses.
How to research programmer salaries for your situation
Salary data comes from several sources, each with strengths and weaknesses. Glassdoor and Indeed publish salary ranges based on job postings and employee reports, though the data can be outdated or skewed toward certain companies. Levels.fyi focuses on tech companies and breaks down salary by company, level, and location — useful if you are targeting specific employers. PayScale and Salary.com aggregate survey data but may not reflect current market rates.
The most reliable approach is to talk to programmers in your target location and company size. Online communities like Reddit's r/cscareerquestions, local tech meetups, and professional networks often share real salary numbers. When you interview, ask other candidates what they were offered. Many companies now publish salary ranges in job postings, which gives you a direct answer.
Remember that salary is only part of compensation. Health insurance, retirement matching, stock options, bonuses, paid time off, and remote work flexibility all have real value. A job paying $90,000 with four weeks of vacation and full health coverage may be worth more than one paying $100,000 with two weeks of vacation and high out-of-pocket costs.
Frequently Asked Questions
Do I need a computer science degree to earn a programmer salary?
No. Bootcamp graduates and self-taught programmers earn the same starting salaries as degree holders at many companies. After a few years, education level matters very little — your portfolio and experience determine pay. Some large companies require a degree for certain roles, but most tech companies care about what you can build, not your credentials.
How much more do senior programmers earn than entry-level ones?
A senior programmer typically earns 2 to 3 times what an entry-level programmer earns. Entry-level might be $55,000, while senior could be $130,000 to $180,000. The jump happens gradually over five to ten years, with the biggest increases in the first five years and slower growth after that.
Does working remotely affect programmer salary?
It depends on the company. Some remote-first companies pay the same regardless of location. Others adjust salary based on your location's cost of living — you might earn less if you live in a low-cost area, even working for a major tech company. Always ask how a company handles remote pay before accepting an offer.
What programming languages pay the most?
Languages themselves do not determine pay — the job market for those languages does. Python and JavaScript are popular but have many programmers, so salaries are moderate. Niche languages like Rust, Go, and Kotlin have fewer programmers and higher demand, which can push salaries up. Specialization in machine learning, cloud systems, or security matters more than the specific language.
Can I earn more as a freelancer than as a salaried programmer?
Possibly, but it is not may provide. A freelancer charging $100 per hour working 40 hours per week earns $208,000 per year before taxes and expenses. A salaried programmer earning $120,000 has benefits, paid time off, and no business costs. Freelancing offers higher hourly rates but unpredictable income, no benefits, and time spent finding clients instead of coding.