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

- Консультационный центр Калифорнийского технологического института

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

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

Итак, вам понадобятся способы преодолеть это чувство самозванца. Вот несколько способов, которые мне помогут:

Найдите наставника

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

Вот замечательный пост от Flatiron School о том, как найти наставника.

Получите одноранговую пару

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

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

Окружите себя более умными людьми и воспользуйтесь этим

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

Будьте любопытны

Когда вас окружают умные люди и возникают сложные проблемы, проявите любопытство. Шаблоны ученичества от Дэйва Гувера и Адевале Ошайнай - отличная книга, которую обязательно нужно прочитать всем разработчикам. Он относится к разработке программного обеспечения как к ремеслу и прокладывает ваш долгий путь от ученика до мастера с помощью практических шаблонов. Один из этих шаблонов - Разоблачение своего незнания:

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

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

- Глава 2: Опорожнение чашки, схемы ученичества

Выбирайте что-нибудь и регулярно практикуйте

Ранее в этом году мой коллега объявил свой следующий месяц месяцем React. Итак, этот месяц он посвятил изучению React. Со стороны я мог видеть, как его разговоры о React развивались в течение месяца. К концу месяца он создал в компании слабый канал # react-js, делился ссылками на библиотеки и концепции, с которыми другие не сталкивались, написал отличный пост в блоге об изучении ReactJS, и теперь он создание большой функции в React.

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

Принимайте решения осознанно

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

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

Обычно, когда вас спрашивают: «Почему вы так построили?» - постарайтесь не отвечать: «Ну, этот другой код был написан таким образом». Это может означать, что вы не напишете решение столь же элегантное или многократно используемое, как более опытный коллега, но, если оно соответствует требованиям задачи, ничего страшного! Со временем каждое решение, которое вы осознанно принимаете, формулируете и извлекаете уроки, поможет вам принимать более правильные решения в будущем.

Будьте осторожны, когда у вас синдром самозванца

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

  1. Функция займет столько времени, сколько потребуется мне.
  2. Я много работаю и забочусь о качестве кода, который создаю.
  3. Я просил о помощи, когда застрял. Если нет, то могу и должен.
  4. Я сообщил о своем текущем статусе заинтересованным сторонам моей функции.
  5. К черту все остальное.

Прочтите главу 1 Программиста-прагматика

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

Вот и все

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

Другие замечательные посты о синдроме самозванца

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

Кроме того, если вы хотите научиться программировать или в настоящее время учитесь программировать, узнайте, что мы создаем в Flatiron School.

Нажмите ❤ ниже, чтобы другие люди увидели это здесь, на Medium.