Методология
Developer Ecosystem Report 2024 — публичный отчет, и его можно использовать в некоммерческих целях при соблюдении этих условий.
Количество респондентов
Опрос проводился в мае-июне 2024 года. Для того чтобы данные были репрезентативными, мы обработали их, следуя описанному ниже процессу. В итоге наш отчет основан на ответах 23 262 разработчиков из 171 страны и региона, включая одного респондента из Антарктиды. Мы взвесили данные по нескольким критериям, которые приведены в конце этого раздела.
Очистка данных
Мы анализировали анкеты, заполненные не до конца, только если респонденты ответили на вопрос об основных языках программирования. Кроме того, мы использовали набор из 34 критериев для отсеивания подозрительных ответов. Вот некоторые из признаков, на которые мы ориентировались:
- слишком быстро заполненные анкеты;
- анкеты, полученные с одинаковых IP-адресов, в которых совпадает подавляющее большинство ответов. Если два опросника, отправленные с одного IP-адреса, совпадали более чем на 75%, мы оставляли тот, в котором было больше ответов;
- опросники с взаимоисключающими ответами, например: «возраст 18-20 лет» и «опыт работы более 16 лет»;
- анкеты, в которых практически на все вопросы с возможностью выбора нескольких вариантов ответа выбран только один вариант;
- если несколько анкет были отправлены с одного адреса электронной почты, мы оставляли одну, в которой было отвечено на большее число вопросов.
Снижение нагрузки на опрашиваемых
В этом году в общей сложности мы задали 672 вопроса.
Мы стремились охватить множество областей и аспектов разработки, но показывали респондентам только определенные разделы на основе их предыдущих ответов. Так, вопросы по Go задавались только тем, кто испульзует Go. Кроме того, мы рандомизировали вопросы и разделы, чтобы еще больше снизить нагрузку на респондентов.
В среднем участники исследования тратили 30 минут на прохождение опроса. Мы постарались упростить процесс заполнения анкеты, а в следующем году планируем сделать его еще удобнее.
Таргетинг
Чтобы привлечь респондентов, мы использовали Google Ads, рекламу в Facebook и Instagram, на Reddit, Quora, BilliBilly, MaiMai, Zhihu, dev.to, Codezine, TLDR, IT Media, а также собственные каналы коммуникации JetBrains. Кроме того, мы размещали информацию об опросе в каналах IT-сообществ и просили респондентов делиться ссылкой на опрос с коллегами.
Страны и регионы
Мы собрали достаточно большое количество ответов из 20 географических регионов. К ним относятся 13 отдельных стран с наибольшим числом разработчиков: Аргентина, Бразилия, Великобритания, Германия, Индия, Испания, Канада, Китай, Мексика, США, Франция, Южная Корея и Япония. Остальные страны были сгруппированы в следующие семь регионов:
- Африка, Ближний Восток и Центральная Азия;
- Восточная Европа, Балканы и Кавказ;
- Бенилюкс и Северная Европа;
- Северное и Восточное Средиземноморье (включая Кипр, Израиль и Португалию);
- Центральная Европа;
- другие страны Юго-Восточной Азии и Океании (включая Австралию и Новую Зеландию);
- Центральная и Южная Америка (за исключением Аргентины, Бразилии и Мексики).
В каждом из этих регионов как минимум 300 респондентов были привлечены через внешние источники, например по ссылке от других респондентов или посредством рекламы.
Локализация
Мы стремимся сделать опрос как можно более доступным для широкого круга респондентов. В этом году его можно было пройти на 9 языках: английском, бразильском португальском, испанском, китайском, корейском, немецком, русском, французском и японском.
Снижение погрешности выборки
При подготовке отчета мы взвесили данные на основании способа привлечения респондентов. За основу были приняты респонденты, узнавшие об опросе из внешних источников, например, привлеченные посредством рекламы в Facebook, Instagram, X и Quora, а также по ссылкам, отправленным другими респондентами, поскольку они менее предвзяты по сравнению с пользователями JetBrains. Мы учитывали источник каждого респондента в отдельности, чтобы получить результаты на основе процедур взвешивания.
Взвешивание выполнялось в три этапа, чтобы наиболее достоверно отразить текущее состояние мирового сообщества разработчиков.
Первый этап: корректировка с учетом численности профессиональных разработчиков в каждом регионе
На первом этапе мы собрали ответы, полученные при таргетинге на разные страны, и применили к этим данным наши оценочные расчеты количества профессиональных разработчиков в каждой стране.
Мы рассматривали ответы профессиональных разработчиков и работающих студентов, которые прошли опрос благодаря рекламе, размещенной в социальных сетях в 20 регионах, а также данные респондентов, получивших ссылку на опрос от коллег. После этого мы взвесили ответы с учетом оценок численности разработчиков в этих регионах, чтобы распределение данных соответствовало реальному количеству профессиональных разработчиков в каждой стране.
Второй этап: соотношение трудоустроенных и нетрудоустроенных разработчиков
На втором этапе мы приняли, что доля студентов и безработных респондентов в каждой стране составляет 17%. Мы сделали это для обеспечения согласованности с методологией предыдущего года, поскольку это единственная имеющаяся у нас оценка их совокупности.
К этому моменту у нас была выборка ответов из внешних источников, взвешенных по региону и статусу занятости.
Третий этап: вид занятости, языки программирования и использование продуктов JetBrains
Третий этап был довольно сложным, так как включал в себя расчеты, полученные путем решения систем уравнений. Мы взяли взвешенные ответы и отдельно для разработчиков из каждого региона, помимо статуса занятости, рассчитали доли каждого из более чем 30 языков программирования, а также доли тех, кто ответил «Я в настоящее время использую продукты JetBrains» и «Я никогда не слышал(а) о продуктах JetBrains». Эти доли стали постоянными в наших уравнениях.
Затем нам потребовалось учесть еще две группы ответов, полученных из других источников: через внутренние каналы JetBrains, например наши аккаунты в социальных сетях и нашу панель исследований, а также через рекламные кампании, ориентированные на пользователей определенных языков программирования.
Решение системы линейных уравнений и неравенств
Мы составили систему из более чем 30 линейных уравнений и неравенств, которая описывала:
- слишком быстро заполненные анкеты;
- весовые коэффициенты респондентов (например, Фиона из нашей выборки представляет 180 разработчиков из Франции);
- конкретные значения их ответов (например, Пьер использует C++, трудоустроен на полную ставку и никогда не слышал о JetBrains);
- необходимые соотношения между ответами (например, 27% разработчиков использовали C++ за последние 12 месяцев и т. д.).
Чтобы решить эту систему уравнений с минимальной дисперсией весовых коэффициентов (что важно!), мы использовали двойственный метод Гольдфарба — Иднани (1982, 1983), который помог нам рассчитать оптимальные индивидуальные весовые коэффициенты для 23 262 респондентов.
Остаточная погрешность
Несмотря на эти меры, нельзя исключить определенную степень предвзятости, поскольку пользователи продуктов JetBrains в среднем могли быть более склонны пройти этот опрос.
Как бы мы ни старались контролировать выборку респондентов и применять весовые коэффициенты, экосистема разработки постоянно развивается, и невозможно полностью исключить вероятность неожиданных колебаний данных.
Мы обязательно продолжим совершенствовать методологию нашего исследования. До встречи в следующем году!
Методология
Developer Ecosystem Report 2024 — публичный отчет, и его можно использовать в некоммерческих целях при соблюдении этих условий.
