JetBrains logo

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 terms "programmer", “developers”, etc., 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
  • 15-1242 Database Administrators
  • 15-1243 Database Architects
  • 15-1253 Software Quality Assurance Analysts and Testers
  • 15-2031 Operations Research Analysts
  • 15-2041 Statisticians
  • 15-2051 Data Scientists

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 in future years (T+1, T+2, …) for a given country (X), we assume that the density either follows a linear trend or remains constant if the most recent data point is outdated. This density is then applied to the country’s most recent population number, 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 in the same year. We then choose a 10% quantile among the resulting mean values. This will approximate the density of developers in country X.

Having calculated 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 Developer Ecosystem Survey data (for example, programmers using Python as a share of 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 2024.

We have the data from the State of Developer Ecosystem 2024 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 indicated "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 indicated "Python" as their programming language.

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

SizeUsaPython = ShareUsaPython х DevPopulationUSA

The 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 collected by asking respondents to provide their gross income (before taxes), including bonuses. The amounts were then converted to annual gross salaries in USD.

There are several limitations to our salary calculator methodology:

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