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

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

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

В основе этого вопроса лежит принцип, которому учат в книгах по самопомощи, — удовлетворенность, вернее, ее отсутствие.

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

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

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

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

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

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

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

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