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

В первом случае я был ведущим специалистом в стартапе на посевной стадии с финансированием, работал непосредственно под и совместно с руководителем. Во втором я был одним из рядовых разработчиков, работал в команде из одиннадцати человек в составе крупной технологической компании (уровня Meta, Google, Apple и т.д.). Вот пошаговое руководство из методички выгорания, по которой работали эти команды.

Шаг первый: не доверяйте своим разработчикам


Первое, что нужно делать – контролировать разработчиков во всех мелочах. Они, конечно, умные, но точно ли понимают, как, по вашему мнению, должен выглядеть продукт? Наверняка нет.

В должности ведущего разработчика стартапа я работал в тесном контакте с руководителем. Он названивал мне постоянно, разговоры длились часами, мы закапывались в мельчайшие детали имплементации, которые никак реально не влияли на пользовательский опыт. «А ты уверен, что нам нужен именно DynamoDB? Почему эта Lambda-функция использует Python, а не Node?» Это постоянное дерганье очень утомляло.

Работая в команде крупной корпорации, я тоже имел мало свободы в своих действиях. И нельзя сказать, что вина лежала на моем начальстве – просто вся система была так устроена. Помню, как-то раз я проектировал архитектуру системы, которую тогда создавал, и мне полунамеками сообщили следующее: «Имплементация этого проекта должна пройти вот таким путем. Да, я понимаю, что это займет гораздо больше времени, но мне так нужно (чтобы мои промо-материалы потом смотрелись эффектнее)».



Я убежден, что на самом деле лучших специалистов привлекает и удерживает одна простая вещь: с ними обращаются, как со взрослыми людьми. Если вы нанимаете лучших из лучших, нет никакой необходимости заваливать их правилами и политиками, чтобы добиться хорошей работы. Они профессионалы – так дайте им возможность маневрировать, самим оптимальным образом организовывать свою работу и отвечать за результат. С этим они, вероятно, справятся лучше, чем вы.

Марк Рэндольф, сооснователь Netflix

Шаг второй: введите ненужные, тягомотные процедуры


В период моей работы в стартапе в один прекрасный день меня стали заставлять расписывать огромные дизайн-документы, прежде чем браться за реализацию чего бы то ни было. Создание любого, даже самого крохотного эндпоинта API требовало бесконечных предварительных обсуждений. Неожиданно имплементация новой функциональности стала занимать уже не несколько дней, а несколько недель. Хоть на стену лезь.

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

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

Случалось, что у меня целый день уходил на правку документов, рассылку электронных писем, чтение документации и разговоры с коллегами. Я занимался вещами, которые не давали никакого выхлопа, и не потому, что мне этого хотелось.



Сломанный руль – метафора того ощущения на работе, когда твои действия, кажется, вообще ни на что не влияют. Вроде поворачиваешь, а машина всё равно едет прямо. В рабочих профессиях такое случается редко: там собрал машину – появилась машина. В интеллектуальном труде такое сплошь и рядом: ну, отправил ты письмо, и что?

Эмметт Шир, сооснователь Twitch

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

Шаг третий: не позволяйте коду дойти до клиентов


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

По рассказам разработчиков, работа над тем, что никогда не выходит на рынок – один из основных источников выгорания.

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

Из статьи Shipping is your company’s heartbeat (2013)

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

К моменту выхода на рынок продукт должен не содержать багов и обеспечивать хороший пользовательский опыт. Но безукоризненным он быть не обязан. Когда начальник начинает гнаться за недостижимым идеалом, для команды это не означает ничего хорошего. Особенно учитывая, что мы еще даже Product-Market Fit на тот момент не достигли. Перфекционизмом часто прикрывается прокрастинация. Оглядываясь назад, я предполагаю, что наш руководитель попросту оттягивал тот момент, когда придется реально продавать продукт и получать критические отзывы.

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

Иногда продукт не доходит до пользователя из-за отсутствия концентрации. Когда за проектом не стоит четкого представления о его перспективе, он обречен на провал.



Джони Айв приводил такое высказывание Стива Джобса о концентрации: «Концентрация – это не то, к чему стремишься… и не то, что практикуешь по понедельникам. Она должна не покидать тебя ни на минуту».

Источник

Бонусный шаг: побольше обещайте, поменьше выполняйте


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

В моем стартапе, в течение того года, когда продукт всё никак не мог дойти до релиза, руководитель какое-то время проводил сбор пожертвований. Изначально у меня была значительная доля в компании, однако сбор пожертвований до этапа Product-Market Fit привел к тому, что стоимость моих акций стала снижаться. И существенно. Внезапно стартап утратил для меня привлекательность с финансовой точки зрения – я бы мог заработать столько же за десять лет в крупной корпорации, даже если экзит бы принес миллиард долларов. Вот только в корпорациях оплата гарантирована и производится ликвидными активами, а миллиард как результат экзита – очень редкое событие в такой среде.

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

Увы, из года в год каждый из этих разработчиков по крупице терял надежду когда-либо достигнуть своей цели. А ощущение безнадежности ускоряет выгорание. Причины, побудившие их устроиться в компанию, никак не реализовывались в действительности. Когда разочарование достигало определенного предела, они уходили.

В конечном итоге выгорание добралось и до меня. И я тоже уволился.

Основные выводы по выгоранию


Выгорание не всегда связано с продолжительностью работы


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

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

Выгорание приходит тогда, когда мои старания не имеют значения


Если выкладываешь в какое-то дело много времени и сил, хочется, чтобы это к чему-то привело. Когда тебе предоставляют свободу в работе над проектом и ты доводишь его до релиза, это ощущается как достижение. По мне так лучше пусть проект окажется полным провалом и крахом, чем вообще не увидит свет.

Мне нужно проникнуться миссией


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



Сомнения в миссии – это то состояние, когда начинаешь задаваться вопросом: «А зачем я вообще это делаю?» Обычно оно приходит вместе с устойчивым благополучием. Если тебе позарез нужны деньги, которые заплатят за эту неделю, дураку понятно, почему ты делаешь то, что делаешь. Но если представить, что тебе не о чем тревожиться следующие полгода? Или пару лет?

Здесь всё индивидуально. Лично мне удовлетворение приносит то, что моя работа чему-то служит; другим его может приносить совместная работа с другими людьми, возможность содержать семью или учиться чему-то новому.

Выгорание – более распространенное явление, чем я предполагал


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



В Сети есть много других отличных материалов по теме выгорания: например, могу порекомендовать статьи Ирины Станеску, моей подруги, или этот комикс.

Комментарии (17)


  1. Zara6502
    31.10.2023 12:21
    +19

    уберите везде упоминание про ИТ и всё написанное будет работать в любой области. Проблема этой статьи в том что читающий руководитель-самодур априори не способен понять что тут написано, ну или прекрасно понимает, но не думает что это связано с ним.


    1. Breathe_the_pressure
      31.10.2023 12:21
      +5

      Большинство, став руководителями, перестают вообще что-то читать. Во-первых, раз он стал руководителем, то лучше всё знает, чем какие-то теоретики. Далее, когда ЧСВ улетает в стадию насыщения у неподготовленных руководителей, становишься глух к окружающим. Последнее, ну и зачем на это время терять, лучше "вздрючить команду" лишний раз.


      1. MikeVentris
        31.10.2023 12:21
        +1

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

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


    1. dimaaannn
      31.10.2023 12:21
      +2

      уберите везде упоминание про ИТ

      Скорее в айти это проявляется наиболее явно. Потому что требования к самостоятельной работе и творческому подходу к процессу там обычно выше.


      1. Zara6502
        31.10.2023 12:21

        Классика жанра - ИТ со знаком равенства к программированию? Большинство ИТшников вообще не про программирование и творческое там только одно - какой стикер приклеить на монитор - Бендера или Губку Боба.


  1. spirit1984
    31.10.2023 12:21
    +13

    А ты уверен, что нам нужен именно DynamoDB? Почему эта Lambda-функция использует Python, а не Node?

    Ну эти вопросы на самом деле валидные. Например, если все приложения внутри компании пользуют постгрес, и тут вдруг новый сервис на динаме? А у нас набор ДБА, сертифицированный на постгрес, и который в случае возникновения проблем на Динаме никак не поможет. И чего тогда?

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


    1. MyraJKee
      31.10.2023 12:21
      +2

      Вряд-ли рядовой сотрудник, даже сеньор, в крупной компании просто с нуля возьмёт и начнет что-то писать на Node, если все остальное написано на Python?)))) То же самое и про db


      1. DMGarikk
        31.10.2023 12:21
        +2

        А бывает такое, у меня был в команде такой кадр, чуть зазеваешся - он уже ядерный реактор наваял вместо простенькой ф-ции

        Или еще были господа которых хлебом не корми - постоянно какието либы левые притаскивали с гитхаба, причем не глядя ни на количество звезд ни на активность проекта

        до сих пор у меня проект есть где ктото умный затащил форкнутую версию мигратора для peewee которая заглохла года 3 назад (тамжа такие классные фичи!! нечево самому писать, вон ктото сделал)...и теперь чтобы его обновить на актуальную версию оригинального мигратора (который не дает теперь обновить сам peewee), надо кучу кода отрефакторить...

        с тех пор постоянно одергиваю своих падаванов от такого...видимо заставляю их выгорать ;)


        1. Gargo
          31.10.2023 12:21
          +3

          а у меня в команде был тимлид, с которым чуть ли не каждую стороннюю библиотеку нужно было согласовывать и спорить, зачем она нужна в проекте (правда проекты на Swift/Objective-C, а не на Node.js). Например, вместо того, чтобы по-быстрому накидать UI, пиши длиннющую и нечитаемую портянку кода - просто потому, что она предоставляется системой из коробки.

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

          И кстати у притягивания сторонних библиотек есть свои плюсы - и это не только экономия времени


          1. DMGarikk
            31.10.2023 12:21

            а у меня в команде был тимлид, с которым чуть ли не каждую стороннюю
            библиотеку нужно было согласовывать и спорить, зачем она нужна в проекте
            (правда проекты на Swift/Objective-C, а не на Node.js). Например,
            вместо того, чтобы по-быстрому накидать UI, пиши длиннющую и нечитаемую
            портянку кода - просто потому, что она предоставляется системой из
            коробки.

            а вот я согласен с ним, я именно на проекте на Objective-C я напоролся на то что забиндились на либу (чтобы не писать портянки) у которой как выяснилось последний коммит был 5 лет назад...и подъехавшая новая версия ios оказалась с ней несовместима, и пришлось лопатить кучу кода просто чтобы вот.

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

            тут уже более спорно

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

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

            и MS и Гугл например были замечены в тем что выпускали новые фичи которые через пару месяцев были объявлены устаревшими...и если например в продукте начать сразу писать код с ними - мы устраиваем себе лишнюю попоболь, которая не несет никаких плюсов для бизнеса

            А с другой стороны проект надо постоянно подтягивать под актуальную версию стека чтобы не сползать в адское легаси


            1. JakUi
              31.10.2023 12:21

              >а у меня в команде был тимлид, с которым чуть ли не каждую стороннюю библиотеку нужно было согласовывать и спорить
              >а вот я согласен с ним, я именно на проекте на Objective-C
              Может вы и есть бывший лид@Gargo?)


              1. DMGarikk
                31.10.2023 12:21

                Может вы и есть бывший лид@Gargo?)

                точно нет ;)


  1. Mitch
    31.10.2023 12:21
    +5

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

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


  1. chernish2
    31.10.2023 12:21

    Бред какой-то. Зачем в таком тратить время своей жизни.


  1. SergeyNovak
    31.10.2023 12:21
    +3

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

    Как-то работал в одном проекте и было всегда ощущение, что там все предложения сэкономить деньги очень негативно воспринимают. А оказалось что это не ощущение, а так и есть: проект был создан под распил бабла. Ух как припекало.


  1. ogost
    31.10.2023 12:21

    Где-то год проработал в банке. Пилил фичи под вендорский интернет-банк. Таски ставились, фичи пилились, проходили все стадии одобрения и... всё в стол. Редкая фича пролелза на фронт, за год работы можно на пальцах руки пересчитать. И так было не только у интернет банка, но и у карточной системы, и в ядре, и вообще почти во всём dev-отделе. Так и не понял смысла держать отдел разработки в сотню человек (банк небольшой). В итоге версии на проде сильно отличались от staging, баги воспроизводить и чинить на staging или на локальной машине было прям нереально сложно. Примерно раз в три месяца staging синхронизировался с продом, но это спасало ненадолго.


    1. MikeVentris
      31.10.2023 12:21
      +1

      Раз в 3 месяца - для неповоротливого энтерпрайза/финтеха, с миллионами клиентов и миллиардами денег в обороте - это еще не плохо.

      Это ведь следствие того, что когда-то выкатили релиз быстро, пропустили баг, потом подсчитали финансовый ущерб от этого бага и от заказчика прозвучало "почему вместо того что бы оплатить еще месяц работы команды и все хорошо проверить, вы приняли решение выкатить версию?"

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