Это нормально. Не борись с этим. Шесть шагов к дзену разработчика.

Перевод статьи «It’s Fine. Don’t Fight It. Six Steps to Programmer’s Zen» автора Tomek Rusilko.

Быть разработчиком — захватывающее приключение и потрясающий способ жить.

Тем не менее, не все так гладко

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

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

Но не страшись, друг мой!

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

1. Стена

Эта часть позаимствована из статьи Robert Pankowiecki: How to get anything done.

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

Это нормально. Не борись с этим.

Вместо этого — прими все эти отрицательные эмоции и…просто начни.

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

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

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

Ритуал завершения.

Это может быть что-то невероятно простое, как, например, перетаскивание карточки в колонку “Готово” в Trello. Отметка о выполнение в TODO-листе, перекур, если ты куришь. Вариаций миллионы. Это такая мелкая и, казалось бы, незначительная вещь, что я спотыкался о нее долгое время. Я не предавал ей значения. Но она работает волшебно.

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

2. Стыд

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

Это нормально. Не борись с этим.

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

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

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

3. Самозванец

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

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

Это нормально. Не борись с этим.

Это известный психологический феномен, известный как Синдром Самозванца. Я почти не встречал разработчиков, которые бы не страдали от него.

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

Прошу, ознакомься с этими статьями — в них упомянуты несколько советов, которые могут тебе помочь: How I fight the imposter syndrome, Feel like an impostor? You’re not alone.

source: @rundavidrun

И не забудь:

Сдерживает тебя не то, кем ты являешься, а то, кем — как ты считаешь — ты не являешься
Денис Вэйтли

4. Эксперт

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

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

И это действительно так. Действуй, совершай ошибки. Ошибайся, ошибайся и ошибайся снова. Взгляни на картинку. Это семинар Lunar по React. У этих людей за плечами годы опыта в различных специальностях. Wojtek тестировал приложения на Java, C и Rails годами. Ania хорошо знает Ruby, JS, Objective-C, Swift и Бог знает что еще. Cichy, мой добрый друг, мой номер 1 по вопросам, связанным с JS. Для меня все они — эксперты в своих специальностях. А попытайся угадать, в какой день проходил семинар?

Cеминар Lunar по React

В субботу.

Эти люди пришли в офис в свой выходной день и изучали React в течении 8 часов.

Смысл должен быть понятен. Продолжай учиться и прими истину: сначала у тебя будет получаться плохо. Но снова:

Это нормально. Не борись с этим.

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

5. Перфекционист

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

Это нормально. Не борись с этим.

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

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

Книги, обязательные к прочтению

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

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

6. Отшельник

Это нормально. БОРИСЬ с этим. Не стоит работать в одиночку.

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

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

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

Программирование — это командный вид спорта. И самое главное в нем не код, а люди.

В заключение

Никто не говорил, что будет легко. Враги реальны, проблемы огромны.

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

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

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

PS. Все рисунки выполнены единственной и неповторимой Gosia.

Like what you read? Give Andrey Semin a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.