Эта статья изначально была написана в личном блоге автора

1. Программисты должны все знать

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

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

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

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

2. Программисты не должны сомневаться в своей работе

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

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

Но это убеждение было ошибочным.

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

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

3. Программистам запрещено импровизировать

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

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

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

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

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

Заключение

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

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

Это перевод статьи 3 Beliefs I Abandoned After 3 Years of Professional Coding