Сосредоточенность и погружение — тайное оружие суперпрограммиста

Перевод. Автор статьи: Бар Франек.

Сосредоточенность и погружение — тайное оружие суперпрограммиста

Или как стать одним из тех высокооплачиваемых «10-кратных ниндзя-рок-звезд-разработчиков», за которыми охотятся софтверные компании.

Возможно, вы только подрабатываете разработкой ПО или числитесь «джуниором» и хотите, чтобы вас заметили и продвинули. Возможно, вы — ведущий разработчик в большой компании, но хотите уйти от корпоративной скуки в стартап (или наоборот). Может быть, вы только что закончили вуз и еще не успели найти работу.

Из книги Кэла Ньюпорта «В работу с головой»:

«Теорема углубленной работы: способность погружаться в работу становится все более редкой как раз в то время, когда она приобретает все большую ценность для экономики… те немногие, кто сможет выработать в себе это умение и затем сделать его основой своей трудовой жизни, добьются успеха на своем поприще». — «В работу с головой», стр. 23

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

Как я перестал бояться кода и стал ведущим разработчиком

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

Сначала всё к тому и шло. После вуза я основал компанию, которая занималась графикой и веб-дизайном; мы обслуживали небольшие местные предприятия. Я профессионально владел Фотошопом и знал HTML и CSS достаточно хорошо, чтобы представлять опасность.

Но чуть что более сложное — пусть даже одна строка на PHP — и приходилось искать программистов.

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

«Одно неправильное нажатие клавиши — и проект клиента может сгореть дотла…» — так мне казалось. И я не так уж сильно ошибался, честно говоря (до распространения систем контроля версий, во времена повального FTP пути назад не было).

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

Как мне удалось проделать такой путь за несколько лет?

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

Программирование — это искусство

Программирование — это во многом творчество.

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

Вы воплощаете в жизнь то, чего еще нет — не краской и не словами, но кодом (ну ладно, какими-то словами вы тоже пользуетесь — если они не зарезервированы).

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

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

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

Практический опыт помогает совершенствовать профессиональные навыки. Но если научиться работать эффективнее, вы сможете еще повысить свой уровень — и при этом очень быстро.

Стать «10-кратным» разработчиком — это реально

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

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

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

Это умение — не врожденная способность, и его нельзя просто так «включить», — но его можно и нужно тренировать.

Мне много раз приходилось выступать в роли нанимателя, и я могу с уверенностью сказать: любая компания с радостью возьмет себе целую команду таких «10-кратных программистов». Но это, к сожалению, невозможно.

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

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

Найти талантливого сотрудника тяжело.

Большинство компаний с руками оторвут «10-кратного» разработчика, но будут рады нанять и 5-, 2- и даже «1-кратного».

Говоря «1-кратный» (ага, я придумал термин), я имею в виду того, кто может выполнять ровно ту работу, для которой его наняли — не больше, но и не меньше. И я не шучу: любая компания будет в восторге заполучить такого работника, ведь ошибка найма может обходиться в астрономические суммы.

Сосредоточенность и погружение: усиливаем навыки программирования в два этапа

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

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

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

Вы, черт побери, сможете выжить.

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

Тяжело в учении — легко в бою

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

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

Будет трудно, придется приложить усилия — и это нормально. Мы начнем с малого.

Не путайте занятость с продуктивностью

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

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

Это как лупа и солнце.

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

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

Этап первый: избавляемся от отвлекающих факторов

Многозадачность — это враньё. Если вы считаете, что можете писать качественный код, постоянно проверяя сообщения в Слаке или читая новости — вы обманываете себя.

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

«Круто, кто-то лайкнул, что я видел Гамильтона» — ну да, круто, но это мешает вам сосредоточиться.

Отсутствие отвлекающих факторов — главное условие сосредоточенной работы.

  • Переведите телефон в беззвучный режим или выключите его — если от вас не требуется быть на связи. Не зависать в телефоне мне помогает приложение Forest. Но положить телефон экраном вниз так, чтобы нельзя было дотянуться рукой, — тоже неплохо.
  • Закройте Слак. Это особенно верно в моем случае: у меня обсессивно-компульсивное расстройство, которое выражается в том, что я постоянно чищу очередь непрочитанных сообщений, большинство из которых — шум, поэтому мне при работе лучше закрывать Слак.
  • Закройте остальные приложения, которые будут отвлекать уведомлениями — например, Outlook.
  • И самое сложное: закройте окна браузера, не относящиеся к задаче. А теперь — заблокируйте любимые сайты. Тут я бы посоветовал HeyFocus (за 20 $), но есть и множество бесплатных расширений.
  • Наденьте наушники — это помешает другим отвлекать вас (надеюсь). Кроме того, многократное прослушивание одного и того же альбома отлично помогает сосредоточиться. Музыка поможет и начать (сигнализируя мозгу, что пришло время поработать) и держаться в потоке (создавая хорошее настроение). В общем, многие разработчики активно этим пользуются.

Этап второй: метод помидора (тайное оружие)

Уже успели ужаснуться тому, что не сможете работать восемь часов, не отвлекаясь? Расслабьтесь: мы разобьем день по методу помидора.

Есть множество методов повысить продуктивность, но мой любимый — метод помидора. Ниже я коротко перескажу его суть.

Если вам интересно более формальное описание — читайте книгу «Метод помидора»: там есть и подробности, и правила.

Работайте отрезками по 25 минут (один «помидор»)

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

Пользуйтесь таймером. Раньше у меня были классические песочные часы. Если хотите стать истинным «помидорщиком» — купите кухонный таймер-помидор

Делайте пятиминутные перерывы

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

В одном «помидоре» — одна задача

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

Если задача слишком большая (например, «сделать приложение»), нужно разбить ее на фрагменты, которые займут примерно 25 минут.

На выполнение некоторых задач потребуется несколько «помидоров». На написание функции может потребоваться три «помидора», еще два — чтобы написать тесты.

В один «помидор» можно включить и несколько мелких похожих задач (например, отписаться по пяти задачам в Джире).

Суть в том, чтобы задача (или задачи) представляли собой работу одного «типа».

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

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

Не отвлекайтесь от работы

См. этап 1. Если вы отвлеклись, текущий «помидор» не считается — заводите таймер снова.

Начните с меньших промежутков и дойдите до 25 минут

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

Если дело пойдет хорошо, можно прокачаться и до промежутков в 55 минут.

Дойдите до нескольких «помидоров» в день

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

Как это улучшит профессиональные навыки?

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

Вам (да и вашим коллегам) может казаться, что вы заняты, и вы даже время от времени можете выдавать какой-то код.

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

Начните с одного «помидора». Через некоторое время у вас получится сделать несколько «помидоров» подряд.

Затем вы сможете «помидорить» несколько дней подряд.

А потом — несколько недель и даже месяцев.

Вскоре вы заметите, что легче и чаще входите в «поток».

В этом и была наша цель. Моменты, когда случаются озарения и хочется кричать «Эврика! Эврика!» — это самое главное.

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

И ваш профессиональный уровень начинает расти по экспоненте.

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

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

Перевод статьи выполнен в Alconost.

Alconost занимается локализацией игр, приложений и сайтов на 70 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.

Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.

5151
29 комментариев

Лол, очередная фантазия на тему "программирование - это искусство". Программирование - это работа, которая, как и любая другая работа, начинает заёбывать. "Искусство" может где-то и есть у топовых разработчиков топовых фирм, а ты, %username%, скорее всего будешь простым ремесленником. Если пишешь код, то большую часть времени скорее всего выполняешь однообразные задачи

ЗЫ
Во время работы от прослушивания музыки перешёл к аудиокнигам, одно время, пока работал из дома, включал какое-то видео на фоне. Потому что просто надоедает сидеть в кресле перед компом от 8 часов в день и втыкать в код

16
Ответить

Лол, очередная фантазия на тему "программирование - это искусство"Скорее, очередная фантазия на тему "пять правил жизни миллиардеров, которые позволят вам стать богатым, успешным и знаменитым".
С обязательными задвигами про МОТИВАЦИЮ и САМОРАЗВИТИЕ НЕ МЕНЕЕ ТРЁХ С ПОЛОВИНОЙ МИНУТ ИЗ ПОЛУЧАСА.

8
Ответить

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

4
Ответить

Художник - творческая профессия?
Вот у него есть инструменты (краски, холст, кисти и т.п.)
У него есть знание того, что он хочет нарисовать.
Он использует определенную технику рисования для того, чтобы достич результата.
Одну и ту же картину разные художники могут нарисовать так, что ты скажешь, дааа, это картина <такая-то>, но она отличается от вот этой.
Из ничего (на самом деле хуй, всё есть продукт анализа и синтеза входной информации), получается что-то...
А теперь скажи, чем это отличается от программирования?
Нет, не от "напиши сортировку пузырьком", а от программирования в более широком смысле, таком же широком как рисование. Это и архитектура и прогнозирование и еще куча всего. Так что если Ты, да да, конкретно ТЫ, не считаешь что-то чем-то, то это не значит, что так оно и есть.

1
Ответить

Сосредоточенность и погружение - тайное оружие суперпрограммиста.
Внимательной и актуальность - тайное оружие инженера.
Пунктуальность и вдумчивость - тайное оружие дизайнера.
И ещё 50 вещей, которые относятся к любой профессии.

9
Ответить
12
Ответить

Вода какая-то. Вся суть - выруби всё нахер, что не относится к задаче, и работай, не забывая себя поощрять.

4
Ответить