2
Сосредоточенность как средство против прерываний
Сколько раз вы говорили шефу, что можете сделать работу за день, если вас не будут прерывать, а в реальности тратили на нее месяц? Системные администраторы говорят это, потому что их работу над проектом постоянно прерывают как клиенты, так и начальство.
Когда системный администратор говорит, что его постоянно дергают пользователи, это означает, что в действительности он хочет сосредоточиться на своих проектах.
Когда мы сосредоточенны и можем работать не отрываясь, мы способны выполнить любую работу. Сосредоточенность требует усилий. Сосредоточившись, мы справляемся с работой быстрее, а высвободившееся время можем потратить на другие дела или на личную жизнь. Это все равно что отключить от ноутбука лишнюю периферию. Аккумулятор дольше протянет, и вы больше поработаете или поиграете в любимую игру.
Прерывания — исконные враги сосредоточенности. Они прямо и косвенно воруют наше время. Прямые потери времени очевидны: прерывание, отвлекающее нас на t минут, оттягивает завершение работы на t минут. Здесь все ясно. Однако прерывания коварно воруют у нас время косвенным образом. Возвращаясь к работе, вы тратите р минут на то, чтобы сообразить, на каком этапе вы оставили работу. Если вас прервали на третьем шаге многошагового процесса, с какого шага вы должны продолжить — с третьего или четвертого? Выяснение этого является дополнительным занятием, крадущим время у проекта. Признаюсь, что за мою бытность сисадмином самые серьезные технические ошибки возникали, когда из-за прерывания я пропускал какой-то шаг или забывал довести предыдущий шаг до конца. Я, увы, возвращался к четвертому шагу вместо третьего. Если время, необходимое для устранения этих ошибок, обозначить через s, то суммарная задержка в результате прерывания составит t+p+s минут и, вполне возможно, превысит время выполнения задания!
К сожалению, системным администраторам никуда не деться от прерываний. Мы должны решать проблемы наших клиентов — это часть нашей работы. Но попытка сбалансировать решение этих проблем с нашими проектами может привести к возникновению барьеров и напряженности в отношениях с коллегами. Можно сказать, что эта глава учит вас, как сохранять сосредоточенность на проекте и спокойно обрабатывать прерывания.
Сосредоточиться — значит максимально нацелить свой мозг на решение конкретной задачи. Мозг разделен на несколько частей. Передняя часть обрабатывает ваши сиюминутные мысли (если хотите, это ЦПУ и кэш уровня L1/L2), задняя часть содержит то, что вы помните (ОЗУ), а за ней находится часть, хранящая долговременную информацию (ваш жесткий диск). Сосредоточенность относится к той части, которую я ненаучно называю передней частью мозга.
Когда вы сосредоточенны, вы пытаетесь использовать 100 % передней части вашего мозга. Чтобы лучше разобраться в этом, рассмотрим мозг, который ни на чем не сосредоточен. Представьте, что вы пытаетесь сосредоточиться на какой-то задаче, например на написании программы на языке Perl, автоматизирующей некую процедуру. Но в вашем мозгу роятся и мысли о совещании, которое начнется через час, о трех других задачах, которые надо решить сегодня, о молоке, которое надо купить по дороге домой, и о том, что ваш шеф сказал вам утром. Все эти мысли занимают место в передней части вашего мозга, отбирая его ресурсы у программы, которую вы пишете! Как вы думаете, легко ли ей ужиться с тем, чем забита ваша голова?
Вы, вероятно, не думаете, что, стараясь не забыть о покупке молока после работы, отнимаете ресурсы у задачи, над которой работаете, но дело обстоит именно так. Какие-то участки вашего мозга заняты поддержкой этой информации. Аналогичным образом работает динамическая оперативная память. Информация в ней непрерывно регенерируется, иначе она будет утрачена. (Интересно, что при использовании статической оперативной памяти регенерация информации не происходит, но стоит такая реализация намного дороже.) Поддержание памяти передней части мозга в оперативном состоянии — такая же работа мозга, как и любая другая его деятельность.