Счастье разработчиков (сбалансированный индекс по шкале положительного и отрицательного опыта)
Некоторые компании Кремниевой долины и начинающие стартапы тратят немалые средства на то, чтобы их сотрудники были счастливы, в последнее время это стало общим местом и своеобразным трендом: бесплатная еда, спортзал, массаж на рабочем месте. Разумеется, компании делают это не ради заботы о людях, а для повышения собственной прибыли. Предыдущие исследования показали, что продуктивность сотрудника повышается, если он более счастлив. Особенно актуально это для работников интеллектуального труда, таких как инженеры ПО. В связи с этим для компаний важно узнать — какие причины влияют на уровень счастья, а что, наоборот, вызывает неудовольствие у программистов.
В соответствии с результатами опроса, опубликованными в марте 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).
Комментарии (48)
Hayate
20.04.2017 03:18А про пирамиду маслоу спрашивающие не вспомнили? Деньги там и всё такое? Или все получают уже столько, что о деньгах не думают?
Daniil1979
20.04.2017 10:46Если мы вспоминаем про пирамиду Маслоу, то деньги нужны только на самых нижних — первом и втором уровнях пирамиды — для удовлетворении физиологических потребностей и потребностей в безопасности. А с учётом того, в каких компаниях проводился опрос, вряд ли у их программистов проблема с деньгами.
meldo
20.04.2017 12:01+1Не только на самых нижних. Деньги еще и в какой-то степени показатель уважения. Если разработчик будет считать, что ему платят не в соответствие с его способностями и вкладом в проект (не ценят), вероятно его это не обрадует, даже если базовые потребности удовлетворены.
NLO
20.04.2017 14:03НЛО прилетело и опубликовало эту надпись здесь
VolCh
20.04.2017 14:05Пугать может совсем не из-за сомнений в квалификации, смена работы — это всегд риски и далеко не только материального плана.
NLO
20.04.2017 15:20НЛО прилетело и опубликовало эту надпись здесь
VolCh
20.04.2017 16:54Ну, переплачивание подразумевает переоценку квалификации, разве нет?
NLO
20.04.2017 19:30НЛО прилетело и опубликовало эту надпись здесь
VolCh
21.04.2017 10:56Завышенную по сравнению с чем? Вот был у меня случай: договорились о чуть ниже рыночной зарплате для моей квалификации (по моей субъективной оценке и того, и другого), поднял с нуля проект за два года почти в одиночку программированием занимаясь, через год даже подняли зарплату процентов на 30 по своей инициативе, но потом проект стабилизировался, активная разработка закончилась и решили, что теперь мне переплачивают, потому что нагрузка снизилась, решили уменьшить зарплату до 70% от начального уровня. Хотя мне там очень нравилось, не смотря на то, что мог уйти в другие места на +10-20%, сам факт понижения зарплаты моментально стал причиной активного поиска нового места. Потом узнал, что на мое место смогли найти только в итоге за +10% к моей, немного поигравшись с фрилансом и "на полставки". Переплачивали ли мне реально?
ad1Dima
21.04.2017 06:22+2Напомнило
NLO
21.04.2017 07:50НЛО прилетело и опубликовало эту надпись здесь
VolCh
21.04.2017 10:57Приносимая польза меряется как раз тем. сколько платят за труд. Никто в здравом уме не будет платить больше чем стоит приносимая польза.
NLO
21.04.2017 11:59НЛО прилетело и опубликовало эту надпись здесь
VolCh
21.04.2017 13:29Это его оценки приносимой мною пользы были ошибочны, но руководствовался в вопросе сколько мне платить он именно здравым смыслом.
Понятно, что объективно пересчитать в деньги невозможно, но в трудовых отношениях в коммерческих организациях именно, что сравнивают пользу (её субъективную оценку) с зарплатой.
А вот с "сколько нужно сотруднику для счастья" сложно. Одно дело сколько нужно для счастья вообще, а несколько другое сколько нужно для счастья работая на конкретном месте с конкретной зарплатой, имея доступ к данным рынкам сколько получают на аналогичных должностях. Довольно многим понимание того, что "на другой стороне улицы" делая ту же работу они могут получать в 2 раза больше отравляет жизнь, даже если уже сейчас не знают куда деньги девать.
Areso
20.04.2017 05:19+3Сидишь работаешь, пишешь какую-нибудь весьма сложную вещь. Тут с пинка открывается дверь: «ты ж программист, иди мне Эксель почини, он что-то не считает». Прибавляем 20-30 минут на решение чужой проблемы и 2 часа на прокрастинацию, чтобы вернуться обратно в рабочее состояние.
Jmann
20.04.2017 08:55Очень знакомо! Или починить принтер/компьютер/чайник/, а то он что-то глючит и там наверное вирус. «Тыж программист».
Hayate
20.04.2017 10:50+1Ужасно, уходите оттуда туда где для таких вещей есть эникейщик.
Areso
20.04.2017 10:59+1У нас уже есть эникейщики. Только они сидят в другом здании, им нужно писать заявки и приходят они, обычно, часа через 2… а то и 4, после того им как позвонили или написали заявку. Если бы я сидел где-нибудь в другом месте, а не в управе, меня бы тоже никто не трогал. Как никто не трогает нашего удаленщика-программиста с такими вопросами, потому что у неё время реакции до 12 часов)
Однако согласен — это ужасно.Hayate
20.04.2017 11:10+1А, ну если у вас госконтора, то да. Сам работал в центре занятости населения когда-то. Ныне работая у коммерсантов я могу просто спросить «в какой тикет мне отчитаться о этом времени?» и вопрос отпадёт сам собой. Но у нас даже ситуаций таких не возникает.
S0krat
20.04.2017 06:57+2Если бы люди так легко осознавали причины своего состояния… У меня много лет ушло на осознание того, что я несчастен в роли менеджера — только инженерная работа меня радует.
В общем, ЭОС — как и все остальные. Глубже надо копать.S0krat
20.04.2017 07:11+1Например, «я-менеджер» на подобный опрос бы поотвечал всякими вот этими «Нехватка времени», «Обыденная или повторяющаяся задача» и т.д. — но пытаться исправить это было бы бессмысленно, изменился бы список «проблем», а общая оценка осталась бы плохой. Просто это была «не моя» работа.
VolCh
20.04.2017 09:16+1Как по мне, то застрять в решении проблемы не проблема, если не давит нехватка времени (дедлайны, да и просто "ну что ты там возишься?"). То же и с плохим качеством кода — если время есть, то это не проблема рефакторить плохой код на хороший, а удовольствие.
Shaco
20.04.2017 09:17+3Интересно, застрять в решении проблемы и непонятный баг — это причина несчастья? Но у любого бага есть логичное объяснение, любая нерешаемая проблема так или иначе всё же решается. Это ведь интересная задача и вызов, разве нет?
VolCh
20.04.2017 09:27Именно. Главное, чтобы не давила нехватка времени :)
Хотя встречал людей, которые не несчастливы только если (необходимое, но не достаточное условие для счастья) каждый день реализуют новые фичи, исправление багов для них пытка (своих и чужих — разные пытки), а отсутствие видимого продвижения за день хотя бы в виде одного нового зеленого юнит-теста на новую функциональность — трагедия. Работать с ними сложно, руководить ещё сложнее.
Shaco
20.04.2017 14:33Ну это уже инфантильность в чистом виде… Я тоже люблю писать новые фичи, но не ради самой фичи, а потому, что она решит какую-то проблему пользователя. А поиграться с технологиями, если уж хочется, можно и в качестве хобби.
joker2k1
20.04.2017 11:30+2Странно что нет пункта «задержка зарплаты» ) Из моего опыта это самый главный пункт .)
Areso
20.04.2017 12:43Просто опрашивали тех, кого, видимо, устраивает зарплата и сроки её выплаты, а потому эти пункты просто не включили в опросник.
Bokhan
21.04.2017 11:57+1Ну вот и зря. Я бы на первое место поставил проблему хаотичности распределения зарплат. В моём отделе есть человек меньшей квалификации, менее ответственно выполняющий свою работу, ниже меня стоящий по должности.
Получает он больше меня, и только потому, что я постеснялся просить большую зарплату, когда устраивался, а он нет.
В их радужном мире с пони это может быть незначительно, но в реальности очень даже
sic
21.04.2017 08:58Обе основные проблемы имеют одну и ту же причину.
«Застрять в решении проблемы» очень обтекаемая, хоть и популярная (навязанная) формулировка. Она в среднем означает, что человек не видит ощутимого прогресса в решении задачи, или прогресс ниже каких-то пороговых значений, определяемых средней производительностью. А по факту, либо задача решается в этот момент, либо человек сидит и фрустрирует (последнее, конечно тоже происходит).
«Нехватка времени» же означает, что человек видит, что поставленные задачи нельзя решить понятным способом в обозначенный срок, который выбран исходя из опять же каких-то средних показателей производительности.
Так вот причина в том, что различными (замечательными) (модными) методологиями средние показатели производительности повышаются да критических, и теперь это воспринимается как норма для внешнего мира, но создает дискомфорт для внутреннего.
Хотелось бы пожелать, чтобы бизнес перестал «загонять» программистов.
nikitasius
Любите ж вы графики…
А по делу, программист заведомо счастлив, если он выбрал тот язык, который ему подходит:
Li_Berraz
Разве в языке счастье?
Delneg
Если писать на php, то этого счастья можно не почувствовать, а так — оно есть :)
nikitasius
Зависит от того, кто на нем, или им работает.
TyVik
Иногда бывает как завернёшь в одно выражение всякие map, filter, генераторы туда же — прям заглядение. Только правильно отформатировать надо, а то совсем ничего понятно не будет.
andreysmind
А потом придет новый программист, посмотрит на код состоящий из таких круто завернутых выражениях с генераторами, которое для нетренированного глаза выглядит как Вавилонская клинопись и застрелится.
А через полгода застрелится и автор кода, который не сможет понять код и вспомнить что и зачем он так круто заворачивал.
ad1Dima
Есть языки которыми пользоваться комфортнее, чем другими. У каждого свои, конечно.
Adel-S
А почему сентенцию про «выбор подходящего языка» иллюстрирует Пик Балмера?
Nagg
Ну там по оси Z языки, хотя лично мне непонятна корреляция Пика Балмера с конкретным языком программирования.
Adel-S
Видимо это намёк на то, что люди пишущие на Malbolge устойчивее к алкоголю, чем пишущие на Java.
Вот тут я в корне не согласен.
ad1Dima
Cудя по тому, что в 0 по алкоголю график также стремится к нулю в сторону Malbolge, то это намек на то, что его никто не знает. Даже те, кто на нем пишет. (возможно это график зависимости программистских навыков от языка и алкоголя автора графика, а не средний по больнице)