Discover Insights in Developer Survey Results

From today, you can access the full data set from Stack Overflow's 2019 Developer Survey, and we've partnered with them to make this data even more accessible.

Last month, Stack Overflow published the aggregated results from their annual Developer Survey. Capturing the opinions of folks who code from around the world, the survey is an important source of insights into the developer community. This year almost 90,000 developers shared their opinions about the jobs they have, the technologies they use, and where they see the industry going.

Today, Stack Overflow released the full data set. To make it more accessible, we've partnered with them and have created two example apps that you can use to explore the data and discover your own insights.

  • 2019-stackoverflow-datasette - a back-end app that turns the CSV survey results file into a browseable interface and JSON API using Datasette, a project by Simon Willison for exploring and publishing data.

  • 2019-stackoverflow-public-data - a front-end app that talks to the back-end app to grab the data and then uses Chart.js to visualize it. You can get your own copy of this app by remixing it, enabling you to create visualizations for the results and trends important to you.

How the Apps Work

There are many things we can learn from a large, rich dataset like this - from exploring questions about remote work to those about developer salaries, or how companies can better engage with developers. In our example app, we dig into job and career satisfaction levels and how they differ by demographic factors.

The front-end app takes the form of a question, such as, 'how does [selected demographic group] feel about [selected topic]?' It makes use of Chart.js, a JavaScript library for making interactive charts and graphs. Don't worry if you're not already familiar with Chart.js - we have a tutorial that steps through a real, working project that you can use to get up to speed.

To begin creating your own app, we suggest you start by looking at how the data is organized – look through the results and schema on the back-end app. Then remix the front-end app to create your own data visualizations.

Remix on Glitch

Remixing

Once you've remixed the front-end app, you can begin to make it your own.

  • Edit script.js, style.css, and index.html to change the appearance of the app.
  • Chart.js is used in script.js to render a chart using data from the back-end app's database.
  • Reference the Chart.js docs and change the drawChart function in script.js to visualize the data using different types of graphs.

Try changing a topic in index.html to pull in data from a different question. For example, if you change line 86 from this:

    <option value="Hobbyist">about writing code as a hobby?</option>

to this:

    <option value="WorkLoc">about where they'd prefer to work?</option>

you'll get results on people's preferred work setting (home vs. office vs. coworking space).

You can reference the set of questions to get some ideas; just get the Column entry related to the question you're interested in, and set it as the value parameter in <option value="Hobbyist">. You don't need to change the text of the question to fetch the data, but it'll keep things organized if you label it appropriately.

Some suggested questions to explore include:

  • How much do developers of a given seniority make in country x?
  • How does organization size relate to use of containers/unit tests/how structured or planned the work is?
  • Is level of education related to job satisfaction?
  • How does being an under-represented minority in tech affect work experience?
  • Are people in tech overworked?
  • Is there a correlation between having dependents and being structured at work?

Diving into the Data

Let's explore the survey results using our example app, which takes a deep-dive into job and career satisfaction levels by demographic factors.

In general, we can see that satisfaction levels are high among developers - 2 in 3 are slightly or very satisfied with their current job, and 3 in 4 are slightly or very satisfied with their careers. But if you begin to filter by factors like gender and race you see variations. In particular, those from minority groups express lower job and career satisfaction levels.

Satisfaction levels are highest among cis-gendered men and women. However, for people identifying as non-binary, genderqueer, or gender non-conforming, satisfaction levels are lower. While the majority are still satisfied, results are shifted towards lower satisfaction levels with 13% saying that they're slightly dissatisfied (compared to 11% overall) and 6% very dissatisfied (5% overall) with their career, for example. A similar trend can be seen when comparing career and job satisfaction levels among trans to cis-gendered folks too.

Job and career satisfaction levels differ when breaking results down by race as well. 36% of developers indicating they're White or of European descent respond that they're 'very satisfied' with their current job compared to 32% across all respondents, and have low scores across measures of dissatisfaction. Job satisfaction levels are generally lower for those identifying as Black or of African descent. 24% are very satisfied compared to 32% overall and were also more likely to be dissatisfied in their current job, with 17% choosing slightly dissatisfied (15% overall) and 10% very dissatisfied (7% overall). This trend continues across other racial minority groups, with a larger portion of Hispanic or Latino/Latina developers and Middle Eastern developers, for example, recording lower job and career satisfaction levels.

It's important to understand why satisfaction levels are lower for some groups of people, and results from other parts of the Developer Survey suggest some possible reasons.

Of course, non-demographic factors impact job satisfaction levels. Developers with the lowest job satisfaction by job type, for example, include academic researchers, educators, scientists, and designers, who are all on the lower end of average pay rates too. When it comes to factors impacting productivity, gender minority respondents are more likely to say that toxic work environments are an important factor. And in terms of job priorities, developers who belong to gender minorities in tech rank the office environment and company culture as their highest concern and are more likely to say the diversity of an organization is an important concern for them. Whereas many racial minorities prioritized opportunities for professional development higher than other groups, with 49% of developers of Black or African descent saying it's a priority for them compared to 44% overall, for example.

Feelings of impostor syndrome play a role in lower satisfaction levels too. When asked to evaluate their own competence for the kind of work they do and their years of experience, men, for example, are much more likely to say they are far or a little above average compared to responses from gender minorities, with men typically growing more confident much more quickly.

The Developer Survey results suggest some gradual positive change in things like gender and race representation in tech. But by exploring the data for job satisfaction levels by demographic factors in this example app, it becomes clear that those changes could be short-lived if we as an industry don't tackle lower satisfaction levels among minority groups.

We look forward to seeing what you discover using the public data release of the 2019 Stack Overflow Developer Survey. Get started by remixing our example app to make it your own.

If you have any questions or need help, reach out to us on Twitter or post your question in the support forums.