Методология

Поделиться:

Это публичный отчет, но если вы хотите использовать информацию из него, не забудьте указать источник.

Количество респондентов

В 2023 году в нашем опросе приняли участие более 35 000 человек. Чтобы обеспечить максимальную репрезентативность выборки, мы очистили данные по описанной ниже методике. В результате в основу отчета легли ответы 26 348 разработчиков из 196 стран и регионов, включая одного респондента из Антарктиды. Данные были взвешены по нескольким критериям, о которых мы рассказываем в заключительной части этого раздела.

Процесс очистки данных

Мы анализировали анкеты, заполненные не до конца, только в тех случаях, когда респонденты ответили на вопрос об основных языках программирования. Кроме того, мы использовали определенный набор критериев для выявления и исключения подозрительных ответов. Вот некоторые из признаков, на которые мы ориентировались:

  • слишком быстро заполненные анкеты;
  • анкеты, заполненные с одинаковых IP-адресов, а также анкеты, в которых совпадает подавляющее большинство ответов. Если два опросника, отправленных с одного IP-адреса, совпадали более чем на 75%, мы оставляли только тот, в котором были ответы на большее число вопросов;
  • анкеты с взаимоисключающими ответами, например: «возраст 18–20 лет» и «опыт работы более 16 лет»;
  • анкеты, в которых практически на все вопросы с возможностью выбора нескольких вариантов ответа выбран только один вариант;
  • если несколько анкет были отправлены с одного адреса электронной почты, мы оставляли одну, в которой было отвечено на большее число вопросов.

Снижение нагрузки на опрашиваемых

В этом году в общей сложности мы задали 544 вопроса.

Мы стремились охватить множество областей и аспектов разработки, но показывали респондентам только определенные разделы на основе их предыдущих ответов. Так, вопросы по Go задавались только тем, кто испульзует Go. Кроме того, мы рандомизировали вопросы и разделы, чтобы еще больше снизить нагрузку на респондентов.

В среднем прохождение опроса занимало 30 минут, и хотя мы постарались оптимизировать процесс заполнения анкеты, в следующем году мы попробуем сделать его еще проще.

Привлечение респондентов

Чтобы привлечь респондентов, мы использовали рекламу на платформе X (ранее — Twitter), в Facebook, Instagram и Quora, а также собственные каналы коммуникации JetBrains. Кроме того, мы размещали информацию об опросе в каналах IT-сообществ и просили респондентов делиться с коллегами ссылкой на опрос.

Страны и регионы

Мы собрали достаточно большое количество ответов из 16 стран: Аргентины, Бразилии, Великобритании, Германии, Индии, Испании, Канады, Китая, Мексики, России, США, Турции, Украины, Франции, Южной Кореи и Японии.

Остальные страны были распределены по шести категориям:

  • Африка, Ближний Восток и Центральная Азия;
  • Восточная Европа, Балканы и Кавказ;
  • Бенилюкс и Северная Европа;
  • другие страны Европы (включая Кипр и Израиль);
  • другие страны Юго-Восточной Азия и Океании (включая Австралию и Новую Зеландию);
  • Центральная и Южная Америка (за исключением Аргентины, Бразилии и Мексики).

В каждом из этих регионов как минимум 300 респондентов были привлечены через внешние источники, например по ссылке от других респондентов или посредством рекламы.

Локализация

Мы стремимся сделать опрос как можно более доступным для широкого круга респондентов. В этом году его можно было пройти на 10 языках: английском, бразильском португальском, испанском, китайском, корейском, немецком, русском, турецком, французском и японском.

Снижение погрешности выборки

При подготовке отчета мы взвесили данные на основании способа привлечения респондентов. За основу были приняты респонденты, узнавшие об опросе из внешних источников, например, привлеченные посредством рекламы в Twitter, Facebook, Instagram и Quora, а также по ссылкам, отправленным другими респондентами, поскольку они менее предвзяты по сравнению с пользователями JetBrains. Мы учитывали источник каждого респондента в отдельности, чтобы получить результаты на основе процедур взвешивания.

Взвешивание выполнялось в три этапа, чтобы наиболее достоверно отразить текущее состояние мирового сообщества разработчиков.

Первый этап: корректировка с учетом численности профессиональных разработчиков в каждом регионе

На первом этапе мы собрали ответы, полученные при таргетинге стран, и применили к этим данным наши оценочные расчеты количества профессиональных разработчиков в каждой стране.

Мы рассматривали ответы профессиональных разработчиков и работающих студентов, которые прошли опрос благодаря рекламе, размещенной в социальных сетях в 22 регионах, а также данные респондентов, пришедших в опрос по ссылке от коллег. Несмотря на то, что мы не рекламировали опрос в Украине и России, эти страны были включены в отчет: мы использовали данные 2021 года и произвели соответствующее взвешивание. Затем мы взвесили все эти ответы в соответствии с нашей оценкой численности профессиональных разработчиков в этих 22 регионах. Это гарантировало, что распределение ответов будет соответствовать количеству профессиональных разработчиков в каждой стране.

Второй этап: соотношение трудоустроенных и нетрудоустроенных разработчиков

На втором этапе мы приняли, что доля студентов и безработных респондентов в каждой стране составляет 17%. Мы сделали это для обеспечения согласованности с методологией предыдущего года, поскольку это единственная имеющаяся у нас оценка их совокупности.

К этому моменту у нас была выборка ответов из внешних источников, взвешенных по региону и статусу занятости.

Третий этап: вид занятости, языки программирования и использование продуктов JetBrains

Третий этап был довольно сложным, так как включал в себя расчеты, полученные путем решения систем уравнений. Мы взяли взвешенные ответы и отдельно для разработчиков из каждого региона, помимо статуса занятости, рассчитали доли каждого из более чем 30 языков программирования, а также доли тех, кто ответил «Я в настоящее время использую продукты JetBrains» и «Я никогда не слышал о продуктах JetBrains». Эти доли стали постоянными в наших уравнениях.

Затем нам потребовалось учесть еще две группы ответов, полученных из других источников: через внутренние каналы JetBrains, например наши аккаунты в социальных сетях и нашу панель исследований, а также через рекламные кампании, ориентированные на пользователей определенных языков программирования.

Решение системы линейных уравнений и неравенств

Мы составили систему из более чем 30 линейных уравнений и неравенств, которая описывала:

  • весовые коэффициенты респондентов (например, Фиона из нашей выборки представляет 180 разработчиков из Франции);
  • конкретные значения их ответов (например, Пьер использует C++, трудоустроен на полную ставку и никогда не слышал о JetBrains);
  • необходимые соотношения между ответами (например, 27% разработчиков использовали C++ за последние 12 месяцев и т. д.).

Чтобы решить эту систему уравнений с минимальной дисперсией весовых коэффициентов (что важно!), мы использовали двойственный метод Гольдфарба — Иднани (1982, 1983), который помог нам рассчитать оптимальные индивидуальные весовые коэффициенты для 26 348 респондентов.

Остаточная погрешность

Несмотря на эти меры, нельзя исключить определенную степень предвзятости, поскольку пользователи продуктов JetBrains в среднем могли быть более склонны пройти этот опрос.

Как бы мы ни старались контролировать выборку респондентов и применять весовые коэффициенты, экосистема разработки постоянно развивается и невозможно полностью исключить вероятность неожиданных колебаний данных.

Мы обязательно продолжим совершенствовать методологию нашего исследования. До встречи в следующем году!

Методология:

2023

Подберите себе инструмент

Спасибо, что уделили время!

Если результаты исследования показались вам интересными, поделитесь ими с друзьями и коллегами.

Если у вас есть вопросы или пожелания, свяжитесь с нами по адресу surveys@jetbrains.com.