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

Оленка Пилипчак

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

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

Редакция Highload публикует перевод материала.

Переведено бюро переводов «Профпереклад».

Перевод от

Из книги Кэла Ньюпорта «В работу с головой. Паттерны успеха от IT-специалиста» (в оригинале — Deep Work):

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

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

От боязни кода до ведущего разработчика

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

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

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

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

Как я дошел до этого всего за несколько лет? 🤔

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

Код — это искусство

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

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

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

Да, вы можете стать 10x-инженером (но 5x, 2x и 1x — тоже неплохо)

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

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

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

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

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

«Руководители компаний считают отсутствие квалифицированных программистов одной из крупнейших потенциальных угроз для своего бизнеса» (The Developer Coefficient).

Найти талантливых профессионалов трудно. Большинство компаний вывешивают вакансии для 10x-разработчиков, но будут рады нанять 5x-, 2x- и даже 1x-специалиста.

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

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

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

Итак, двигаемся от джуна к сеньору, от 0,5x к 5x. Точно так же можно успешно реализовать параллельный проект, если у вас на него есть всего 10 часов в неделю.

Черт возьми, это настоящий рецепт выживания!

«Чтобы сохранить ценность в нынешних экономических условиях, нужно освоить искусство быстрого изучения сложных вещей. Эта задача требует погружения в работу. Если вы не развиваете эту способность, скорее всего, быстро отстанете от новых технологий» (Кэл Ньюпорт «В работу с головой. Паттерны успеха от IT-специалиста»).

Умение концентрироваться — тяжкий труд

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

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

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

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

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

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

Шаг 1: убираем все, что отвлекает внимание

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

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

Основа погружения в работу – полное отсутствие отвлекающих факторов:

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

Шаг 2: Pomodoro (секретное оружие)

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

«Что, если я скажу тебе, что ты можешь воспользоваться техникой Pomodoro?»

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

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

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

Используйте таймер. Я раньше пользовался простыми песочными часами. Если же хотите по-настоящему проникнуться техникой, воспользуйтесь таймером-помидором.

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

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

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

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

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

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

Можно и наоборот — объединить мелкие задачи в один «помидор» (к примеру, ответить на пять тасков в JIRA). Суть в том, что они должны быть однотипными.

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

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

Работаем, не отвлекаясь

Смотрите шаг 1. Если вы отвлеклись, «помидор» не засчитывается, и придется начать сначала.

Доводим работу до 25 минут подряд

Работать 25 минут подряд может показаться трудным, если вы раньше никогда не пробовали. Начните с 10 минут и постепенно увеличивайте время, пока не дойдете до 25 минут.

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

Больше «помидорок» за день

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

Не бойтесь начать с малого!

И как это поможет мне улучшить навыки программирования?

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

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

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

Это золотое умение. Именно в эти моменты вас будет осенять. К вам будут приходить гениальные идеи. И то, что вам трудно давалось, вдруг станет проще простого.

И ваши навыки программирования начнут бурно расти.

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

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

Читайте также: Экономьте 20 часов в неделю: как я нашел идеальный инструмент для борьбы с прокрастинацией

Автор: Бар Франек

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023