Введение

Характер работы и учебы резко изменился за последние несколько десятилетий благодаря достижениям в области технологий и, в частности, Интернета. Этот сдвиг вызывает много вопросов о том, что происходит с растущим числом людей, которые разрабатывают и используют эти технологии. К счастью, есть место, с которого можно начать сбор информации о разработчиках: Ежегодный опрос разработчиков Stack Overflow, который Stack Exchange Inc. называет крупнейшим и наиболее полным опросом разработчиков программного обеспечения.

Опрос разработчиков 2019 года собрал информацию от более чем 90 000 респондентов из 179 стран мира. Эта информация может быть очень показательным микрокосмом поведения и предпочтений разработчиков. Поэтому я использовал этот опрос — и несколько различных методов науки о данных и визуализации данных — чтобы ответить на три направления исследования:

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

и

  • Разные ли люди в разных странах узнают о разработке программного обеспечения?

Итак, давайте погрузимся!

Вопрос 1. Как размер компании влияет на удовлетворенность разработчиков работой?

Среди 84 вопросов в опросе Stack Overflow 2019 года один спрашивает о размере компании респондента, один спрашивает, каковы их наиболее важные факторы работы, а третий спрашивает, каковы их самые большие проблемы на работе. Вторым наиболее часто упоминаемым фактором работы была «офисная среда или корпоративная культура», а двумя главными проблемами в работе были «отвлекающая рабочая среда» и «совещания». Очевидно, что рабочая среда имеет большое значение для людей, принявших участие в опросе.

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

Большинство разработчиков, принявших участие в опросе, работают в организациях со штатом сотрудников от 20 до 99 или от 100 до 499 человек, и похоже, что эти респонденты сообщают о самой высокой пропорциональной степени удовлетворенности, при этом подавляющее большинство доволен» или «очень доволен». Тем не менее, фрилансеры и люди, которые работают в компаниях с 2–9 сотрудниками, сообщают о самых высоких общих показателях удовлетворенности — это единственные две группы, в которых большинство людей сообщают, что они «очень довольны» своей работой. .

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

Вопрос 2. Влияет ли возраст разработчиков на то, какие языки программирования они знают или хотят изучать?

Один из вопросов опроса спрашивает, какие языки используют респонденты, а другой спрашивает, какие языки респонденты хотят выучить в следующем году. Это заставило меня задуматься о том, как возраст может быть связан с использованием или желательностью языков программирования. Указанный возраст респондентов варьируется от 1 года (шутка!) до 99 лет. Большинство из них относятся к возрастной группе от 20 до 40 лет, но среди них также представлено на удивление много подростков. Если бы языки программирования можно было отслеживать по возрасту разработчика, это могло бы выявить изменения в использовании определенных языков с течением времени.

Здесь вы можете видеть, что JavaScript является наиболее часто используемым языком программирования среди респондентов в возрасте 23–45 лет, но среди молодежи JavaScript опережает HTML. Чем моложе респонденты, тем больше они используют Java и Python, а также C++ и C. Typescript, с другой стороны, резко падает до наименее используемого языка среди респондентов 24 лет и младше. И Bash гораздо больше используется респондентами старшего возраста, чем молодыми.

Рост желательности Python даже более заметен, чем рост его использования — начиная с 32-летних, он становится вторым наиболее желаемым языком, а затем продолжает подниматься все выше и выше среди более молодых респондентов. Количество людей, которые хотят изучать Python, превышает количество желающих изучать JavaScript среди разработчиков в возрасте 22 лет и младше. Java, C++ и C также становятся более желательными, чем моложе респонденты. И, как и выше, привлекательность TypeScript среди молодых разработчиков снижается.

Вопрос 3. По-разному ли люди в разных странах узнают о разработке программного обеспечения?

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

Наиболее очевидные части графика показывают, что индийские респонденты относительно маловероятно осваивают новые навыки программирования, вносят свой вклад в программное обеспечение с открытым исходным кодом или проходят обучение на рабочем месте, но они, скорее всего, примут участие в онлайн-соревнованиях по программированию. . Респонденты из США, Великобритании и Германии чаще всего обладают навыками программирования-самоучки. А бразильцы чаще всего изучают программирование на онлайн-курсах или очных курсах с частичной занятостью.

Вывод

На основании приведенных выше графиков может показаться, что:

  1. Удовлетворенность работой разработчиков программного обеспечения коррелирует с размером компании. В то время как люди в самых маленьких организациях, скорее всего, в целом будут «очень довольны» своей работой, люди в организациях среднего размера пропорционально гораздо чаще будут, по крайней мере, «слегка удовлетворены».
  2. Возраст разработчиков связан с тем, какие языки программирования они чаще всего используют и хотят использовать. Bash и TypeScript становятся менее популярными по мере того, как они моложе, а Python, Java, C и C++ становятся более популярными.
  3. Наиболее популярные формы обучения разработке программного обеспечения без получения степени различаются в зависимости от страны. Американцы, скорее всего, учатся самостоятельно, индийцы — на онлайн-соревнованиях по программированию, а бразильцы — на онлайн-курсах с частичной занятостью. Это может быть важно для педагогов, надеющихся выяснить, какие методы обучения наиболее полезны в разных частях мира.

Следует, конечно, отметить, что все эти наблюдения основаны только на опросе всего нескольких тысяч человек, а опросу разработчиков Stack Overflow всего несколько лет. Вероятно, потребуется больше данных и больше лет, чтобы получить более четкое представление о том, как думают и ведут себя разработчики, а также привлечь больше людей, чтобы позволить этой области развиваться.

Для получения дополнительной информации вы можете найти мой полный анализ данных здесь.