Data Sources

To estimate the number of developers in any given country, we gather data from international labor organizations (such as Eurostat) and utilize national statistics from that specific country (for example, we use Statistics Canada for Canada). Since different countries have different definitions for the term "programmer", we collect the most relevant data for the purpose of our study. For example, in the USA, the following professions closely align with the definition of "programmer":

  • 15-1131 Computer Programmers
  • 15-1132 Software Developers, Applications
  • 15-1133 Software Developers, Systems Software
  • 15-1134 Web Developers

Every year, we conduct an annual Developer Ecosystem survey where we reach out to 30,000 developers worldwide. This data has been instrumental in building our research model. It allows us to get a comprehensive understanding of the developer community, including insights into popular programming languages, tools, technologies, developer preferences, and emerging trends.

Our Model

We rely on the population size and number of developers in a specific country (X) in a given year (T) to build our model. We use the country’s latest publicly accessible data to identify the year with the most up-to-date information for our calculations. This allows us to calculate the density of developers in that country for that particular year.

DevDensity = DevNumber/Population

To calculate the number of developers for more recent years (T+1, T+2, …) for the same country, we assume that the density is constant and apply it to the country’s recent population numbers, according to the United Nations estimates. This model has proven effective based on retrospective analysis. To calculate the number of developers in a country for which data is missing, we use data from other countries in the same region (represented by “Y”). For each country Yᵢ we calculate the average density throughout all known years. We then choose a 10% quantile among the resulting mean values. This will approximate the density of developers in country X.

Having calculated the density of the general population of developers, we can work out the size of a particular category of developers within that community. Knowing the share of the category of interest in the sample from the State of Developer Ecosystem survey data (for example, programmers using Python among all programmers), we can calculate this specific category’s size as follows:

CategorySize = CategoryShare х DevPopulation

Let's assume that we want to estimate the number of developers using Python in the USA in 2023.

We have the data from the State of Developer Ecosystem 2023 and can rely on the answers to the following survey questions:

  • What is your country or region?
  • What programming languages have you used in the last 12 months?

From all the respondents who answered "United States" as their country or region, the share of developers in the USA using Python would be estimated as the weighted share of respondents who answered "Python" as their programming language.

The estimate on the number of developers using Python in the USA in 2023 can then be calculated as follows:

SizeUsaPython = ShareUsaPython х DevPopulationUSA

Its Limitations

There are several limitations to our methodology:

Our model currently considers only professional developers. We don’t include students or hobbyists as our data and methodology are not sufficient for counting these individuals.

When information for a specific year is missing, we use the most recent data available. For some countries, data is missing and needs to be replaced or cleaned.

Our dashboard has limited filter options and includes only the options for which we have comprehensive data.

The numbers reflect only the most probable value (mean forecast) and shouldn’t be treated as an exact value. Based on retrospective testing of the model, on average, the true values deviate from the forecasted ones by 14% (MAPE metric). This gives us a sense of how far the true values may deviate from the forecasts shown on the dashboard.

Salary Calculator

Our salary calculator is based on the data gathered from our annual Developer Ecosystem Survey. Salary data was obtained by asking respondents for their annual net (after tax) salary in USD, excluding any bonuses.

There are several limitations to our salary calculator methodology:

  • Respondents are asked to provide their salary information in the form of salary ranges rather than specific salary figures. This means that the salary calculator can only provide estimates within these ranges and may not be able to provide accurate estimates.
  • The factors that influence a salary can vary depending on the job role. Although we have responses from individuals in a variety of job roles (designers, project managers, product managers, etc.), the number of responses is insufficient to provide accurate salary estimates for these roles. Therefore, the salary calculator only shows the estimates for coding professionals (fully employed respondents that have any professional coding experience).
  • When information for a specific year is missing, we use the most recent data available.
  • The salary calculator has limited filtering options for countries and programming languages as we only have representative survey data for these options. For example, the list of countries does not include Austria because we do not have enough data points to provide accurate estimates.