Исследование экосистемы разработки 2025 — это открытый отчет. Его содержание можно использовать только в некоммерческих целях, как описано здесь.
Мы анализировали анкеты, заполненные не до конца, только если респонденты ответили на вопрос об основных языках программирования. Кроме того, мы использовали набор из 34 критериев для отсеивания подозрительных ответов. Вот некоторые из признаков, на которые мы ориентировались:
В этом году в общей сложности мы задали 585 вопросов.
Мы стремились охватить множество областей и аспектов разработки, но показывали респондентам только определенные разделы на основе их предыдущих ответов. Так, вопросы по Go задавались только тем, кто испульзует Go. Кроме того, мы рандомизировали вопросы и разделы, чтобы еще больше снизить нагрузку на респондентов.
В среднем участники исследования тратили 30 минут на прохождение опроса. Мы постарались упростить процесс заполнения анкеты, а в следующем году планируем сделать его еще удобнее.
Чтобы привлечь респондентов, мы использовали Google Ads, рекламу в X, Facebook и Instagram, на Reddit, Quora, BilliBilly, MaiMai, Zhihu, dev.to, TLDR, IT Media, а также собственные каналы коммуникации JetBrains. Кроме того, мы размещали информацию об опросе в каналах IT-сообществ и просили респондентов делиться ссылкой на опрос с коллегами.
Мы собрали достаточно большие выборки из 19 географических регионов. К ним относятся 11 отдельных стран с наибольшим числом разработчиков: Бразилия, Великобритания, Германия, Индия, Испания, Канада, Китай, США, Франция, Южная Корея и Япония. Остальные страны были сгруппированы в следующие восемь регионов:
В каждом из этих регионов как минимум 300 респондентов были привлечены через внешние источники, например по ссылке от других респондентов или посредством рекламы.
Полученные ответы были взвешены по их источникам. В качестве базового датасета мы использовали ответы, полученные из внешних каналов, таких как платные объявления в X, Facebook, Instagram, Quora, а также рекомендации, которые более достоверно отражают ситуацию, чем ответы пользователей JetBrains. Затем к ответам каждого респондента мы применили процедуру взвешивания в три этапа, чтобы получить более сбалансированное представление о глобальном сообществе разработчиков.
На первом этапе мы собрали ответы, полученные при таргетинге стран, и применили к этим данным наши оценочные расчеты количества профессиональных разработчиков в каждой стране.
Мы рассматривали ответы профессиональных разработчиков и работающих студентов, которые прошли опрос благодаря рекламе, размещенной в социальных сетях в 19 регионах, а также данные респондентов, получивших ссылку на опрос от коллег. После этого мы взвесили ответы с учетом оценок численности разработчиков в этих 19 регионах, чтобы распределение данных соответствовало реальному количеству профессиональных разработчиков в каждой стране.
На втором этапе мы приняли, что доля студентов и безработных респондентов в каждой стране составляет 17%. Мы сделали это для обеспечения согласованности с методологией предыдущего года, поскольку это единственная имеющаяся у нас оценка их совокупности.
К этому моменту у нас была выборка ответов из внешних источников, взвешенных по региону и статусу занятости.
Третий этап был довольно сложным, так как включал в себя расчеты, полученные путем решения систем уравнений. Мы взяли все взвешенные ответы. Отдельно для разработчиков из каждой страны, помимо статуса занятости, мы рассчитали доли каждого из более чем 30 языков программирования, а также доли тех, кто ответил «Я в настоящее время использую продукты JetBrains» и «Я никогда не слышал о продуктах JetBrains».Эти доли стали постоянными в наших уравнениях.
Затем нам потребовалось учесть еще две группы ответов, полученных из других источников: через внутренние каналы JetBrains, например наши аккаунты в социальных сетях и нашу панель исследований, а также через рекламные кампании, ориентированные на пользователей определенных языков программирования.
Мы составили систему из более чем 30 линейных уравнений и неравенств, которая описывала:
Чтобы решить эту систему уравнений с минимальной дисперсией весовых коэффициентов (что важно!), мы использовали двойственный метод Гольдфарба — Иднани (1982, 1983), который помог нам рассчитать оптимальные индивидуальные весовые коэффициенты для 24 534 респондентов.
Несмотря на эти меры, нельзя исключить определенную степень предвзятости, поскольку пользователи продуктов JetBrains в среднем могли быть более склонны пройти этот опрос. В этом году мы внесли дополнительные коррективы, уменьшив их представительство в наборе данных на 10%, т.е. умножив их долю ответов на 0.9.
Как бы мы ни старались контролировать выборку респондентов и применять весовые коэффициенты, экосистема разработки постоянно развивается, и невозможно полностью исключить вероятность неожиданных колебаний данных.