Бесценный обесцененный опыт

Пришёл домой от терапевта, а значит настало время для ещё одного поста ¯\_(ツ)_/¯
Сегодня расскажу о вреде обесценивания прошлого опыта. Приготовьте там чаю себе, пост длинный.

О чём в этот раз

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

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

Почему это вредно

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

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

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

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

Только разница с чистой флешкой в том, что на ней и страхов тоже нет. Она не боится сделать ошибку, а я в таком состоянии — боюсь.

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

Давай‑ка на примере

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

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

Чувствуете, как быстро дошло до абсурда?

Только снаружи абсурд видно, а изнутри — нет. Изнутри всё получается как‑то стройно, логично и вообще — начинаю себе верить.

Откуда берётся этот голос

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

Так вот. Личность состоит из множества субличностей, которые как‑то пытаются друг с другом коммуницировать. Об этом писал Курпатов в «Красной таблетке», где приводил пример, как поведение людей меняется в зависимости оттого, находятся они рядом со своими родителями или детьми. Разный контекст — разные модели поведения.

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

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

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

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

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

Что советует терапевт

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

Проговаривать страхи вслух

Раз абсурд заметно со стороны, надо слушать себя со стороны. Я уже как‑то писал об этом в посте о неправильных выводах.

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

На ней как бы появляется больше слоёв, из‑за чего она становится более конкретной. Это и помогает найти изъяны.

Осознать свою полезность в прошлом

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

Когда начинается телега с обесцениванием — освежать в памяти эти моменты. Важно: они должны быть мощными, чтобы убедить меня, иначе они тоже обесценятся.

Осознать свою полезность в настоящем

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

Мне нужно определить, кому и как я приношу пользу сейчас. Опять же это должно быть чем‑то мощным, чтобы иметь эффект.

Определить, что пытается донести критик

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

Найти способ коммуникации

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

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

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

Этот символ будет переключателем, который будет давать скрытой субличности «выйти в свет» и сказать, что хочется. У меня это происходит (опять, лол) через заметки в телефоне.

Звучит как какая‑то дичь

Да я и не отрицаю.

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

Почитать на тему

Грязная архитектура

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

Проблема

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

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

Ну и сроки, да. Они всегда горят. Разработчики стали той собакой, у которой «всё хорошо»:

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

Инструменты — это суперздорово, потому что они снимают с разработчиков нагрузку и позволяют сосредоточиться на бизнес‑логике приложения. Хорошо же? Да, хорошо, но только это чё‑то не работает, как задумано.

Мы всё ещё не уделяем достаточно внимания бизнес‑логике, а упарываемся по модным библиотекам (привет, Реакт!) и фреймворкам (привет, Ангуляр!). И спорим, что лучше, что хуже, на чём приложения моднее.

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

Инструмент не должен вообще ничего вам диктовать

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

Не должно быть никаких «Реакт‑приложений» или «Редакс‑приложений», потому что это инструменты. Реакт должен рисовать пиксели на экране. Редакс должен работать с состоянием. Всё.

А как надо, умник?

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

Бизнес‑правила — скелет, вокруг которого наворачивается мясо

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

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

Хорошая архитектура по Мартину это луковица из нескольких слоёв. Ядро — сущности, объекты, которые содержат критичные для бизнеса правила и данные для их работы. На втором уровне — юзкейсы, модели общения между пользователем и сущностями. Фреймворки находятся на самом внешнем слое. 

При грамотно спроектированной архитектуре приложения, вы можете выкинуть Реакт и переписать всё за вечер на Вью. И приложение не поломается, потому что интерфейс зависит от бизнес‑правил, а не наоборот.

А как же фигак‑фигак и в продакшен?

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

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

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

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

Ну и как тогда начать проект?

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

Но за меня на этот вопрос уже ответил Дэн Абрамов в твитере:

Всё зависит от бизнес‑правил. Проектируйте, опираясь на них

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

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

Ссылки

Конспект «Чистой архитектуры»

Дэн Абрамов в твитере

Об эффективном делении рабочего времени

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

Зачем делить день на куски

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

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

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

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

Как бы научная гипотеза, почему так

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

В университетах на БЖД учат что работоспособность зависит от длительности работы. Как видно из графика, работоспособность со временем падает, а после отдыха слегка возрастает.

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

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

Из всего этого я сделал дерзкий (ненаучный!) вывод, что если давать организму часто отдыхать и восстанавливаться, то интенсивность ощущения от монотонности — усталость — должна снизиться.

Подтверждения я нашёл не только в лекциях по БЖД, но ещё и в рассылке Найсэндизи. Меня убедило.

Как делю день я

Рабочий день я делю на блоки по 3–4 часа. Блоков может быть 2, 3 или больше — зависит от загрузки. Если их больше 2, то я снижаю продолжительность последних блоков на час‑полтора.

Между большими блоками я делаю длинные перерывы: ем, меняю место, откуда работаю, просто прогуливаюсь. Обычно хватает 30–60 минут.

Каждый блок я делю на периоды по часу. Периодами удобно измерять задачи и сверяться с планом. В одном блоке получается 2–4 периода, зависит от размера блока.

Каждый период я делю на отрезки по 20–30 минут. Отрезок включает в себя работу и перерыв. Например, отрезок в 30 минут я делю на 20–25 минут работы и 5–10 минут отдыха. Это похоже на помидорки, только я таймер не ставлю.

Иногда я всё‑таки забываюсь, и несколько отрезков сливаются в один без отдыха, тогда в конце периода я отдыхаю дольше.

Минусы

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

Иногда нужно намеренно останавливать работу. Бывает, вхожу в раж и фигачу код как не в себя. Блок заканчивается, а я «хм, может продолжить? прёт же». В это время я себя останавливаю, потому что:

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

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

Плюсы

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

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

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

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

Ссылки и материалы

Книги:

Лекции и Википедия:

Рассылки, каналы, инструменты:

Самое важное в самокопании

Тьфу, уже 3 поста о самокопании накатал, но о самой важной вещи не написал. А самое важное как ни странно:

Меньше думать!

«Шта? Сам же говорил, задавать вопросы, отвечать на них»

Да, верно. Но отвечать нужно исходя из эмоций и чувств, а не «разумных» рассуждений.

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

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

И это капец как отвлекает от цели — понять, что меня парит, и откуда это взялось.

Почему важно акцентировать внимание на эмоциях

Потому что нельзя разрулить логикой то, с чем она не умеет работать. Курпатов в «Красной таблетке» пишет:

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

Задача‑то не в том, чтобы придумать себе красивых отговорок, а чтобы докопаться до правды. Но без опоры на чувства всё, к чему я приду — это «объяснения», почему мир такой несправедливый, и как плохо плохая жизнь со мной обошлась.

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

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

Пусть разум задаёт вопросы

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

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

Противоречие возникает из‑за факта, который не вписывается в мою нынешнюю картину мира. Именно противоречия показывают, где я себя обманываю. Я стараюсь подмечать их и вовремя пресекать попытки найти им «объяснение» — задаю себе вопросы. Об этом я писал в одном из прошлых постов.

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

Нам кажется, что у нас есть мышление — как способ решения жизненных задач, и другие (не мыслительные) психические процессы: воспоминания, мечтания, переживания… Это разделение ошибочно

Разделение действительно ошибочно. Я могу отвечать на один и тот же вопрос по‑разному, в зависимости от эмоционального состояния — это ли не показатель важности эмоций?

«А как научиться их замечать‑то?»

¯\_(ツ)_/¯

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

Почитать на тему

Книги:

И статьи:

Время для чтения есть всегда — 2

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

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

Я лишь пробегусь по тому, какие приёмы использую.

Читаю сразу несколько книг

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

На телефоне у меня две читалки: айбукс и литрес. Использую их одновременно, чтобы читать научпоп и что‑то художественное параллельно. Сейчас, например, в литресе у меня открыт Пелевин, а в айбуксе Курпатов.

Так я не устаю от одной и той же книги, и пропадает основная причина лениться: что якобы за книгой нужно куда‑то идти. Не нужно, всё всегда под рукой.

Не читаю неинтересные книги

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

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

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

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

Не парюсь о количестве страниц

Раньше я выставлял себе суточный минимум в страницах. В какой‑то момент я заметил, что он превратился в суточный максимум: прочёл 50 страниц и с чувством выполненного долга закрыл книгу.

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

Читаю в перерыве между подходами в работе

В перерывах, если чувствую, что не сильно устал, читаю.

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

Читаю на досуге

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

Делаю перерывы в чтении

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

Я понимаю, что пора делать перерыв, когда перестаю воспринимать то, что написано.

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

Не читаю, если совсем не прёт

Бывает, что система даёт сбой, и мне не помогают даже перерывы. Когда‑то давно я парился над этим, но сейчас отношусь проще.

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

Раньше ↓