JetBrains logo

데이터 소스

주어진 국가의 개발자 수를 추정하기 위해 JetBrains는 국제 노동 조직(예: Eurostat)의 데이터를 수집하고 해당 국가의 국가 통계(예: 캐나다의 경우 캐나다 통계청)를 활용합니다. 나라마다 '프로그래머', '개발자' 등의 용어에 대한 정의가 다르기 때문에 JetBrains의 연구 목적에 가장 관련성이 높은 데이터를 수집합니다. 예를 들어, 미국에서는 다음과 같은 직업이 '프로그래머'의 정의에 가깝습니다.

  • 15-1131 컴퓨터 프로그래머
  • 15-1132 소프트웨어 개발자, 애플리케이션
  • 15-1133 소프트웨어 개발자, 시스템 소프트웨어
  • 15-1134 웹 개발자
  • 15-1242 데이터베이스 관리자
  • 15-1243 데이터베이스 아키텍트
  • 15-1253 소프트웨어 품질 보증 분석가 및 테스터
  • 15-2031 운영 연구 분석가
  • 15-2041 통계학자
  • 15-2051 데이터 과학자

JetBrains는 매년 전 세계 30,000명의 개발자를 대상으로 연례 개발자 에코시스템 설문조사를 실시합니다. 이 데이터는 연구 모델을 구축하는 데 중요한 역할을 해왔으며, 인기 있는 프로그래밍 언어, 도구, 기술, 개발자 선호도 및 새로운 동향에 대한 인사이트를 포함하여 개발자 커뮤니티에 대한 포괄적인 이해를 제공합니다.

사용되는 모델

모델 구축을 위해 JetBrains는 특정 연도(T)에 특정 국가(X)의 인구 규모와 개발자 수를 이용합니다. 해당 국가에서 공개적으로 이용 가능한 최신 자료를 이용하여 계산에 사용할 가장 최신 정보를 포함한 연도를 확인합니다. 이를 통해 해당하는 특정 연도에 해당 국가의 개발자 밀도를 계산할 수 있습니다.

DevDensity = DevNumber/Population

미래 연도(T+1, T+2, …)에 주어진 국가(X)의 개발자 수를 계산하기 위해 밀도가 선형적 추세를 따르거나 최근 데이터 포인트가 오래된 경우 일정하게 유지된다고 가정합니다. 이러한 밀도는 유엔 추산에 따라 해당 국가의 최근 인구 수치에 적용됩니다. 이 모델은 회고 분석을 기반으로 하여 효과적인 것으로 입증되었습니다.

데이터가 누락된 국가의 개발자 수를 계산하기 위해 동일한 지역에 있는 다른 국가('Y'로 표시)의 데이터를 사용합니다. 각 국가 Yᵢ에 대해 같은 해의 평균 밀도를 계산합니다. 그런 다음, 최종 평균 값 중에서 10% 분위수를 선택합니다. 이 수치는 대략 X 국가의 개발자 밀도와 같습니다.

일반 개발자 인구를 계산했으면 해당 커뮤니티 내 특정 개발자 카테고리의 규모를 계산할 수 있습니다. 개발자 에코시스템 현황 설문조사 데이터의 샘플에서 관심 카테고리의 점유율을 알면(예: 모든 프로그래머 중에서 Python을 사용하는 프로그래머) 이 특정 카테고리의 규모를 다음과 같이 계산할 수 있습니다.

CategorySize = CategoryShare х DevPopulation

2024년에 미국에서 Python을 사용하는 개발자 수를 추정한다고 가정해 보겠습니다.

보유 중인 2024년 개발자 에코시스템 현황 데이터에서 다음과 같은 설문조사 질문에 대한 답변을 이용할 수 있습니다.

  • 어느 국가 또는 지역에 살고 계시나요?
  • 지난 12개월 동안 어떤 프로그래밍 언어를 사용하셨나요?

국가 또는 지역으로 '미국'을 선택한 모든 응답자 중에서 Python을 사용하는 미국 개발자의 비율은 프로그래밍 언어로 'Python'을 선택한 응답자의 가중치 비율로 추정됩니다.

2024년에 미국에서 Python을 사용하는 개발자 수에 대한 추정치는 다음과 같이 계산할 수 있습니다.

SizeUsaPython = ShareUsaPython х DevPopulationUSA

제한 사항

이와 같은 방법론에는 몇 가지 한계가 있습니다.

현재 이 모델은 전문 개발자만 고려합니다. 사용된 데이터와 방법론이 학생이나 취미 프로그래머를 고려하기에는 충분하지 않기 때문에 이들은 포함하지 않습니다.

특정 연도에 대한 정보가 누락된 경우, 이용 가능한 가장 최근의 데이터가 사용됩니다. 일부 국가의 경우, 데이터가 누락되어 대체하거나 정리해야 합니다.

대시보드에 있는 필터링 옵션은 제한적이며 포괄적인 데이터가 있는 옵션만 포함되어 있습니다.

수치는 가장 가능성 있는 값(평균 예측)만 반영하므로 정확한 값으로 취급해서는 안 됩니다. 모델의 회고적 테스트를 기초로 하여 실제 값은 예측 값에서 평균 14% 정도의 편차를 보입니다(MAPE 메트릭). 이를 통해 실제 값이 대시보드에 표시된 예측에서 얼마나 벗어날 수 있는지 파악할 수 있습니다.

급여 계산기

급여 계산기는 연례 개발자 에코시스템 설문조사에서 수집한 데이터를 기반으로 합니다. 급여 데이터는 응답자에게 보너스를 포함해 총 소득(세전)을 제공해 달라고 요청하여 수집했습니다. 그런 다음 해당 금액을 연간 총급여(USD)로 환산했습니다.

급여 계산기 방법론에는 몇 가지 한계가 있습니다.

  • 급여에 영향을 미치는 요인은 직무에 따라 달라질 수 있습니다. 다양한 직무(디자이너, 프로젝트 관리자, 제품 관리자 등)를 가진 사람들로부터 응답을 받았지만 이러한 역할에 대한 정확한 급여 추정치를 제공하기에는 응답 수가 부족합니다. 따라서 급여 계산기는 코딩 전문가(전문 코딩 경험이 있는 정규직 응답자)에 대한 추정치만 표시합니다.
  • 급여 계산기에는 국가 및 프로그래밍 언어에 대한 제한적 필터링 옵션만 있으며, 이유는 이러한 옵션에 대한 대표적 설문조사 데이터만 있기 때문입니다. 예를 들어, 정확한 추정치를 제공할 만큼 데이터 포인트가 충분하지 않은 오스트리아는 국가 목록에 포함되지 않았습니다.