что делать если не получается программировать

Я застрял! — 5 советов как выйти из ступора и начать программировать

Авторизуйтесь

Я застрял! — 5 советов как выйти из ступора и начать программировать

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

Подготовка

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

Картинка с сайта https://skillbox.ru/media/management/pomodoro/

Начало работы

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

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

Главное правило при встрече с багом — не паникуйте. Просто попробуйте сделать следующее:

Понимание

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

Применяйте знания на практике

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

Источник

Программирование — это сложно

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

Программирование легкодоступно

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

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

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

Программирование — это любопытное сочетание творчества и точных наук; но никто и никогда не говорил, что творчество — это «просто». Некоторые вещи легко осваиваются некоторыми людьми, другие сложны для понимания.

Некоторые аспекты программирования просты

Да, в этом можно не сомневаться: отдельные аспекты просты. Существуют вещи, которые вы можете сделать, в конечном итоге получив, например, скелет приложения для блога. Любой (под опытным руководством) может сделать профессионально выглядящую веб-страницу за первые часы изучения HTML. Можно легко задать вопрос и найти решение на StackOverflow, можно запросто скопипастить решение на свои веб-страницы.

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

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

Большинство аспектов программирования сложно

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

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

Самозванство и мошенническое позитивное мышление

Как часто вы слышали о синдроме самозванца? Если вы слушаете выступление на тему «программирование — это просто», то, вероятно, слышали о нём, и часто на эти темы говорят одни и те же люди. Синдром самозванца — это когда человек чувствует себя недостаточно компетентным для работы, за которую ему платят, и ощущает, что он не заслужил свой успех; но слышали ли вы о случаях, когда люди на самом деле сталкивались с кажущимся непродуктивным топтанием на месте, при котором им приходится исправлять или совершенствовать результаты собственной работы, или когда они не могут быстро найти ответ на Stack Overflow. Чаще всего я слышу о самозванцах в программировании, когда их терпение лопается, когда они больше не могут соответствовать нереалистичным стандартам, которые они создали для себя, когда они не могут двигаться вперёд со скоростью, к которой привыкли. (У меня есть собственные претензии к синдрому самозванца, но об этом в другой раз.)

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

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

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

И чтобы создавать ложный имидж в этой сфере, даже не нужно быть абсолютным лжецом. Достаточно играть с чувствами людей. Например, говорить им нечто ошибочное, что люди хотят слышать. Нужно подобрать ключевые слова, которые будут льстить большинству аудитории; «программирование» — это одно из них, потому что программирование — крайне размытое понятие, а получить звание «программист» желают многие, так же, как и звание «сениор», к которому стремятся люди, мечтающие стать сениорами в свои двадцать с небольшим лет. Нужно найти ярлык, лестный вашей аудитории, и применить его к ней. Именно так мы получаем лозунг «программирование — это просто» (это не так), или «HTML — это язык программирования» (это не так), или «программирование — это мастерское пользование поиском в Google/StackOverflow».

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

Давайте обсудим мои примеры. На объяснение лозунга «программирование — это просто» мне уже понадобилось 1385 слов, а статья ещё не закончена. Объяснить «HTML — это язык программирования» в чём-то сложнее из-за нечёткого значения термина «программирование». Строго говоря, HTML не является реальным программированием, это язык представления разметки. Он является неполным описанием того, как выглядит и что содержит веб-страница. HTML — обязательный для любого связанного с вебом проекта инструмент, но он не используется изолированно, программирование происходит не на нём. Но если кто-то говорит вам, что HTML — это язык программирования, то обычно защищает своё заявление тем, что гейткиперы ограничивают значение слова «программирование». При этом говорящие это редко заинтересованы в изучении истинного значения собственных слов. Как я говорил, «программист» — это звание, и подобно другим почётным званиям, оно заставляет людей, особенно некомпетентных, защищать его.

Иллюзия «я могу сделать то же, что и ты»

С заявлением «программирование — это мастерское пользование поиском в Google/StackOverflow» всё сложнее. Потому что это и правда, и ложь одновременно. Мастерское владение поиском в вебе — очень важный навык современного разработчика. Я учился в мире, где этого ещё не было, где не существовало Google, где человеку нужно было изучать документацию и иногда читать сотни страниц, чтобы понять, как всё работает. И это если документация была; в противном случае приходилось только пробовать, терпеть неудачу и пробовать снова. Однако сегодня пробовать не нужно, существуют готовые тулкиты, библиотеки или языки программирования (и даже их коммерческие версии), чётко заточенные на поиск ответа. Документация теперь предназначается не для чтения пользователями, а для индексации поисковыми движками и для того, чтобы люди работали с ней при помощи поисковых движков. Однако больше всего современные инструменты полагаются на сайт ответов Stack Overflow.

На самом деле, зависимость людей от Stack Overflow — это, вероятно, самое пугающее, что произошло с сообществом программистов за последние 10 лет. Stack Overflow — это мощный костыль, мешающий вам двигаться самостоятельно, потому что слишком легко искать ответы на нём. А когда люди перестают мыслить самостоятельно, то начинают писать неразумные вещи.

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

Утверждение «программирование — это просто» не даёт людям развиваться

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

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

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

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

Автор первого твита сказала что-то в духе «люди считают меня умной, потому что я программист» и «главное в гуглении и исправлении своих ошибок». Но на самом деле программирование не об этом, и такой преувеличенный, ограниченный взгляд говорит мне, что её опыт в разработке ПО достаточно мал. И знаете, что пугает? Она работает над сайтом под названием «thecodinginterview.com», то есть является популярным источником советов для начинающих. И я даже не хочу начинать тему того, насколько аморально это мошенничество с «coding interview».

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

Установка «программирование — это сложно» не должна быть пугающей

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

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

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

Но не говорите ему, что программирование — это просто. Это не так.

На правах рекламы

Заказать у нас сервер очень просто! Воплощайте любые идеи и проекты с помощью наших VDS с мгновенной активацией на Linux или Windows. Сервер готов к работе через минуту после оплаты!

Источник

Как программировать если совсем не хочется? План спасения на случай перегорания или дедлайна

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

План написан под программиста (меня), да и вообще, в исходном виде подойдет не всем. Советую модифицировать этот план под себя.

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

Предисловие

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

План действий

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

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

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

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

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

Привожу сам план действий.

#1 Работать над самим проектом
Самое важное, в чем в идеале заключается рабочий процесс — работать над бизнес-проблемой, пытаться реализовать требуемый функционал. Это то, к чему мы стремимся.

#2 Подумай как сконцентрироваться
Макс. время: 1 час.

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

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

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

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

#4 Необязательные дела по дому
Макс. время: 2 часа.

Это такие дела, как готовка, уборка, поход в магазин. Они так высоко в списке приоритетов, потому что могут повысить концентрацию (выкинув их из головы, когда ты их уже сделал).

#5 Общение
Макс. время: 1 час.

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

#6 Медитация или тренировка
Макс. время: 1 час.

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

Теперь переходим к самому интересному, то, что касается рабочего процесса.

#7 Рефакторинг
Макс. время: 3 часа.

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

#8 Упрощение тестирования и отладки
Макс. время: 3 часа.

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

#9 Работа над сторонним функционалом проекта
Макс. время: 2 часа.

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

#10 Ревью кода проекта и документация
Макс. время: 1 час.

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

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

#11 Поработать над своей библиотекой
Макс. время: 2 часа.

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

#12 Кодинг как хобби
Макс. время: 2 часа.

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

#13 Чтение для мотивации
Макс. время: 1 час.

Можно попробовать почитать мотивирующую книгу или статью на хабре и потом приступить к работе. Если не удалось приступить — нет смысла продолжать читать для мотивации дольше часа.

#14 Чтение для образования
Макс. время: 2 часа.

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

Книги читай, только если сможешь ограничить себя во времени, но вообще лучше всего — справочники. В моем случае, по unity, android, xamarin, asp.net, webpack.

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

#15 Просто поразмышляй как программист
Макс. время: 1 час.

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

#16 Отдых
Увы, но не всегда выходит следовать даже самым простым сценариям. Если это так — пора отдохнуть. Но к отдыху тоже есть свои заметки:

Дополнительные методики и советы

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

Работать по таймеру
Беспрекословно следовать Pomadoro не стоит, но вот работа по таймеру в целом выходит продуктивней. Например, обязательно 2 часа на сценарий #1, потом час на сценарий #7.

Организуй буткемп
Если работать с еще одним человеком — будет проще заставлять себя работать. Главное не терять концентрацию.

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

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

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

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

Энергетики — очень редко можно использовать, если идеальное пищеварение и нет кофеиновых отходняков.

Никотин убивает мотивацию. Бросать во время дедлайна — не имеет смысла. Курить желательно только с момента, когда уже что-то сделал за сегодня.

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

Если работаешь ночью или уставшим — плотно есть не стоит, уснешь.

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

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

Режим сна
Он почти всегда имеет главный приоритет. Единственное исключение — дедлайн проекта.

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

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

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

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

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

Лучше включать осты из игр, я например слушаю Silent hill, Transistor, Hades, Pyre, Assasins Creed, Witcher, Detroit.

Если много энергии — Minecraft, Firewatch, LOU, Thief.

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

Душ
Иногда душ может помочь почувствовать себя получше. Именно душ, ванна — слишком долго и потянет в сон.

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

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

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

Метод не эффективен при сильном недосыпе и усталости.

Дневник
Ведение дневника может помочь избавиться от стресса и разложить все по полочкам. Но делать слишком длинные записи чаще, чем 2 раза в неделю, тоже нет смысла.

Постоянное повышение продуктивности ведет к выгоранию
Если на протяжении многих дней ты все время повышал продуктивность — неизбежно наступит момент, когда еще повысить ее уже невозможно (очень сложно). Это может расстраивать, в такой момент лучше устроить 1-2 выходных, чтоб обнулить результат и любой следующий день казался продуктивней.

Примеры применения плана

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

6 часов

Сценарий Время
Медитация/тренировка 0:30
Чтение 0:30
Ревью кода проекта 0:20
Работа/рефакторинг 1:00
Перерыв 0:15
Работа/рефакторинг 1:25
Перерыв 0:20
Работа/рефакторинг 1:40

4 часа

Сценарий Время
Медитация/тренировка 0:15
Чтение 0:20
Ревью кода проекта 0:20
Работа/рефакторинг 1:00
Перерыв 0:15
Работа/рефакторинг 1:50

2 часа

Сценарий Время
Чтение 0:15
Ревью кода проекта 0:20
Работа/рефакторинг 1:25

Заключение

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

Буду очень рад почитать ваши методики борьбы с прокрастинацией в комментариях.

Источник

Операционные системы и программное обеспечение