As hiring managers, we have a lot of tough choices to make. One choice most hiring managers get wrong is compensation for developers. This article will help you get in the right ballpark based on your needs.
Baseline salary data comes from Indeed.com, but we help you interpret and apply that data to your particular needs by defining 5 distinct levels of experience and expertise, and grouping compensation ranges into three different compensation strategies (Budget, Competitive, and Golden Handcuffs).
The bars in this graph represent the percent of the software developer workforce that fall into that salary range. The upper middle of the budget range is where most salaries are clumped. The graph is scaled up, so the top end of the golden handcuffs appears larger than it really is. Those salaries are exceptionally rare, and represent fewer than the top 1 percentile.
- Most junior developer salaries range from $59k — $100k
- Most mid level salaries range from $110k — $150k
- Most Senior developer salaries range from $125k — $200k
- Most Principal/Architect salaries range from $138k — $230k
Experience Levels
- Entry Level: Little knowledge of the language or tech stack. Limited or no professional programming experience.
- Junior: Some knowledge of the language or tech stack. 0–3 year’s experience.
- Mid Level: Strong knowledge of the language or tech stack. 1–3 year’s experience.
- Senior: Strong knowledge of the language or tech stack. 3+ year’s experience (5 or more preferred, but harder to find and hire).
- Principal/Tech Lead: Mastery of the language or tech stack. 5+ year’s experience (10 or more preferred, but very hard to find and hire). Great mentor.
Note: Knowledge and demonstrated skills tend to weigh more than experience in determining seniority. Many developers with 5+ year’s experience would be classified as junior or mid level if the job is competitive, such as working for a well known company, applying for a remote role, or joining a hotly buzzed startup where there is more incoming developer interest than jobs to go around.
Budget Ranges
- Budget: You want to attract great talent, but you’re working on a tight budget.
- Competitive: You want to attract and retain great talent, with better than average retention, culture, and quality results.
- Golden Handcuffs: You’re very well funded with money to burn. You have the cash flow to overpay for talent in hopes of maximizing retention and keeping your best talent out of your competitor’s reach. You already have well respected fellows and your company produces groundbreaking technology and research which drives the entire industry forward.
Quick Facts & Advice
- The software industry has the highest turnover rate of any industry at over 13% due to large constantly growing demand, leaving many developers feeling undervalued when their employer fails to keep up with the market and their increasing skills.
- Losing a good developer can cost you more than 90% of their annual salary (sometimes far more).
- Higher salaries lead to better retention.
- 37% of employees cite unhappiness with salary as the reason they left a job.
- Fair salaries lead to increased product quality.
- Average salary for a JavaScript Developer in the United States is $115k — but keep in mind, that’s the low end of the budget range for a mid-level developer.
- The average software developer has less than 5 year’s experience and 88% of employees feel they could use more training.
- 58% of software developers are open to new job opportunities, even if they already have a full time job.
- 60% of software developers last changed jobs less than 2 years ago. Half of those changed jobs less than 1 year ago.
- Developers are not a very location sensitive group. Don’t use location as an excuse to pay developers less, unless you’re satisfied with average developer talent.
- Hiring managers are competing with tech hubs for talent. A large share of the unfilled global demand for developer talent comes from tech hubs: San Francisco, New York, Seattle, Switzerland, Norway, Denmark, and Israel.
- 12% of software jobs are fully remote. 42% of developers prefer to work remotely rather than in a company office.
- Remote work improves employee productivity, happiness, loyalty, and retention.
- There are more than 10,000 currently open software engineer job listings mentioning remote work.
- If you don’t offer remote work, expect to pay close to the top of these ranges for the best talent.
- Hiring in-office in SF, NY, or Seattle? Multiply budget numbers by 1.25–1.5 and set aside $10k — $20k moving bonuses, or offer remote work and conserve your runway, instead.
- Startups should pay near the top of the budget range to conserve runway and maximize retention, or offer generous stock options to compensate.
- Well funded companies in early growth should pay in the bottom half of the competitive range.
- Strong established cash flow? Pay near the middle or top half of the competitive range.
- Only companies with very strong cash flow should consider the golden handcuffs strategy. Don’t overpay unless you have the budget to compete with the likes of Google, Netflix, Microsoft, etc.
- I don’t recommend paying any developers less than $100k/year. It’s very common for the most skilled juniors and mid level devs to be poached in just a few months — often before you’ve earned a return on your investment in them.
Whether your company is based in a lower-paying area, or your employee is based in a lower-paying area does not matter in the field of software development if you want to attract and retain above-average developers.
Why not? Because software developers are generally open to relocation to find the right job. If you’re offering $80k/year, and a company in a tech hub like Seattle is offering $120k/year, guess which one your candidate will choose.
What’s worse though is that companies in tech hubs like the San Francisco Bay Area and Seattle have more demand than they can fill locally, and they’re increasingly open to hiring remote workers. That means you’re competing with tech hub salaries and remote work. And remote work is a big bonus attraction to half of the tech workforce.
These factors create a brain drain — not only into tech hubs like San Francisco, Seattle, and New York, but also into higher pay brackets, globally. Talent who can compete in the more demanding markets and remote playing fields will rise up the pay brackets, and will not stick around for jobs paying too little. In other words, sub-par pay rates anywhere in the world will not allow you to retain great workers who are aware of their options and know how to find remote work or relocate to higher-paying tech hubs.
If you want to be competitive, you need to pay better than the US national average to attract top talent, regardless of location.
Developers: This advice for employers does not mean that if you’re making less than the salaries listed here that you are a below-average developer, but it does mean that there may be better paying work for you in the market, and it could be that if you watch for job openings, you could find better pay.
Keep in mind that if you’re being paid enough to manage your living needs and responsibilities, your happiness means a lot more than salary. If you’re not stressed about money and you’re happy with the work and the people you work with, consider the other benefits of the job before you start looking to jump ship.
Avoiding Turnover
The longer you retain a developer, the more valuable they become. Losing a developer can cost you 90% of the annual salary in lost productivity, recruiting, training, and onboarding, and potentially significantly more in opportunity costs (over 200% for senior, leadership, or executive talent).
Rule of thumb: Annual (or even quarterly) raises in the software industry are a must, and those raises should be competitive with what the employee could find on the market.
Developers, want to learn the JavaScript skills you need to command better salaries? Join EricElliottJS.com and get access to an ever expanding supply of videos and interactive lessons covering topics like functional programming, React, Redux, TDD, and more.
If you’d like to learn more on how to recruit, retain, and build software development teams, DevAnywhere.io provides a mentorship track for engineering leaders. Learn how to build well balanced development teams, how to optimize your team’s development process, and build a culture of mentorship and support. Tell us about your team and your needs.