Счастье разработчиков (сбалансированный индекс по шкале положительного и отрицательного опыта)

Некоторые компании Кремниевой долины и начинающие стартапы тратят немалые средства на то, чтобы их сотрудники были счастливы, в последнее время это стало общим местом и своеобразным трендом: бесплатная еда, спортзал, массаж на рабочем месте. Разумеется, компании делают это не ради заботы о людях, а для повышения собственной прибыли. Предыдущие исследования показали, что продуктивность сотрудника повышается, если он более счастлив. Особенно актуально это для работников интеллектуального труда, таких как инженеры ПО. В связи с этим для компаний важно узнать — какие причины влияют на уровень счастья, а что, наоборот, вызывает неудовольствие у программистов.

В соответствии с результатами опроса, опубликованными в марте 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)


  1. nikitasius
    19.04.2017 21:49
    +14

    Любите ж вы графики…
    image

    А по делу, программист заведомо счастлив, если он выбрал тот язык, который ему подходит:
    image


    1. Li_Berraz
      19.04.2017 22:21

      Разве в языке счастье?


      1. Delneg
        19.04.2017 23:16
        +4

        Если писать на php, то этого счастья можно не почувствовать, а так — оно есть :)


      1. nikitasius
        19.04.2017 23:19
        +3

        Зависит от того, кто на нем, или им работает.


      1. TyVik
        19.04.2017 23:44
        +2

        Иногда бывает как завернёшь в одно выражение всякие map, filter, генераторы туда же — прям заглядение. Только правильно отформатировать надо, а то совсем ничего понятно не будет.


        1. andreysmind
          24.04.2017 10:12
          +1

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


      1. ad1Dima
        20.04.2017 07:45
        +3

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


    1. Adel-S
      20.04.2017 08:55
      +1

      А почему сентенцию про «выбор подходящего языка» иллюстрирует Пик Балмера?


      1. Nagg
        20.04.2017 14:50

        Ну там по оси Z языки, хотя лично мне непонятна корреляция Пика Балмера с конкретным языком программирования.


        1. Adel-S
          20.04.2017 15:12

          Видимо это намёк на то, что люди пишущие на Malbolge устойчивее к алкоголю, чем пишущие на Java.
          Вот тут я в корне не согласен.


          1. ad1Dima
            21.04.2017 06:12

            Cудя по тому, что в 0 по алкоголю график также стремится к нулю в сторону Malbolge, то это намек на то, что его никто не знает. Даже те, кто на нем пишет. (возможно это график зависимости программистских навыков от языка и алкоголя автора графика, а не средний по больнице)


  1. Hayate
    20.04.2017 03:18

    А про пирамиду маслоу спрашивающие не вспомнили? Деньги там и всё такое? Или все получают уже столько, что о деньгах не думают?


    1. Daniil1979
      20.04.2017 10:46

      Если мы вспоминаем про пирамиду Маслоу, то деньги нужны только на самых нижних — первом и втором уровнях пирамиды — для удовлетворении физиологических потребностей и потребностей в безопасности. А с учётом того, в каких компаниях проводился опрос, вряд ли у их программистов проблема с деньгами.


      1. meldo
        20.04.2017 12:01
        +1

        Не только на самых нижних. Деньги еще и в какой-то степени показатель уважения. Если разработчик будет считать, что ему платят не в соответствие с его способностями и вкладом в проект (не ценят), вероятно его это не обрадует, даже если базовые потребности удовлетворены.


        1. NLO
          20.04.2017 14:03

          НЛО прилетело и опубликовало эту надпись здесь


          1. VolCh
            20.04.2017 14:05

            Пугать может совсем не из-за сомнений в квалификации, смена работы — это всегд риски и далеко не только материального плана.


            1. NLO
              20.04.2017 15:20

              НЛО прилетело и опубликовало эту надпись здесь


              1. VolCh
                20.04.2017 16:54

                Ну, переплачивание подразумевает переоценку квалификации, разве нет?


                1. NLO
                  20.04.2017 19:30

                  НЛО прилетело и опубликовало эту надпись здесь


                  1. VolCh
                    21.04.2017 10:56

                    Завышенную по сравнению с чем? Вот был у меня случай: договорились о чуть ниже рыночной зарплате для моей квалификации (по моей субъективной оценке и того, и другого), поднял с нуля проект за два года почти в одиночку программированием занимаясь, через год даже подняли зарплату процентов на 30 по своей инициативе, но потом проект стабилизировался, активная разработка закончилась и решили, что теперь мне переплачивают, потому что нагрузка снизилась, решили уменьшить зарплату до 70% от начального уровня. Хотя мне там очень нравилось, не смотря на то, что мог уйти в другие места на +10-20%, сам факт понижения зарплаты моментально стал причиной активного поиска нового места. Потом узнал, что на мое место смогли найти только в итоге за +10% к моей, немного поигравшись с фрилансом и "на полставки". Переплачивали ли мне реально?


          1. ad1Dima
            21.04.2017 06:22
            +2

            Напомнило


            1. NLO
              21.04.2017 07:50

              НЛО прилетело и опубликовало эту надпись здесь


              1. ad1Dima
                21.04.2017 07:57

                мидлокодер приносит пользы меньше, чем дворник?
                А сеньйорокодер как с дворником соотносится?


                1. NLO
                  21.04.2017 08:55

                  НЛО прилетело и опубликовало эту надпись здесь


                  1. Areso
                    21.04.2017 10:13

                    Дворнику не надо несколько лет напряженно учиться и потом всю жизнь заниматься греблей против течения.


                    1. ad1Dima
                      21.04.2017 10:41

                      Зайдите в профиль человека.


                    1. NLO
                      21.04.2017 10:58

                      НЛО прилетело и опубликовало эту надпись здесь


              1. VolCh
                21.04.2017 10:57

                Приносимая польза меряется как раз тем. сколько платят за труд. Никто в здравом уме не будет платить больше чем стоит приносимая польза.


                1. NLO
                  21.04.2017 11:59

                  НЛО прилетело и опубликовало эту надпись здесь


                  1. VolCh
                    21.04.2017 13:29

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


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


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


                1. ad1Dima
                  21.04.2017 11:59

                  Не кормите тролля )


                  1. NLO
                    00.00.0000 00:00

                    НЛО прилетело и опубликовало эту надпись здесь


  1. Areso
    20.04.2017 05:19
    +3

    Сидишь работаешь, пишешь какую-нибудь весьма сложную вещь. Тут с пинка открывается дверь: «ты ж программист, иди мне Эксель почини, он что-то не считает». Прибавляем 20-30 минут на решение чужой проблемы и 2 часа на прокрастинацию, чтобы вернуться обратно в рабочее состояние.


    1. Jmann
      20.04.2017 08:55

      Очень знакомо! Или починить принтер/компьютер/чайник/, а то он что-то глючит и там наверное вирус. «Тыж программист».


    1. Hayate
      20.04.2017 10:50
      +1

      Ужасно, уходите оттуда туда где для таких вещей есть эникейщик.


      1. Areso
        20.04.2017 10:59
        +1

        У нас уже есть эникейщики. Только они сидят в другом здании, им нужно писать заявки и приходят они, обычно, часа через 2… а то и 4, после того им как позвонили или написали заявку. Если бы я сидел где-нибудь в другом месте, а не в управе, меня бы тоже никто не трогал. Как никто не трогает нашего удаленщика-программиста с такими вопросами, потому что у неё время реакции до 12 часов)
        Однако согласен — это ужасно.


        1. Hayate
          20.04.2017 11:10
          +1

          А, ну если у вас госконтора, то да. Сам работал в центре занятости населения когда-то. Ныне работая у коммерсантов я могу просто спросить «в какой тикет мне отчитаться о этом времени?» и вопрос отпадёт сам собой. Но у нас даже ситуаций таких не возникает.


  1. S0krat
    20.04.2017 06:57
    +2

    Если бы люди так легко осознавали причины своего состояния… У меня много лет ушло на осознание того, что я несчастен в роли менеджера — только инженерная работа меня радует.

    В общем, ЭОС — как и все остальные. Глубже надо копать.


    1. S0krat
      20.04.2017 07:11
      +1

      Например, «я-менеджер» на подобный опрос бы поотвечал всякими вот этими «Нехватка времени», «Обыденная или повторяющаяся задача» и т.д. — но пытаться исправить это было бы бессмысленно, изменился бы список «проблем», а общая оценка осталась бы плохой. Просто это была «не моя» работа.


  1. VolCh
    20.04.2017 09:16
    +1

    Как по мне, то застрять в решении проблемы не проблема, если не давит нехватка времени (дедлайны, да и просто "ну что ты там возишься?"). То же и с плохим качеством кода — если время есть, то это не проблема рефакторить плохой код на хороший, а удовольствие.


    1. alexeykuzmin0
      21.04.2017 15:48

      Бывает столько плохого кода, что руки опускаются.


  1. Shaco
    20.04.2017 09:17
    +3

    Интересно, застрять в решении проблемы и непонятный баг — это причина несчастья? Но у любого бага есть логичное объяснение, любая нерешаемая проблема так или иначе всё же решается. Это ведь интересная задача и вызов, разве нет?


    1. VolCh
      20.04.2017 09:27

      Именно. Главное, чтобы не давила нехватка времени :)


      Хотя встречал людей, которые не несчастливы только если (необходимое, но не достаточное условие для счастья) каждый день реализуют новые фичи, исправление багов для них пытка (своих и чужих — разные пытки), а отсутствие видимого продвижения за день хотя бы в виде одного нового зеленого юнит-теста на новую функциональность — трагедия. Работать с ними сложно, руководить ещё сложнее.


      1. Shaco
        20.04.2017 14:33

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


  1. joker2k1
    20.04.2017 11:30
    +2

    Странно что нет пункта «задержка зарплаты» ) Из моего опыта это самый главный пункт .)


    1. Areso
      20.04.2017 12:43

      Просто опрашивали тех, кого, видимо, устраивает зарплата и сроки её выплаты, а потому эти пункты просто не включили в опросник.


      1. Bokhan
        21.04.2017 11:57
        +1

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


  1. sic
    21.04.2017 08:58

    Обе основные проблемы имеют одну и ту же причину.

    «Застрять в решении проблемы» очень обтекаемая, хоть и популярная (навязанная) формулировка. Она в среднем означает, что человек не видит ощутимого прогресса в решении задачи, или прогресс ниже каких-то пороговых значений, определяемых средней производительностью. А по факту, либо задача решается в этот момент, либо человек сидит и фрустрирует (последнее, конечно тоже происходит).

    «Нехватка времени» же означает, что человек видит, что поставленные задачи нельзя решить понятным способом в обозначенный срок, который выбран исходя из опять же каких-то средних показателей производительности.

    Так вот причина в том, что различными (замечательными) (модными) методологиями средние показатели производительности повышаются да критических, и теперь это воспринимается как норма для внешнего мира, но создает дискомфорт для внутреннего.

    Хотелось бы пожелать, чтобы бизнес перестал «загонять» программистов.