За душу программиста сражаются три могущественных духа-покровителя: Художник, Трудяга и Прагматик.
Если вы слышите внутри себя голос: «Ты не можешь рисовать», рисуйте во что бы то ни стало, пока голос не стихнет.
— Винсент ван Гог
Первый дух, Художник, подталкивает программиста к работе над сложными заданиями, изобретению новых подходов и поиску средств самореализации. Он дает силы и желание создавать гениальные решения, учиться и творить (заодно он ведает спортивным программированием и эзотерическими языками программирования — прим.пер.). Он живет в лучших программах; именно он дарит программисту озарения, вселяет в него страсть к красоте кода и заставляет пренебрегать всем, что не относится к задаче. Это сильный дух, но и опасный — человек, одержимый им, непредсказуем и склонен забывать о действительно нужных вещах в угоду красивым. Он отвергнет посредственные, но годные решения и посвятит себя достижению безграничного совершенства на одном отдельно взятом фрагменте кода, переписывая его снова и снова даже ночью накануне важного показа, когда все тестировщики уже давно спят.
Нет человека, который был бы как Остров, сам по себе, каждый человек есть часть Материка.
Джон Донн
Второй дух, Трудяга, ставит на первое место интересы команды, компании и клиента. Он вынуждает программиста целиком посвятить себя успеху проекта и Всеобщему Благу. Программист будет засиживаться допоздна, исправляя ошибки к сроку; он будет тестировать продукт после тестировщиков и проверять настройки после админов. Этот альтруистический дух делает программиста собранным, надежным и дисциплинированным гражданином компании. В то же время Трудяга подавляет творческое начало и вселяет отвращение к решениям, которые не одобрены руководством и могут потерпеть неудачу; иногда он вызывает стресс, тревогу и чувство растраченных зря способностей. Если компания не беспокоится о тяжелой работе программиста и принесенных им жертвах, влияние Трудяги быстро испаряется.
Жизнь — это то, что происходит, пока строишь планы.
Джон Леннон
Третий дух, Прагматик, больше всего обеспокоен личными интересами, финансовым благополучием, стабильностью и карьерным ростом. Под его руководством программисты пишут плохой код, думая при этом о зарплате и признании у руководства. Влияние этого духа усиливается с возрастом: семья и личные проблемы берут верх над мечтами о создании великих вещей, а текучка заедает настолько, что мысли о лояльности и преданности работе исчезают начисто. Иногда программист, одержимый этим духом, начинает сосредотачиваться на вещах, полезных для личного роста, писать запутанный код и усложнять его, чтобы обеспечить свою ценность для работодателя, или и вовсе тратить рабочее время на личные проекты. Этот дух питается естественным желанием иметь жизнь вне работы и достигать своих собственных целей. Его опасность в том, что программист становится скорее вреден, чем полезен, и перестает беспокоиться о качестве проекта и долгосрочном успехе компании.
У каждого духа есть свои плюсы и минусы: Художник ведает творческими способностями, но склонен к чрезмерному усердию и презрению к действительным потребностям, Трудяга поощряет дисциплину и достижение нужных результатов, но опасен страхом перемен и быстрым выгоранием, Прагматик позволяет достигать своих целей, но за счет интересов компании и клиентов.
Эти духи разрывают на части многих несчастных программистов, не позволяя им достичь просветления и душевного равновесия. Обычно эта борьба заканчивается победой одного духа (к сожалению, чаще всего — Прагматика). Иногда в человеке преобладает то или иное начало в зависимости от обстоятельств — разные условия работы могут пробуждать творчество Художника или инстинкт самосохранения Прагматика.
Теория изящная, хотя и не учитывает множество мелких демонов, грызущих и покусывающих нас все время — беса-холиворщика, демона праздности и интернет-серфинга и многих других. А с кем из них чаще всего общаетесь вы?