2016–2017 Web Salary Survey

Tools, trends, what pays (and what doesn't) for web professionals.

By Andy Oram and John King
May 1, 2017
Butterfly, Caterpillar, Moth, Insects, and Currants; Jan van Kessel II Butterfly, Caterpillar, Moth, Insects, and Currants; Jan van Kessel II (source: The J. Paul Getty Museum)

THE WEB IS A MAJOR EMPLOYER for computer programmers
and designers. Many people see the web as their big
chance at a career that is both lucrative and fulfilling—witness
the enormous number of companies that offer courses in
various types of web development, and the large numbers of
applicants from whom they can choose their student bodies.

The World Wide Web began as an interlinked system for
sharing hypertext documents amongst a small community
of scientists. Three decades later, the web is everywhere. It’s
your desktop browser, your phone, an app on your tablet, a
ticketing kiosk at the airport, your television, and even in your
car. The web has grown up and it moves incredibly fast.

Learn faster. Dig deeper. See farther.

Join the O'Reilly online learning platform. Get a free trial today and find answers on the fly, or master something new and useful.

Learn more

In its early days, JavaScript was mostly used to glue things
together in the browser. Fifteen years later, things are much
different. JavaScript is one of the most popular and in-demand
programming languages, and HTML5, CSS, and
other core technologies making up the modern web have
matured with it.

The web also occupies an interesting space in the field of
software development as it proves a welcoming entry point
for beginning programmers and subsequently a space for
advancement and specialization. The speed of change in web
development, in terms of favored tooling, techniques, and
standards, allows for much innovation in a vibrant ecosystem
of developers. It also presents some challenges for those trying
to keep up, or those trying to survey the field, for instance.

So what can you earn as a web developer? How does the
type of job, the language you use, or your geographic location
affect your salary? That’s what this report, based on a
survey of more than 2,000 developers, tries to establish.

For the past few years, O’Reilly Media has conducted worldwide
salary surveys of people working in the computer field.
Following a general survey of all computing positions, we
reached out to those doing web work in order to produce
this report.

In the survey, respondents shared details about themselves,
the companies they work for, and their roles. We asked for
specifics regarding age, number of years in the field, job
description, number of work hours, etc. One of the most
interesting parts of the report, we think, concerns tools,
programming languages, and platforms. These have a major
impact on salary.


should be aware of several ways in which this report may fail
to reflect reality:

  • The sample size may sometimes be inadequate. Although
    2,000 is a large number of people and worth drawing
    conclusions from, the conclusions become less reliable as
    we break down the respondents into groups that use a
    particular tool.

  • We had to group people who differ in known ways.
    For instance, we sometimes lumped together people
    in different countries to get a sample large enough
    to be meaningful, and obviously, salaries will vary in
    different places.

  • The respondents are self-chosen, not a random sample.
    They are likely to be people who use O’Reilly Media
    products and resources, and might not reflect the field as
    a whole.

  • Because we depend on what respondents say about
    themselves, we have to trust them to be accurate and
    objective. Some questions are deliberately subjective—for
    instance, we ask respondents to rate their own ability to
    negotiate for a higher salary.

  • The data behind this report was collected in March and
    April of 2016. Technical fields change quickly, and it has
    been more than six months since the respondents filled
    out their surveys.

  • Respondents in the web area vary a great deal in both
    responsibilities and skills. There is also a great deal of
    churn in the field, and part-timers.

With these caveats in mind, let’s see what our data tells us.

Large-Scale Findings

THE MEDIAN SALARY IS $78,000 (we use US dollars for all
money in this report). Naturally, there is a lot of variation, but
75% of respondents had a salary of at least $50,000, and 25%
had a salary of at least $109,000. Things are changing fast,
though: salaries rise quickly. 17% of respondents reported a
salary raise of 20% to 30% over the past three years. The salary
raises also form a bell curve around this 17%. For instance,
although 5% reported a decrease in salary, 16% reported that
their salaries had doubled, or even done better, over three years.

The United States paid the highest salaries, with the average
being $98,000. Canada was also pretty high, with a median
of $79,000 (in US dollars), and Australia/New Zealand at
$74,000. Compensation drops off rapidly after that:

  • UK and Ireland: average of $62,000

  • Rest of Europe: average of $43,000

  • Africa: average of $23,000 (but there was a rather high
    top quartile of $41,000)

  • Asia: average of $21,000 (with a high top quartile of

  • Latin America: average of $21,000 (with a high top
    quartile of $44,000)

The top quartile means that 25% of respondents earned more
than the amount listed. Of course, countries differ in taxation
and the benefits they offer, so salaries have somewhat different
meanings in different countries.

Because we got a lot of respondents from the US, we could
break them down by region. High salaries in California are no
surprise (particularly given the cost of living there), but the
high average in Southwest/Mountain states is rather unexpected.
(This category does not include California, which has
its own category.) Utah, with a large web developer community,
as well as Colorado and Arizona all saw high salaries.

  • California: average of $120,000

  • Northeast: average of $105,000

  • Southwest/Mountain: average of $102,000

  • Pacific Northwest: average of $98,000

  • Mid-Atlantic: average of $96,000

  • South: average of $83,000

  • Midwest: average of $80,000

Next let’s drill down into the differences between respondents.
The data might affect your career choices.

1617websal 01
Figure 3-1.
1617websal 02
Figure 3-2.

Developers’ Personal Characteristics

WE FOUND THAT EACH YEAR of experience is worth about
$1,350. That is, if you have five years of experience, you’re
likely to earn $1,350 more than someone who is similar to you
but has only four years of experience.

Education makes a big difference in salary—something that
may be surprising, given that the web contains a lot of people
who are self-taught or who got brief educational experiences
at for-profit programs. If you have a doctorate, you can expect
to earn on average $10,434 more than someone without one.
Strangely enough, possessing a master’s degree is slightly bad
for salary: respondents with master’s degrees earned $542
less, all else being equal.

Although older respondents tended to earn more, this was
attributable to years of experience. When experience is held
constant, respondents in the 26 to 30 and 31 to 35 groups
earned the most, with an advantage of $3,932 and $3,347,
respectively, over other age groups. Respondents aged 61
to 65 earned $4,526 less than younger respondents with
similar experience.

We asked respondents to rate their bargaining skills on a 1- to
5-point scale; 5 meaning they are a very good bargainer.
(While this rating is very subjective, the subjectivity is appropriate
for this question because so much about bargaining
has to do with confidence and being able to assess yourself
highly.) For every self-assessed bargaining point, the respondent’s
salary estimate goes up by $5,695. So holding everything
else constant, someone who gave themselves 5 points
will make 4 x $5,695 = $22,780 more than someone with
1 point.

Gender had a predictable influence on salary in the web field.
Our analysis showed that everything else being equal, men
earned an average of $2,165 more than women.

1617websal 03
Figure 4-1.
1617websal 04
Figure 4-2.
1617websal 05
Figure 4-3.
1617websal 06
Figure 4-4.
1617websal 07
Figure 4-5.

Company Characteristics

THE BEST INDUSTRIES TO WORK FOR, in terms of salary,
were search/social networking and banking/finance. If you are
in search/social networking, you probably earn a whopping
$15,193 more than someone with comparable experience
and characteristics in other industries. In banking/finance,
you can earn $7,043 more. There are a couple of other
advantageous fields:

  • Software (including SaaS, web, mobile): $2,142 better
    than average

  • Publishing/media: $1,376 better than average

But you will be penalized for working in the
following industries:

  • Education: $8,608 worse than average

  • Carriers/telecommunications: $1,547 worse than average

And think twice before becoming a consultant: they earn
$8,448 less than average.

Company size had a major impact on salary, but not on a
simple linear curve. It looks fairly simple, salary increasing with
company size. But when we factor in all the other differences
between employees, it looks like the best salaries are given
out in firms of 1,001 to 2,500 employees, and the next best
size is 101 to 500.

  • 1 (4% of respondents): average salary $57,000

  • 2 to 25 (22% of respondents): average salary $57,000

  • 26 to 100 (17% of respondents): average salary $78,000

  • 101 to 500 (18% of respondents): average salary $82,000

  • 501 to 1,000 (8% of respondents): average salary $87,000

  • 1,001 to 2,500 (8% of respondents): average salary $86,000

  • 2,501 to 10,000 (11% of respondents): average salary $88,000

  • 10,000 or more (12% of respondents): average salary $98,000

If the company is more than 20 years old, we saw a penalty
of $2,197 for working there. Perhaps this is because people
at such firms stay in one job longer, and don’t experience the
salary boost that others get by moving to new firms.

1617websal 08
Figure 5-1.
1617websal 09
Figure 5-2.
1617websal 10
Figure 5-3.
1617websal 11
Figure 5-4.

Job Characteristics

more than other respondents, and upper management earns
$15,094 more. (We put a number of self-defined job categories
into “upper management:” CEO, president, owner, head
of engineering, VP, etc.) The next best career step is to ascend
to the rank of an architect, where you can earn $9,760 more.
Job titles and company sizes interact in our survey. In small
firms, we get responses from a relatively large number of people
whose jobs are in “upper management,” but salaries in
small companies are generally lower than those in large ones.
Correspondingly, people whose job titles say “architect” tend
to work for large firms, and benefit from that position.

Other bonuses and penalties added up as follows:

  • Senior engineer/developer: $4,311 better than average

  • Principal/lead: $1,896 better than average

  • System administrator: $2,636 worse than average

  • Engineer/developer/programmer: $3,243 worse
    than average

And among these job descriptions, consultants again come
out the big losers: $6,547 worse than average.

Hours Worked

On the web, workaholics rule. You get an enormous advantage
over other employees for working more than 60 hours a
week. In general, the more hours you work, the better your
salary, but the 60+ bonus of $14,199 stood out. (We did not
calculate what people earn by the hour.)


Writing code for collaborative projects proved to be a good
investment. Respondents who reported “minor involvement”
in collaborative projects saw a bonus $3,485, while “major
involvement” reaped a bonus of $5,093.

We tried to measure the effects of different tasks. Attending
meetings is correlated with significant salary increases.
This doesn’t mean you should arrange to attend arbitrary
meetings. The statistics are probably associated with playing a
role of team leader or manager. Interestingly, more meetings
are not necessarily better—there’s a limit to the benefit. Here
are the correlations:

  • 4 to 8 hours of meetings per week: $3,873 better

  • 9 to 20 hours of meetings per week: $6,961 better

  • More than 20 hours of meetings per week: $2,309 better

Teaching or training others also has a positive effect. All other
things being equal, you earn $2,300 more by being involved
in teaching.

Performance is a good field to enter: you earn $1,434 more
than average for minor involvement in performance and
$2,258 more than average for major involvement.

The tasks you do want to avoid are project management and
content management systems. Major involvement in project
management, oddly enough, brings with it a $3,476 decrease
in salary, although minor involvement has no effect. Similarly,
you are penalized $1,476 if you have major involvement in
communicating with less technical or non-technical departments
(but no penalty for minor involvement).

Minor involvement with CMSs costs you $4,647, and major
involvement costs you only $3,824. We don’t know why
major involvement should be better than minor involvement.
The reason may be that CMSs are associated with less technically
sophisticated jobs.

Designers get less money than average; they do not measure
up to programmers in salary. Minor involvement in design
work earns $1,244 less than average, and major involvement
earns $1,094 less than average.

1617websal 12
Figure 5-1.
1617websal 13
Figure 5-2.
1617websal 14
Figure 5-3.
1617websal 15
Figure 5-4.

Tools, Languages, and Platforms

a few interesting insights.

  • MacOS is the most popular operating system, used by
    64% of respondents, but Linux is also surprisingly popular
    at 57%. (Respondents obviously use multiple computers,
    because the shares of operating systems add up to much
    more than 100%.)

  • Sublime is a surprising favorite for text editors, chosen
    by 42% of the respondents (although once again, totals
    added up to more than 100%.

  • Express runs away with the prize for most popular
    Node framework. It was chosen by 26% of all survey
    respondents, whereas hapi, Koa, and Sails each got just
    1% to 3%.

  • Familiar JavaScript frameworks turned up as favorites,
    although Backbone came out further down the list:

    • jQuery: 67%

    • Angular: 37%

    • React: 23%

    • Backbone: 13%

    • Knockout: 6%

    • Ember: 4%

    • Polymer: 3%

    • Meteor: 2%

There was no such rush toward any PHP framework;
nine different frameworks took less than 10% each of
the respondents.

  • SVG is the most popular graphics environment but is still
    relatively little used at 30%. D3 was even less popular, at

  • Selenium, at 25%, is the most popular testing tool,
    as might be expected. However, there were other
    strong contenders:

    • Mocha: 20%

    • Karma: 19%

    • Protractor: 6%

    • QUnit: 5%

    • PHPUnit: 2%

  • MySQL remains the dominant database behind the
    web, at 52%. MariaDB, at 9%, has failed to make
    great inroads among MySQL fans, at least on the web.
    PostgreSQL and SQL Server come up next, both at 26%,
    and a plethora of diverse solutions follow:

    • MongoDB: 25%

    • Redis: 21%

    • CouchDB: 5%

    • Oracle: 5%

    • Neo4j: 2%

  • WordPress is the most popular CMS, although Drupal
    makes a respectable showing:

    • WordPress: 29%

    • Drupal: 12%

    • Joomla!: 4%

    • Magento: 4%

    • Django-cms: 2%

    • Umbraco: 1%

In general, working with libraries or frameworks led to a salary
$1,248 more than average.

Because there are so many tools, libraries, and frameworks,
we applied some basic machine learning to find clusters of
related tools. The principle is that people who use one tool
are much more likely to use certain other tools as well. For
instance, Windows programmers tend to use ASP.NET for
their main framework, Visual Studio as their IDE, and SQL
Server for their database. Although one would expect to see
that cluster, we found nine other clusters that are much less
predictable. We’ll look at each in this section, along with their
positive or negative effects on salary.

There are two reasons you will find these clusters interesting:

  • If you want to get a higher salary, you might be able to
    do so by learning a cluster that has a positive impact (or
    less of a negative impact) on salary.

  • If you like where you are, you might broaden your skills by
    learning new tools or frameworks that are clustered with
    the ones you already know.

Many of the most popular tools and frameworks among
our respondents turn up in none of the ten clusters. This is
probably because they are so pervasive (jQuery, for instance)
that they are used by a wide range of programmers across
multiple clusters.

1617websal 16
Figure 7-1.
1617websal 17
Figure 7-2.

Express Cluster

The first cluster surrounds the popular Express framework.
It is the most lucrative cluster we found because each tool
in it adds an average of $2,068 to salaries. (We found this
to be true up to a maximum of eight tools in this cluster—if
you keep adding tools, your salary tops out after eight). The
cluster includes:

  • Charles debugger

  • Express framework

  • Jade
    templating framework

  • Mocha test framework

  • MongoDB data
    storage engine

  • PostMan
    Chrome extension

  • React framework

  • Swagger web framework

  • Webpack module bundler

It is hard to see a rationale for using these particular tools
together. React is a fairly popular framework in its own
right, but other tools, such as Jade, are used by relatively few
programmers. In any case, our statistics suggest they make a
good combo.

Ruby/PostgreSQL Cluster

This cluster includes many well-known tools, but none of
them are among the most popular in the survey. However,
they tend to be used together, and knowing each one adds
an average of $1,442 to salaries (up to a maximum of seven

  • Capistrano continuous integrator

  • Chef configuration manager

  • Haml templating framework

  • JSONView display tool

  • Jekyll continuous integrator

  • PostgreSQL database

  • Redis caching server

  • Ruby language

  • Travis CI continuous integrator

It would make sense for Ruby programmers to rely on
Capistrano, which was designed for Ruby. Haml is also Ruby-oriented, with a Ruby on Rails plug-in. Most of the other
tools are language agnostic and don’t have obvious interconnections.
And as already mentioned, none are among the
most popular tools among our respondents.

Free Software Cluster

The tools in this cluster are mostly familiar and are generally
used together. Our respondents chose Vim (29%) much less
than Sublime (42%) but more than Emacs (5%). The Perl
language is used by only 5% of respondents but turned up
in this cluster along with Python (22%). This cluster has no
effect on average salary.

  • Bash shell command line

  • cURL downloader

  • GitLab source
    code repository

  • Linux operating system

  • Perl language

  • Python language

  • Unix operating system

  • Vim text editor

GitHub Cluster

In contrast to the previous cluster, which tended to use
GitLab, the far more popular GitHub has its own cluster.
npm, another tool in this cluster, was the most popular in its
category, used by 51% of respondents. But the cluster has no
effect on average salary.

  • Atom text editor

  • Backbone
    JavaScript framework

  • Bitbucket version control

  • Bower package manager

  • Browserify
    package manager

  • Grunt task manager

  • Gulp task manager

  • Handlebars
    templating framework

  • npm package manager

  • RequireJS
    package manager

The connections among these tools make sense. Most are tied
in with Node.js, and many depend on npm.

Graphics Cluster

The relationship among these tools is obvious. They are used
for designing, creating, and testing user interfaces. This cluster
has no effect on average salary.

  • Canvas graphics engine

  • D3 graphics library

  • Sketch user interface
    design tool

  • SVG graphics engine

  • WebGL graphics API

  • WebPagetest
    performance tool

Established Tool Cluster

We have tried to choose a neutral name for this cluster, but
to many readers, it may smack of “legacy” tools. One can
well wonder where Subversion users have been hiding during
the past decade’s move to distributed version control, but
Subversion still holds the allegiance of 20% of our respondents
(more than GitLab at 14%, or Mercurial at a mere 3%).
There is no doubt that C++ and Java remain critical parts of
the computing infrastructure, although most web developers
have abandoned them for slicker and newer languages (and
39% of respondents use PHP as well). Oracle is also going
strong. Still, among our respondents, Jenkins CI is the only
tool in the following cluster that appears at the top of their
choices (31%).

This cluster has no effect on average salary.

  • C/C++ language

  • Eclipse integrated development environment

  • JMeter performance tool

  • Java language

  • Jenkins CI continuous integrator

  • JetBrains IDE integrated development environment

  • Oracle database

  • SoapUI functional test tool

  • Subversion version control system

Test Cluster

Several tools and frameworks for testing appear in this cluster,
some of them very popular and some of them used by only a
few people. Other tools appear here too, for unclear reasons.
This cluster has no effect on average salary.

  • Angular JavaScript framework

  • Jasmine test framework

  • Karma test runner

  • LESS database modeling tool

  • Protractor test framework

  • Selenium test framework

  • WebStorm integrated development environment

Code Development Cluster

The tools and websites in this cluster help JavaScript developers
learn, share, and develop code in various ways. Some of
the tools may be more popular among newer programmers,
although they have broad value. This cluster has no effect on
average salary.

  • Brackets text editor

  • CodePen code repository

  • Gist code sharing tool

  • JSBin code repository

  • JSFiddle text editor

  • Sublime text editor

Windows Cluster

Most of the tools in this cluster work only in a Windows environment.
None are popular across our respondents overall,
but they clearly form an important subculture. However, using
each tool in this cluster is shown by our analysis to reduce
average salary by $1,129.

  • ASP/ASP.NET framework

  • Fiddler debugger

  • Knockout JavaScript framework

  • Notepad++ editor

  • SQL Server database

  • Visual Studio Code text editor

  • Visual Studio integrated development environment

  • Windows operating system

LAMP Cluster

Most of the tools in this cluster are part of the classic web
stack of Linux, Apache, MySQL, and PHP. Composer is a
PHP package manager. We don’t know why Photoshop and
WordPress turn up here. In any case, these tools impose a
penalty, despite their popularity: each one (up to a maximum
of seven) decreases average salary by $2,257.

  • Adobe Photoshop graphic
    manipulation program

  • CodeIgniter
    PHP framework

  • Composer
    package manager

  • Drupal content
    management system

  • Laravel PHP framework

  • MariaDB database

  • MySQL database

  • PHP language

  • Symfony PHP framework

  • WordPress content
    management system

  • Zend Framework
    PHP framework

1617websal 18
Figure 7-3.
1617websal 19
Figure 7-4.
1617websal 20
Figure 7-5.
1617websal 21
Figure 7-6.
1617websal 22
Figure 7-7.
1617websal 23
Figure 7-8.
1617websal 24
Figure 7-9.
1617websal 25
Figure 7-10.
1617websal 26
Figure 7-11.
1617websal 27
Figure 7-12.
1617websal 28
Figure 7-13.
1617websal 29
Figure 7-14.
1617websal 30
Figure 7-15.
1617websal 31
Figure 7-16.
1617websal 32
Figure 7-17.
1617websal 33
Figure 7-18.

Post topics: Web Programming
Post tags: Salary Surveys

Get the O’Reilly Radar Trends to Watch newsletter