Eric Elliott

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).

JavaScript Salary Distributions 2020 (USA)

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

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.