Десять главных причин, которые делают программиста несчастным
Счастье разработчиков (сбалансированный индекс по шкале положительного и отрицательного опыта)
Некоторые компании Кремниевой долины и начинающие стартапы тратят немалые средства на то, чтобы их сотрудники были счастливы, в последнее время это стало общим местом и своеобразным трендом: бесплатная еда, спортзал, массаж на рабочем месте. Разумеется, компании делают это не ради заботы о людях, а для повышения собственной прибыли. Предыдущие исследования показали, что продуктивность сотрудника повышается, если он более счастлив. Особенно актуально это для работников интеллектуального труда, таких как инженеры ПО. В связи с этим для компаний важно узнать — какие причины влияют на уровень счастья, а что, наоборот, вызывает неудовольствие у программистов.
В соответствии с результатами опроса, опубликованными в марте 2017 года, разработчики программного обеспечения, в среднем, «слегка счастливы». Положительный индекс — хорошая новость для работодателей. Значит, усилия компаний не пропали зря. Но им ещё есть куда стремиться. Исследователи составили список основных причин недовольства программистов — эти факторы желательно свести к минимуму.
Общие категории внешних причин недовольства
Основная категория | Подкатегории |
---|---|
Люди (416) | коллеги (206) менеджер (122) пользователь (49) |
Артефакты и работа с артефактами | код и программирование (217) баги и исправление багов (194) техническая инфраструктура (151) требования (99) |
Факторы, связанные с процессом (544) | без подкатегорий |
Другие причины (95) | без подкатегорий |
Для проведения опроса исследователи выбрали наиболее релевантную шкалу положительного и отрицательного опыта (Scale of Positive and Negative Experience, SPANE), которая предполагает количественную оценку положительных и отрицательных случаев за последние четыре недели. Как показали предыдущие исследования, шкала SPANE способна объективно отразить положительное и отрицательное влияние факторов (то есть счастье) независимо от источника, уровня ментальной активации и культурного контекста. Шкала обеспечивает хорошие психометрические характеристики (валидность и надёжность), что было эмпирически показано как минимум в семи предыдущих экспериментах.
Фактически, шкала SPANE состоит из 12 элементов, которые делятся на подкатегории положительного (SPANE-P) и отрицательного (SPANE-N) опыта. В каждом из них можно выбрать ответ от 1 (очень редко или никогда) до 5 (очень часто или всегда). Соответственно, SPANE-P и SPANE-N как сумма ответов принимают значение от 6 до 30. Затем эти рейтинги комбинируются, чтобы вычислить сбалансированный индекс по шкале положительного и отрицательного опыта (SPANE-B). Индекс SPANE-B может принимать значение от −24 по +24. Распределение результатов по итогу опроса 1318 разработчиков показано на диаграмме вверху. Среднее значение индекса счастья для программистов составляет +9,05. Минимальный показатель у одного разработчика −16, максимальный — +24.
В опросе приняли участие специалисты из 88 стран. Чаще всего отвечали работники из США (24%), Индии (6%), Бразилии (6%) и России (5%). Среди опрошенных 993 человека именно профессионально работают программистами, ещё 15% являются студентами, остальные 10% имеют другие профессии — менеджер, исполнительный директор, технический директор, учёный и т.д. Но в целом опрос можно считать вполне репрезентативным: средний опыт разработки программного обеспечения у опрошенных составляет 8,29 лет, по медиане — 5 лет.
Вдобавок к вычислению «индекса счастья» учёные провели дополнительный опрос с открытыми вопросами, чтобы выяснить конкретные причины недовольства программистов. Общие категории внешних причин недовольства приведены в таблице вверху. Внешние причины недовольства (1843 случая) встречаются в четыре раза чаще, чем внутренние причины (437), связанные с ментальным состоянием или собственным поведением программистов. Внутренние причины делятся на 22 внутренних фактора, которые не демонстрируют чёткой структуры. С другой стороны, внешние причины довольно чётко делятся на категории, приведённые в верхней таблице.
А вот самое интересное — десять самых частых конкретных причин, которые делают программистов несчастными.
Причина | Категория | Частота |
---|---|---|
Застрять в решении проблемы | собственное состояние | 186 |
Нехватка времени | внешние причины → процесс | 152 |
Плохое качество кода и практики программирования | внешние причины → артефакты и работа с артефактами → код и программирование | 107 |
Недорабатывающий коллега | внешние причины → люди → коллеги | 71 |
Чувство несоответствия работе | собственное состояние | 63 |
Обыденная или повторяющаяся задача | внешние причины → процесс | 60 |
Необъяснимая ошибка в коде | внешние причины → артефакты и работа с артефактами → код и программирование | 57 |
Плохой процесс принятия решений | внешние причины → процесс | 42 |
Введённые ограничения на разработку | внешние причины → артефакты и работа с артефактами → техническая инфраструктура | 40 |
Личные проблемы, не связанные с работой | собственное состояние | 39 |
Как видим, результаты опроса довольно красноречивы. Кто скажет, что никогда не сталкивался с этими проблемами?
С точки зрения компании вряд ли можно помочь сотрудникам в решении внутренних проблем, связанных с собственным состоянием, разве что с помощью психолога. Но некоторые внешние причины стресса вполне можно устранить. Самые главные причины — застрять в решении проблемы и нехватка времени — вероятно, решаются. «В этом исследовании мы показали, что недовольство присутствует, оно вызвано разными факторами, некоторые из которых легко можно предотвратить», — сказал Дэниель Гразиотин (Daniel Graziotin) из Института программных технологий при Штутгартском университете, ведущий автор научной работы.
Научная статья опубликована 15 марта 2017 года на сайте arXiv.org (arXiv:1703.04993v1).
Автор: