Восьмичасовое горение создает среду, напоминающую крайне продуктивные выходные в студенческие годы, когда тебе нужно быстро подготовиться к зачету по лекциям, которые ты прогуливал, или написать наконец курсовую работу, павшую жертвой постоянных проволочек. Разница - в ограниченной по времени зубрежке. Время зубрежки крайне продуктивно, потому что его не хватает, а значит, оно очень ценно. Восьмичасовое горение представляет собой метод изначально плотной работы с регулярным графиком, при котором тебе не потребуется бодрствовать ночами, вливая в себя кофе и энергетики.
Как работники умственного труда мы в состоянии трудиться вне офиса, не имея перед собой компьютера. Это происходит во время поездки на обед с супругой или во время просмотра фильма. Работа постоянно не дает тебе покоя.
Моя работа обычно не дает мне покоя, когда я уделяю ей недостаточно внимания. Когда я спускаю какие-то дела на тормозах или позволяю им накапливаться. В этом случае работа отправляется со мной домой и не дает мне спокойно расслабиться. При каждодневной интенсивной трудовой деятельности ты обнаруживаешь, что перестал тащить домой рабочие проблемы. И дело не в том, что ты намеренно не даешь себе работать сверхурочно. Твой мозг просто не позволяет этого делать.
Распоряжайся своим рабочим временем аккуратно. Работай меньше, и ты начнешь больше успевать. Работа всегда приносит больше удовольствия, когда ты можешь от нее отдохнуть.
Действуй!
1. Постарайся как следует выспаться сегодня. На следующее утро позавтракай и приступи к работе в определенное время (лучше чуть раньше, чем обычно). Интенсивно работай в течение четырех часов. Отведи час на обеденный перерыв. Затем поработай еще четыре часа с такой интенсивностью, чтобы в конце концов почувствовать себя совершенно изможденным. Возвращайся домой, расслабься и развлекайся.
Совет 29
Научись проигрывать
Как программисты мы знаем, что чем скорее в процессе разработки будут выявлены ошибки, тем более надежной выйдет программа. Модульное тестирование помогает обнаружить странные ошибки на ранних стадиях. Если нам удается быстро выявить в собственном коде причудливые неполадки, мы счастливы. Хотя сами ошибки указывают на некоторые недостатки нашей работы, их своевременное выявление является хорошим признаком, позволяющим надеяться на корректно функционирующую программу.
Нас учили, что в начале работы можно совершать ошибки. Ты хочешь узнать, когда они возникают, чтобы внести исправления или пометить проблемный фрагмент кода. Когда ты пишешь код, то не прилагаешь особых усилий для устранения небольших программных неполадок, неизбежно сопровождающих процедуру разработки.
Ошибка - это попытка кода донести до тебя информацию. Часть процесса стабилизации. Поэтому мы специально добавляем инструкции, приводящие к падению нашей программы, когда что-то идет не так, или модульные тесты, в случае нашего промаха показывающие красный флаг.
Эти небольшие неполадки кроме всего прочего дают нам понять, проблем какого типа можно ожидать. Если ты никогда не ходил по минному полю, откуда тебе знать, на какие куски грязи лучше не наступать? Если программа не подает никаких сигналов, откуда тебе знать, в каком месте притаилась опасность? При написании кода вслепую приходится постоянно быть начеку.
Программировать безопасно крайне важно. Когда что-то идет не так, качество программного обеспечения подвергается испытаниям. Неизбежно возникают ситуации, реакцию приложения на которые вы не запрограммировали. Аварийные завершения и синие экраны в окончательной версии кода означают, что программист не поработал над ошибками, которые не смог предвидеть.
Любая фальшивая нота находится рядом с верной.
Те же принципы применимы к работе. Ремесленник подвергается испытаниям, когда возникают ошибки. Умение с ними работать является ценным и сложно приобретаемым навыком. Как человек, увлекающийся джазовой импровизацией, я понял, что любая фальшивая нота находится по меньшей мере в одном шаге от верной. Импровизация никогда не будет хорошей, если музыкант, взяв фальшивую ноту, не знает, что ему делать дальше. Когда рядом твоя группа, а впереди публика, эта гадкая нота способна вогнать тебя в полный ступор. Фальшивые ноты бывают даже у мастеров. Но они лихо выходят из положения, и слушатели даже на подозревают, что все произошло спонтанно.
Мы все обречены допускать ошибки на работе. В конце концов, мы всего лишь люди. Мы делаем ошибки в коде, заставляющие клиентов выполнять трассировку стека. Мы загоняем себя в угол критическими дизайнерскими ошибками. Или еще хуже - мы говорим неправду членам нашей группы, начальству и заказчикам. Мы даем невыполнимые обязательства или претендуем на отсутствующие у нас умения. Мы можем случайно дать коллегам неудачный совет по поводу решения технической проблемы, вынудив их впустую потратить время.
Так как все мы делаем ошибки, мы даем право на ошибку другим. И в разумных пределах не судим друг друга за оплошности. Суждение о человеке выносится по тому, как он разбирается с этими неизбежными ошибками.
В случае технической, информационной или проектной ошибки применимы следующие правила.
♦ Озвучивай проблему сразу же, как только ты о ней узнал. Не пытайся ее скрыть. В разработке и тестировании программного обеспечения обнаруженные на ранних стадиях ошибки создают куда меньше проблем, чем ошибки заключительного этапа. Чем раньше ты озвучишь свой промах, тем менее негативные последствия он будет иметь.
♦ Бери вину на себя. Не пытайся найти козла отпущения, даже если у тебя есть хорошая кандидатура на эту роль. Даже если ты не полностью виноват в ситуации, возьми ответственность на себя и двигайся дальше. Важно миновать эту точку как можно быстрее. Проблема должна быть решена. Затянувшийся поиск виноватых только отодвинет этот момент.
♦ Предлагай решение. Если ты его не знаешь, предлагай план поиска решения. Оперируй реальными и конкретными сроками. Если по твоей вине работа группы зашла в тупик, ограничь временные рамки решения проблемы и дай оценку требуемых на устранение проблемы усилий. На этой стадии важны конкретные, достижимые цели, пусть даже небольшие. Они не только инициируют процесс перехода от плохого к хорошему, но и помогут восстановить доверие.
♦ Проси помощи. Даже если вина за возникшую проблему лежит целиком на твоих плечах, не позволяй собственной гордости усугубить ситуацию, отказавшись от помощи. Коллеги, руководство и заказчики увидят тебя в более позитивном свете, если ты сможешь сохранить здравый подход, отставив в сторону эгоистические соображения, пока группа помогает тебе с поиском выхода. Зачастую наше чувство ответственности заставляет взвалить себе на плечи слишком тяжелую ношу и непродуктивно тратить силы, пока кто-нибудь не вмешается в ситуацию.
Вспомни последний случай, когда тебя плохо обслужили в ресторане. Например, ты долго ждал заказ и в конце концов официант принес не то блюдо. Вспомни, как официант отреагировал на твою жалобу.
Стрессовая ситуация дает прекрасную возможность для формирования лояльности.
В данном случае оправдания или попытки обвинить повара являются неверной реакцией. Не стоит ему и уходить, чтобы повторить заказ, после чего стараться не попадаться тебе на глаза, пока ты умираешь с голоду и недоумеваешь, когда же, черт возьми, тебе принесут еду. И уж совершенно точно официанту не нужно ставить на стол не то блюдо, заранее зная, что заказ выполнен неверно, но надеясь, что ты либо не заметишь, либо не станешь жаловаться.
Реакция фирмы в случае допущенной ошибки порой оказывается ключевым фактором в деле формирования (или разрушения) лояльности. Правильная реакция на ошибку может сделать нас более лояльными клиентами, чем мы могли бы быть при отсутствии проблем с сервисом. Вспомни об этом правиле при работе со своими заказчиками, когда тебе случится сделать ошибку.
Совет 30
Умей говорить "нет"
Самый быстрый путь к невыполнению обязательств - непосильные обязательства. Несмотря на очевидность этого утверждения, мы берем их на себя каждый день. Попав в затруднительное положение, мы не хотим разочаровывать начальство и соглашаемся сделать нереальную работу за нереально короткий срок.
Говоря "да", чтобы избежать разочарования, мы попросту врем.
Говорить "да" - затягивающая и вредная привычка. Причем вредная привычка, выдающая себя за полезную. Но есть большая разница между установкой на выполнение задания и введением в заблуждение по поводу своих возможностей. Последнее создает проблемы не только тебе, но и тем, кому ты раздаешь обещания. Если я (как твой начальник) интересуюсь, можешь ли ты к концу месяца модернизировать подсистему мониторинга грузов в программе учета заказов нашей фирмы, конец месяца, скорее всего, назван не случайно. Возможно, кто-то попросил меня сделать это к указанному сроку. А, возможно, на систему учета заказов завязаны важные изменения в деловой сфере, которые мы пытаемся внедрить. Воодушевленный твоей уверенностью в реальности выполнения работы к концу месяца, я, в свою очередь, уверяю заказчиков, что все будет готово.
В подобной ситуации "да" равноценно лжи. Я не считаю такую ложь преднамеренной. Мы лжем себе ровно в той же степени, что и людям, которым мы раздаем обещания. В конце концов, отказывая, мы чувствуем себя неловко. Мы запрограммированы на постоянный успех. И признаваясь, что мы чего-то не можем, мы чувствуем себя неудачниками.
Но мы не в состоянии усвоить, что ответ "да" далеко не всегда правильный. А ответ "нет" редко бывает неверным. Я говорю о необходимости усвоить этот факт, потому что внутри себя мы понимаем его истинность. Если уж на то пошло, вряд ли кто-то хочет сам пострадать от фиктивных обязательств.
Неумение отказывать является частью индийской культуры. С этим сталкиваются фирмы, не имеющие опыта в переносе рабочих процессов за границу с применением местной рабочей силы. Со временем у них появляется нюх на неопределенность и вырабатывается способность задавать правильные вопросы. Многократное "нужен еще один день, и все будет готово" естественным образом заставляет копать глубже. И с подобным приходится сталкиваться не только в области информационных технологий. В Бангалоре мне пять раз пришлось ждать установки кабельного модема, и я ее так и не дождался. Оказалось, что первые три раза компания, которая принимала мой заказ, не имела даже нужных комплектующих. Но они не хотели меня разочаровывать. Я сообщал о своих надеждах получить кабельный модем на следующей неделе, и мне обещали сделать к указанному сроку, прекрасно зная, что это физически невозможно.
В основе такого поведения лежало вполне положительное намерение, но его последствия были негативными. В конечном счете я высказал монтажникам все, что о них думаю, и даже заставил прийти ко мне в воскресенье для выполнения работ. Я уже не верил обещаниям, что все будет установлено "завтра, после праздников". Постоянно нарушаемые обязательства не оставили ни единого шанса, что я в них поверю. Более того, у меня появилось по отношению к ним враждебное чувство.
А что случится, если тебя попросят выполнить важную работу, а ты ответишь отказом? Как руководитель местной и офшорной групп могу сказать, что приму такой ответ с чувством облегчения. Умение подчиненного сказать "нет" дает мне уверенность, что когда он говорит "да", он на самом деле это подразумевает. Обязательства такого человека заслуживают большего доверия и имеют больший вес. Если он действительно выполнит взятые на себя обязательства, в следующий раз я не буду задавать дополнительных вопросов, если он ответит мне отказом.
Человек, всегда говорящий "да", либо обладает невероятными способностями, либо лжет. Чаще всего действительности соответствует второй вариант.
Бывают ситуации, когда уместно ответить "я не знаю". Это может быть ответом на вопрос о сроках выполнения задания, если перед тем как взять на себя обязательства, тебе требуется время для знакомства с фронтом работ. Кроме того, тебя могут спросить о принципе, лежащем в основе технологии, или о способе реализации какого-то фрагмента кода. Как и в случае с обязательствами, незнание ответа заставляет чувствовать себя непрофессионалом. А претензии на осведомленность в рассматриваемой области заставляют коллег и начальство сильнее верить в тебя. Но при встрече с настоящим специалистом обрати внимание, что он не боится признавать ограниченность собственных познаний. Фраза "я не знаю" не означает неуверенности в себе.
Подобное же мужество требуется в ситуации со спускаемыми сверху решениями. Сколько раз нам приходилось сталкиваться с продиктованными начальником технологическими решениями, заставляющими членов группы тихо сидеть за столом, разглядывая собственные ногти, и ждать возможности покинуть зал совещаний, чтобы тихо поплакаться друг другу? Начальники часто становятся жертвами феномена "голого короля". Все понимают, что решение плохое, но никто не решается возразить. Как руководитель, я все время принимаю решения или даю настоятельные рекомендации. Но я нанимал работников не для слепого исполнения моей воли. И моим надежным помощником может стать только тот, кто не боится выступить и предложить лучший вариант.
Но не переусердствуй с количеством отказов. Исполнительность по-прежнему в цене, и здорово, когда человек готов взять на себя повышенные обязательства. Если ты не уверен, что справишься, но хотел бы попробовать, так и скажи. "Это будет сложная задача, но я хотел бы попробовать" - великолепный ответ. Хотя порой лучше ограничиться простым "да".
Имей смелость быть честным.
Действуй!
1. Наш рецензент Карл Брофи предложил вести список взятых на себя обязательств.
♦ Что тебя попросили сделать к определенному сроку?
♦ Что ты пообещал?
♦ Если что-то не получилось выполнить, запиши, что ты думал и на что тебе пришлось согласиться.
♦ Запиши дату выполнения.
Читай этот список каждый день. Если станет понятно, что такие-то обязательства выполнить в срок не удается, сразу же проинформируй об этом. Каждый месяц оценивай свой коэффициент успеха. Как часто ты выходишь победителем?
Совет 31
Не паникуй
Карьеру программиста я начал из-за видеоигр. Интерактивные приключения с эффектом присутствия очаровали меня еще во времена Commodore 64 с его видеолентами. Я стеснялся своего пристрастия, но теперь понимаю, что нечего было стыдиться. Компьютерные игры превращали невыразительные картинки, которые я видел на экране (полагаю, это был интерфейс операционной системы), в среду, где мне было комфортно и интересно.
Моя любимая игра на все времена - Doom от id Software. Я был в восторге от одиночного прохождения, дуэлей с реальными игроками и "боев насмерть". Компьютеры соединялись по модему или через последовательный порт, и игроки сражались друг с другом на небольших, быстро меняющихся площадках. Я достиг больших успехов в "боях насмерть". Я часто шучу, что, может быть, это и сейчас единственное, в чем я достиг максимального успеха. Игра в этом режиме удивительно сложна. Как с технической, так и с психологической точки зрения она напоминает безумную смесь шахмат с фехтованием на повышенной скорости.
Для повышения своих навыков полезно наблюдать за работой мастеров. Во времена моего активного увлечения Doom был один такой мастер, выступавший под ироническим псевдонимом Noskill (Неумеха). По факту он был главным чемпионом в Doom. Игроки из Северной Америки платили за междугородные телефонные соединения, чтобы попытать счастья в бою против него. Эти матчи записывали при помощи встроенной в Doom программы. И я посмотрел их все.
Очень скоро я понял его секрет. Разумеется, он был очень сильным игроком, но ключом к его успеху была способность никогда не паниковать. Специфика Doom такова, что матч может закончиться буквально за несколько секунд. Все происходит очень быстро. Я помню мой первый "бой насмерть". Спаун, смерть, спаун, смерть, спаун, смерть. Когда у меня наконец получилось выжить больше, чем две секунды, оказалось, что я бесцельно бегу, не в силах понять, где нахожусь.
Noskill никогда так не поступал. Просматривая записи его матчей, понимаешь, что какой бы сложной ни была окружающая обстановка, он всегда оставался спокойным и продумывал свой следующий шаг. Казалось, он всегда знал, как текущая ситуация вписывается в общую канву матча.
Герои никогда не паникуют.
Если посмотреть другие игры, и в частности на спортивные состязания, ты увидишь, что лучшие игроки тоже обладают этим качеством. Более того, оно свойственно даже восхищающим нас персонажам книг, фильмов и телепередач. Герои никогда не паникуют. Это люди, которые даже при падении на их город атомной бомбы или при крушении самолета смогут собрать всех в группу, помочь выжившим, перехитрить врага или по крайней мере не будут тратить время на бесполезные рыдания.
Это распространяется и на реальную жизнь. Вопреки самым лучшим планам моя профессиональная жизнь была чередой чрезвычайных ситуаций и бедствий. Проекты запускались слишком поздно. Приложения падали, что стоило моим работодателям денег и доверия. Я сказал не те слова не тому вице-президенту и нажил политического врага. Все эти неприятности в основном шли волнами, а не по отдельности.
Хуже всего было, когда я впадал в панику. Я запирался и в лучшем случае мог размышлять тактически. Я реагировал на каждый небольшой сигнал, не пытаясь рассмотреть картину в целом.
Оглядываясь на все эти неприятности, я должен признать: ни одна из них не оказала значительного влияния на мою карьеру. Хотя я воспринимал все эти ситуации через призму моей паники, депрессии и расстройства как катастрофические, ни одна из них не привела к реальной катастрофе.
Что мне дала паника? В чем было преимущество негативной реакции во всех этих случаях? Да ни в чем. На самом деле паника лишала меня возможности проявлять свои лучшие качества в моменты, когда это было действительно нужно.
Но должен признать, что совет не терять головы в стрессовых ситуациях проще дать, чем ему последовать. Все равно что сказать человеку "просто будь счастливым". Разумеется, это хороший совет, но как им воспользоваться? Как не впасть в панику, когда кажется, что все вокруг рушится? Чтобы ответить на этот вопрос, нужно немного подумать, почему мы паникуем.
Мы паникуем, потому что теряем перспективу. Когда что-то идет не так, сложно сосредоточить на проблеме все свое внимание. До определенной степени такая концентрация помогает в поиске решения. К сожалению, она заставляет проблему, вне зависимости от ее реального размера, казаться более важной, чем она есть на самом деле. И по мере того, как проблема раздувается, растет уровень стресса и наши мозги отключаются.