Многие программисты не получают максимальной отдачи от часов программирования.

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

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

Это возможность для программистов всех уровней.

Как достичь пика и поддерживать его в течение дня? Ответ составляет суть этой статьи. Я называю это «десятирежимным».

По шкале от одного до десяти вы программируете на десять - на пике - вместо пяти, когда вы погружаетесь в мысленный туман и выполняете движения.

В десяти режимах вы можете:

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

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

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

Теперь я не могу представить себе программирование без него.

Ten-Mode в действии

Десять режимов - это интенсивный период качественного сосредоточения на чем-то одном - без отвлечения - с последующим перерывом или периодом расфокусировки.

Он состоит из двух частей: управления своей энергией и управления вниманием.

Это круговой принцип: вы управляете своим вниманием, чтобы полностью сосредоточиться на программировании на определенный период времени. Вы управляете своей энергией, чтобы сделать это снова.

Лучший способ понять десятирежим - увидеть его в действии. Вот пример из моей жизни.

Было 9:30 утра в субботу. Я только что вернулся после двадцатиминутной прогулки на улице: перерыв между двумя сеансами программирования или блоки времени, потраченные на программирование. Я чувствовал себя прекрасно физически и освежился морально.

Я был в десять.

Я запустил Evernote на своем компьютере, чтобы посмотреть, чем буду заниматься следующие два часа. Выглядело это так:

9: 30–11: 30 - программа

→ Создать планшетную версию индексной страницы для проекта веб-дизайна

  • Добавить медиа-запрос на 700 пикселей
  • Убедитесь, что мобильная версия по-прежнему работает должным образом после создания версии для планшета.
  • Последние пятнадцать минут, просмотрите колоду карточек Anki «Python».

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

Громкость на моем iPhone была выключена и скрыта из поля зрения. Все интернет-вкладки, не связанные с проектом, были закрыты. Мои наушники с шумоподавлением были включены.

Больше ничего не имело значения, кроме поставленной задачи.

Но десятирежимный режим имеет свою цену: вы не можете быть на 100% все время.

Итак, как только наступило 11:30, я сделал еще один перерыв. И это подводит нас к первому из двух основных компонентов десятирежимного режима: управлению своей энергией.

Программа как у спортсмена

Во время подготовки к Олимпийским играм 2008 года Майкл Фелпс часто тренировался рано утром, а затем еще раз во второй половине дня, а в перерывах между ними дремал [1].

«Поверьте мне, - пишет Фелпс, - такие тяжелые тренировки утром, а затем и днем ​​- это не роскошь. Это было необходимо ».

Спринтеры не бегают по восемь часов подряд. Питчеры не бросают поля весь день. И Фелпс не плавал весь день.

Как скажет вам большинство спортсменов, простои очень важны.

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

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

В конце концов, мое внимание ускользнет. Моя концентрация будет колебаться.

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

Это происходит потому, что я скатился с десяти до пяти.

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

Встаньте со стула и прогуляйтесь, потренируйтесь или сделайте несколько отжиманий. Когда я управляю своей энергией физически, я повышаю свою умственную энергию.

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

Запланируйте перерывы

«Теоретически делать перерывы - это здорово», - можете подумать вы. «Но у кого есть на них время?»

Решение проще, чем вы думаете: назначьте перерывы в течение дня.

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

Например, мой график перерывов часто выглядит так:

  • 9–9: 20 - прогулка
  • 12–1 - тренировка
  • 3–3: 20 - прогулка

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

Я в десять.

Время, потраченное на разрыв, означает время, которое не было потрачено на программирование. Но это время потрачено не зря.

Вы сможете лучше программировать, если сделаете перерыв.

И вот почему: ваш мозг не перестает работать только потому, что вы это делаете.

Перерывы могут породить новые идеи. Если вам когда-нибудь приходила в голову идея, когда вы занимаетесь чем-то другим, кроме программирования, то вы понимаете, о чем я.

Не случайно вы пришли к своему решению, когда занимались чем-то другим - когда вы не работали намеренно. Может показаться, что крещения возникают из ниоткуда, - объясняет« Scientific American , - но они часто являются продуктом бессознательной умственной деятельности во время простоя».

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

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

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

Делать перерыв полезно. Но не менее важен и сам разрыв.

Прекратите употреблять!

В эту ловушку легко попасть. Я сделал это рано, когда начал программировать.

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

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

Но что интересно, мало что получилось.

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

В результате вы не войдете в следующий сеанс программирования полностью заряженным в десять раз. Так называемый перерыв не принес особой пользы.

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

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

На удивление, мне это очень понравилось.

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

Вместо того, чтобы забивать свой разум чем-то еще, я дал своему мозгу немного времени, чтобы переварить все, что я пережил этим утром. Я вернулся к работе в десять.

Если вы собираетесь программировать, то программируйте. Если вы собираетесь изучить новую тему программирования, изучите ее. Но если у вас перерыв, то сделайте перерыв: займитесь чем-нибудь другим, кроме программы. Сделайте перерывы полезными, чтобы вернуться к работе готовым к работе.

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

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

Затем сделайте перерывы в приоритете. Вы удивитесь тому, что у вас получилось.

Внимание Заппер

Вы занимаетесь программированием, и на экране вашего компьютера появляется новое сообщение Slack. Нажимаешь на нее: на кухне пончики.

Тридцать секунд спустя появляется другое сообщение. У отдела продаж рекордный месяц. Затем ваш телефон издает звуковой сигнал с новым текстом.

Ваше внимание везде и нигде.

Множество прерываний отвлекают и истощают ум. Это проблема для умственной работы, требующей большого внимания, например для программирования.

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

Опять же, давайте подумаем, как работают спортсмены.

Вы когда-нибудь видели, чтобы спринтер пробегал 400 метров во время переписки? Как насчет разыгрывающего, ведущего мяч по площадке в Slack? Или пловец плывет по кругу, просматривая социальные сети?

Конечно, нет.

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

Они не многозадачны; они монотонны: они полностью сосредоточены на своей основной деятельности.

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

Остаток внимания

Цифровые устройства могут быть спасением при правильном использовании.

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

Это урок, который я извлек на собственном горьком опыте несколько лет назад, когда приходил к крайнему сроку публикации статьи.

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

Казалось бы, невинное решение было решающей ошибкой.

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

Неудивительно, что трудно добиться прогресса в одном деле, когда ваш ум сосредоточен на другом. На самом деле, у этого явления есть название.

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

Этот опыт стал для меня поворотным.

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

Быть инициативным

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

Решение простое: проявляйте инициативу, а не реагируйте. Заранее решите, когда вы собираетесь проверять цифровые инструменты на работе, и проверяйте их только в это время.

Таким образом, существует четкое различие: вы либо работаете, либо отвечаете коллегам - вы не делаете то и другое одновременно.

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

Специальные проверки - это лишь часть уравнения. Другая часть - как справиться с этими проверками: дать себе время вернуться к людям.

Требуется больше времени и внимания, чтобы постоянно проверять свою электронную почту или Slack и ничего не делать с сообщениями, содержащимися в них.

Хуже того, это расходует вашу умственную энергию. Вы не хотите, чтобы «остаток внимания» разрушил вашу следующую сессию, потому что вы думаете обо всех людях, которым нужно ответить.

Так что зарегистрируйтесь, ответьте, а затем отпишитесь до следующей регистрации.

Это критический момент: не сидите за цифровыми устройствами весь день.

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

Устраните все возможные отвлекающие факторы, чтобы вы могли вернуться к десяти режимам и качественно выполнить работу.

Это не так срочно

«Но что, если мне действительно нужно что-то знать?» вы можете спросить.

Платформы обмена сообщениями, такие как Slack, заставляют все казаться срочным. Идея состоит в том, что вы можете сразу же связаться с людьми, чтобы они немедленно ответили.

Это часто создает ложное ощущение срочности. Это также разбивает ваше внимание на множество частей. Кроме того, темы, которые на самом деле являются срочными или критическими, не обсуждаются в Slack, по крайней мере, по моему опыту.

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

Меня также никогда не просили проводить в Slack дольше или чаще. На самом деле, самой большой проблемой для меня было избавиться от захватывающего ощущения постоянной проверки цифровых устройств. (Хорошая новость в том, что она утихает.)

Более того, часто эти сообщения не имеют никакого отношения к работе. Это нормально - быть в курсе картинок, шуток, случайных новостей и статусов еды на офисной кухне.

Но на самом деле вам не нужно отвлекаться на эти вещи посреди сложной умственной задачи.

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

Радикальный фокус на краткосрочных целях

Основное преимущество управления своим вниманием - это радикальное сосредоточение на какой-то период времени на чем-то одном.

Вместо того, чтобы забивать голову активностью, вы полностью сосредоточены на одном - на заранее поставленной цели, которую я называю «целью сеанса».

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

Цель сеанса дает вам конкретную цель.

Сказать, что вы будете «программировать на два часа» или «поработать над проблемой», - расплывчато и абстрактно. Напротив, «создать версию индексной страницы для планшета» или «решить« Удалить элемент »на LeetCode» является конкретным и конкретным.

Таким образом, вы покажетесь подготовленным.

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

Догадки были исключены; просто реализуй план.

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

Вы решили проблему? Сколько тестов тебе удалось сдать? Вы создали эту веб-страницу?

У вас будут ответы на эти вопросы - и вы получите больше от ваших часов программирования - когда вы определите цель своего сеанса программирования.

Смена парадигмы

Когда мы думаем о работе на пике, мы думаем, что это что-то, что предназначено для избранных людей, таких как спортсмены или гении шахмат.

Но это просто не так.

Мы, как программисты, должны делать то, что нужно для работы на пике, - программировать в десятирежимном режиме.

Преимущества того стоят.

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

Это также ускорило мое обучение, и легко понять почему: обучение дается немного легче с ясным, отдохнувшим умом.

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

Сноски:

  1. Нет границ Воля к успеху. Майкл Фелпс с Аланом Абрахамсоном. Свободная пресса. 2008 г.

Я пишу об обучении программированию и о том, как это лучше всего делать ( amymhaddad.com).

Эта статья изначально была опубликована на сайте amymhaddad.com.