Концентрация не поможет вам стать продуктивным программистом

Перевод статьи Итамара Тернер-Трауринга “Staying focused won’t make you a productive programmer”.

Как ваши цели помогают вам сохранять концентрацию

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

Поэтому вы надеваете противошумные наушники, читаете свою почту только раз в день, пользуетесь “приемом помидора” и фокусируетесь исключительно на своем коде — но все равно вы недостаточно продуктивны. Ваш коллега через коридор пишет код не быстрее вас, но все равно ему как-то удается делать больше. Вы знаете это и ваш менеджер знает это.

Почему?

Потому что концентрации недостаточно для повышения продуктивности. Зачастую даже наоборот: концентрация является побочным продуктом того, что делает вас продуктивным.

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

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

Краткий визит в военную тюрьму

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

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

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

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

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

Мораль истории

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

Оба случая были хороши, потому что оба вели меня к моим целям:

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

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

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

Ключом к достижению ваших целей, к продуктивности и сохранению концентрации является понимание своих целей и усердная работа над их достижением.

Как ваши цели помогают сохранять концентрацию

Как использовать цели для сохранения сосредоточенности?

  1. Определите цели для своей задачи.
  2. Подкрепите свою мотивацию.
  3. Взвесьте каждую часть своей работы имея в виду свои цели.

1. Определение целей

Начните с крупного плана: почему вы работаете на этой работе? Ваши цели могут включать:

  • Деньги. Получение зарплаты, позволяющей оплачивать кров и стол.
  • Социальное давление. Вы хотите, чтобы ваши коллеги и начальство хорошо о вас думали.
  • Цели организации. Вы верите в то, что делает компания..
  • Чувство долга. Вы хотите помочь вашим потребителям или пользователям.
  • Созидание и игра. Решение сложных проблем это интересно.
  • Любопытство. Учиться тоже интересно.

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

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

  1. Деньги. Я работаю, чтобы получать деньги.
  2. Цели организации. Я работаю здесь потому что считаю помощь людям в поиске дешевых и удобных авиарейсов достойным занятием.
  3. Цель задачи. Этот баг нужно исправить, потому что он мешает пользователям находить самые удобные рейсы по определенным маршрутам.
  4. Удовольствие. Этот баг включает сложную проблему С++, поэтому мне нравится работать над его устранением.

2. Укрепление мотивации

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

  • Если вы работаете на компанию, чьи цели не много значат для вас, то вам будет тяжелее концентрироваться. Подумайте о поиске другой работы, где вы будете болеть душой за то, что делаете.
  • Если после тщательных поисков вы поняли, что ваша задача бесполезна, вы можете попытаться отделаться от нее (пометить баг как WONTFIX, сходить поговорить с менеджером), постараться добавить дополнительную мотивацию (может, это хорошая возможность узнать что-то новое?) или просто жить с ттем фактом, что реализация займет у вас больше времени.

3. Оценка своей работы

Понимание целей поможет вам в борьбе не только с мелкими отвлечениями (шум, TV Tropes), но также и с крупными. Сюда относится отвлечение на вроде бы полезные задачи, но над которыми не стоит работать прямо сейчас. При решении своей задачи вы можете пользоваться своими целями для определения того, стоит ли заниматься новой потенциальной подзадачей.

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

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

Начните с ваших целей

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

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


[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх