Methodology of the 2017 JavaScript ecosystem survey and results

npm, Inc.
npm, Inc.
Published in
5 min readApr 10, 2018

The 2017 JavaScript ecosystem survey was run from December 20, 2017 to January 31, 2018. Questions were formulated in partnership between the JS Foundation, the Node.js Foundation, and npm, Inc. and the survey was announced via email, websites and the Twitter accounts of all three organizations to maximize visibility to the broadest possible community.

The goal of the survey was to learn more about the JavaScript community’s needs and how the three organizations running the survey could serve the community better.

What we collected and did not collect

The survey was extensive, with 67 questions ranging from basic demographics (see below) to in-depth questions about tooling choices, technical preferences, and attitudes towards various professional practices. The survey was open-ended, so we received a total of 16,345 responses but not every respondent replied to every question (particularly later questions).

While we asked questions about how much experience developers have had, we did not ask respondents how old they were. Similarly, we did not collect demographics on race or gender identity. While collecting this kind of information can be useful, it was not sufficiently relevant to our purposes.

We did collect information on several demographic topics, summarized here:

Country

We asked respondents “What country do you work in?” Respondents from a total of 141 countries and territories responded; the top 20 are below. Unfortunately, the form of this question excluded some people who use JavaScript but aren’t working or are in full-time education; we’ll ask a clearer question next time. Relative to other measures of npm usage, the USA is over-represented (28% relative to 19%), India is under-represented (6% relative to 13% in other measures) and so is China (3% here, 7–10% by other measures).

Country — Percentage

United States of America — 27.66%

Germany — 6.27%

India — 6.10%

United Kingdom — 6.02%

France — 4.04%

Canada — 3.71%

Russian Federation — 2.91%

China — 2.58%

Australia — 2.45%

Netherlands — 2.11%

Brazil — 2.03%

Poland — 2.02%

Spain — 1.87%

Sweden — 1.73%

Ukraine — 1.71%

Italy — 1.38%

Israel — 1.09%

Belgium — 1.06%

Czech Republic — 0.98%

Switzerland — 0.97%

Language

We asked respondents their primary spoken language. 22 languages were represented. The survey was only in English, and this changed the demographics of who responded. Specifically, we believe it under-samples China, which is by other measures a much larger part of the JavaScript community and an important shaper of technical trends. The 16% answering “other” languages suggested our question should have had more options.

Language — Percentage

English — 46.38%

Other not listed — 15.56%

German — 6.34%

French — 5.49%

Russian — 5.28%

Spanish — 5.07%

Chinese — 3.02%

Portuguese — 2.91%

Polish — 2.13%

Hindi — 1.79%

Italian — 1.64%

Arabic — 0.91%

Greek — 0.60%

Persian — 0.59%

Japanese — 0.46%

Korean — 0.38%

Gujarati — 0.36%

Vietnamese — 0.36%

Urdu — 0.29%

Armenian — 0.21%

Tagalog — 0.15%

French Creole — 0.07%

Company size

Respondents who are currently employed were asked how many people worked at that company. The results conform fairly well to other sources, so we believe this is a reasonably distributed sample.

Size — Percentage

1–50 — 48.46%

50–200 — 17.17%

200–500 — 8.21%

500–1000 — 5.46%

1000+ — 20.69%

Industry

We asked respondents what industry they work in. The categories here were a little too broad (they were chosen to match more general purpose census categories). Technology companies unsurprisingly dominated. We did not separately capture people currently in education, which probably accounts for the size of the “not employed” category.

Industry — Percentage

Telecommunications, Technology, Internet & Electronics — 44.93%

I am currently not employed — 8.16%

Finance & Financial Services — 6.98%

Advertising & Marketing — 5.31%

Education — 5.17%

Entertainment & Leisure — 4.51%

Business Support & Logistics — 4.49%

Healthcare & Pharmaceuticals — 3.62%

Retail & Consumer Durables — 2.85%

Government — 2.34%

Nonprofit — 1.50%

Manufacturing — 1.46%

Utilities, Energy, and Extraction — 1.32%

Transportation & Delivery — 1.16%

Insurance — 1.14%

Automotive — 1.00%

Food & Beverages — 0.95%

Real Estate — 0.93%

Construction, Machinery, and Homes — 0.84%

Airlines & Aerospace (including Defense) — 0.76%

Agriculture — 0.58%

Education

We asked respondents for the highest level of education they had completed. These results are in line with broader measures of education level.

Highest education level — Percentage

Intermediate school — 3.31%

Graduated from high school or equivalent — 17.74%

Associate’s degree or certificate — 8.30%

Bachelor’s degree — 46.79%

Master’s degree — 21.99%

Doctoral degree — 1.86%

What we intend to improve

In addition to clarifying the demographic questions as mentioned above, there were a handful of questions such as number 4, “How is the JavaScript you write put to use?” where the available responses were not sufficiently precise, leading to confusion by respondents, for instance as to whether “Mobile” should include mobile web, or only native mobile applications. We mostly did not use these answers as the results were not representative.

How respondents differ from the general population

As mentioned, respondents differ from general JavaScript users in that English-speakers are over represented, with knock-on effects as to which countries are represented. As mentioned earlier, respondents from the USA were overrepresented, and China and India under-represented relative to other measures of participation in the JavaScript community from those countries.

We did not collect age or gender identity of the respondents, so we do not know whether our survey is representative of the broader population of JavaScript users on these metrics. Measures of the JavaScript community by age and gender are in any case difficult to do.

Between emails, Twitter accounts and website banners, we believe more than 8 million individuals were made aware of the survey. However, respondents are self-selected and the usual caveats about respondents who self-select (or choose not to respond) apply. Specifically, JavaScript users who are not aware of the Node.js Foundation, the JS Foundation, or npm’s website will not have been given a chance to respond to this survey. What bias this generates in the responses is not clear to us.

What conclusions we can draw

Despite some flaws in questions and bias in our samples, our survey contains a wealth of data about JavaScript’s users and we’re excited to produce a series of posts about various aspects of JavaScript usage.

--

--

npm, Inc.
npm, Inc.

npm is the package manager for JavaScript and the world’s largest software registry.