Я относился к себе как к бесконечному ресурсу
Я потратил колоссальное количество сил на тщательную оптимизацию каждой части системы — и почти ничего на единственный самый важный и наименее надёжный компонент, который всё это запускал: на себя. Я воспринимал себя как бесконечный, всегда доступный ресурс — машину, способную бесконечно выдавать полную мощность, — и проект расплачивался за эту ошибку, раз за разом и очень дорого.
Это урок, которому я сопротивлялся дольше всего, потому что признать его означало словно бы искать оправдания. Это не оправдание. Это просто точное описание ограничения, которое я отказывался моделировать, а отказ моделировать реальное ограничение не заставляет его исчезнуть. Он лишь гарантирует, что оно застанет тебя врасплох.
Единственный компонент, который я так и не смоделировал
Я гордился тем, что внимательно думаю о пределах. Я рассуждал о пропускной способности каждой части системы, о её режимах отказа, о том, как она поведёт себя под нагрузкой, где она сломается. О каждой части — кроме одной. Я ни разу не применил ту же инженерную честность к самому себе.
Неявно, ни разу этого не проговорив, я предположил, что могу выдавать полную мощность вечно — что моя энергия и концентрация безграничны и доступны постоянно, что у человека, выполняющего работу, нет потолка пропускной способности и нет режимов отказа, которые стоило бы закладывать в план. Ни один грамотный инженер не стал бы моделировать компонент таким образом. Никто не стал бы проектировать систему, исходя из того, что одна критическая часть обладает бесконечной пропускной способностью и никогда не нуждается в обслуживании. И всё же именно так я смоделировал себя, даже не замечая, что я это делаю.
Спринты, которые заканчивались провалами
Закономерность всегда была одной и той же, и мне потребовалось до неловкости много повторений, чтобы её увидеть. Сначала — всплеск напряжённой, будоражащей работы: долгие отрезки полной концентрации, выход далеко за любой устойчивый предел, потому что это ощущалось продуктивным, неотложным и хорошим. А затем, с полной предсказуемостью, — обвал. Дни, иногда недели, когда я едва мог работать вообще, когда колодец был попросту сух, и никакие усилия его не наполняли.
И каждый раз я винил себя. Свою дисциплину, свою слабость, свою неспособность продавить себя дальше. Я воспринимал обвал как личную моральную несостоятельность, как нечто, чего более стойкий человек не допустил бы. Долгое время мне даже в голову не приходило, что обвал вовсе не был провалом характера. Это было сугубо механическое следствие того, что конечный ресурс гнали за его предел. Ресурс делал то, что конечные ресурсы делают всегда, когда их перегружают. Удивительным было лишь то, что я продолжал удивляться.
Выгорание — это сбой системы, а не сбой силы воли
Именно эта смена ракурса в конце концов что-то изменила. Я воспринимал свои срывы как сбои воли — мне следовало быть сильнее, следовало продавить себя, следовало хотеть этого сильнее. Но выгорание — это не изъян характера, и отношение к нему как к изъяну гарантирует, что ты будешь снова и снова его вызывать.
Выгорание — это просто то, что происходит, когда любую систему достаточно долго гонят за пределы её устойчивой пропускной способности. Это сбой системы, а не моральный. Называть его проблемой силы воли — всё равно что называть перегретый двигатель проблемой трусости: это в корне неверно диагностирует то, что пошло не так, и потому предписывает ровно неправильное лечение. Ответ на перегрев двигателя — не требовать от него храбрости. Ответ — перестать гнать его за тот предел, который у него всегда был. Больше силы воли, приложенной к измотанному оператору, не даёт больше отдачи. Это лишь даёт более тяжёлый обвал.
Арифметика темпа
Под всем этим лежит арифметика, которую я полностью игнорировал. Долгий, тяжёлый проект выигрывается не пиковой отдачей в какой-то отдельный момент. Он выигрывается суммарной отдачей, проинтегрированной по очень долгому времени. И вот что должно было быть очевидно: сумма умеренного, устойчивого темпа, удерживаемого ровно много месяцев, многократно превосходит сумму героических спринтов, перемежаемых провалами.
Спринт ощущается как нечто более быстрое. В моменте он действительно быстрее. Но на реальной дистанции проекта он намного медленнее, потому что обвалы обходятся дороже, чем когда-либо давали всплески. Каждая впечатляющая неделя надрыва покупала унылые две недели восстановления, и при честном подсчёте по всему отрезку этот обмен всегда оказывался убыточным. Я оптимизировал то, насколько быстрым я ощущал себя в моменте, — а это ровно неправильная переменная, когда гонка измеряется месяцами.
Отдых — это вход, а не предательство
Отчасти в ловушке меня держало то, как я думал об отдыхе. Я воспринимал его как отсутствие работы — время, украденное у прогресса, потворство себе, за которое стоит чувствовать вину, свидетельство недостаточной самоотдачи. Поэтому я сводил его к минимуму и чувствовал себя добродетельным от этой минимизации.
Но для конечного ресурса, выполняющего длительную когнитивную работу, восстановление — не противоположность отдачи. Это необходимый вход для отдачи. Отдых — это не время, отнятое у работы; это часть того, что вообще делает работу возможной. Отказ от отдыха — не самоотдача. Это эксплуатация машины без обслуживания и последующее отношение к неизбежной поломке как к невезению, а не как к прямому, предсказуемому результату пропущенного обслуживания. Я принял пренебрежение требованием за добродетель.
Проектирование под оператора
Поэтому в конце концов я начал делать очевидную вещь, которой так долго избегал: проектировать проект вокруг реальных ограничений человека, который его ведёт, — ровно так, как я проектировал бы вокруг любого другого реального ограничения. Темп, который я мог действительно удерживать, а не тот, что выглядел впечатляюще и заканчивался обвалом. Намеренные запасы на плохие дни, потому что плохие дни будут всегда. Честный учёт собственной пропускной способности как конечной, переменной, поддающейся обслуживанию величины — а не бесконечного двигателя, до которого я не дотягивал.
Сначала это ощущалось как занижение планки. Всё было наоборот. Это было наконец-то серьёзным отношением к реальной системе, включая ту её часть, что состоит из человека, вместо того чтобы притворяться, будто эта часть — нечто, чем она никогда не сможет быть.
Более глубокий урок: ты и есть то узкое место, которое отказываешься моделировать
Всё сводится к следующему. В любом проекте, который держится в основном на одном человеке, этот человек — самый важный компонент во всей системе и, как ни странно, тот, к кому мы меньше всего готовы относиться как к реальной, ограниченной, поддающейся обслуживанию величине. Мы будем любовно оптимизировать код и безжалостно изматывать оператора, а потом удивляться, почему всё это раз за разом глохнет.
Но проект движется лишь пока движется оператор, а оператор не бесконечен. Устойчивость — это не мягкая, опциональная, потворствующая себе любезность, до которой доберёшься, когда настоящая работа будет сделана. Это жёсткое ограничение, внутри которого должна уместиться вся остальная работа. Я долго относился к самой критической части своей системы как к единственной части, не заслуживающей того, чтобы её спроектировали. Проект не смог обогнать эту ошибку — и, как выяснилось, я тоже.
— Никаких сигналов, никакой доходности, не является инвестиционным советом.