Перевод статьи Are you developer?


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

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

Открою секрет по поводу этого чувства. Готовы?

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

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

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

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

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

Определение разработчика


Начнём с главного определения. Готовы?

Разработчик — это человек, который пишет код.

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

Иногда судят, что значит быть разработчиком, на основе искусственных критериев. Это называется фильтрацией (gatekeeping), и это хе чушь. Никто не может решать, разработчик вы или нет.

Если вы пишете код, то вы разработчик.

Не имеет значения, пишете ли вы профессионально или в свободное от работы время. Это можно делать в CLI, IDE, вебе или внутри другого приложения. Это может быть клиентский код, серверный, встроенный, облачный, локальный, удалённый или какой-нибудь другой. Если это код, то вы участник клуба.

Синдром самозванца


Синдромом самозванца называется состояние, когда вы чувствуете себя мошенником: мол, вы недостаточно хороши и кто-нибудь это в конце концов поймёт, либо вам вообще тут не место. Большинство разработчиков ощущают себя так в какие-то моменты. Не верите? Дэвид Уолш написал прекрасную статью о своём подобном опыте.

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


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

Хоккейная клюшка обучения


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

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


Когда проходишь половину пути, попадаешь в ловушку.

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

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

По мере того, как растёт наш остров знаний, растут и берега нашего невежества.

Чем больше мы узнаём, тем больше понимаем, сколько ещё нужно узнать.

Настрой на рост


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

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

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

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

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

Хитрость в том, чтобы переформатировать своё отношение к какой-то теме. Разработка ПО — это навык, а не врождённая способность. Чтобы ему научиться, требуется терпение и практика.

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

В чём смысл?


Что всё это означает? Что вы разработчик. Добро пожаловать в сообщество разработчиков.

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

И самое главное: идите и пишите код.

Комментарии (9)