Прежде чем я стал профессиональным разработчиком программного обеспечения, я работал в компании с техническим отделом, частью которого я, как простой любитель JavaScript в то время, очень хотел стать. Я был недавним выпускником университета, все еще немного наивным по отношению к различным архетипам, из которых состоит бизнес, и одна из вещей, которая поразила меня, была разница в отношении программистов по отношению к остальным организация. В основном (мне) казалось, что корпоративная культура характеризовалась подхалимством и плохо определенными ролями. Требования были предъявлены с чувством срочности и выполнены с чувством стресса. Волнение - отличный способ показать, что вы много работаете. Несмотря на заявления об обратном, в глубине души существовало подозрение, что высказывание «я не знаю» было признаком некомпетентности, на которое начальство не одобрило бы.

А вот программисты казались другими. Кто-то отчаянно подходил к чьему-нибудь столу и сообщал об ошибке. «Почему это происходит? !!», - спрашивали они. Человек, ответственный за это, сидел в нервах.

«Зарегистрируйте билет», - говорил он или она. «Мы должны это выяснить».

«Вау, - подумал я. Мы должны это выяснить. Никаких попыток угодить властям? Никакой поспешной психологической борьбы за объяснение или ответ? Я хочу этого!

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

Я не имею в виду нереалистичные стандарты, навязанные бизнесом. Я имею в виду простые вещи: 'проходят ли мои модульные тесты?' 'происходит ли сбой моего приложения при загрузке?' 'исправил ли я ошибку, которая всех беспокоит о? 'Эти стандарты полностью объективны, аполитичны. Противоположный тип игры отвечает на плохо определенные критерии успеха, обесценивая успех - он включает передачу ваших убеждений влиятельному Другому без какой-либо привязанности к тому, что на самом деле может быть правдой; акцент на аффектации и разговоре, а не на искренности и действии. Если трава на другом конце офиса казалась более зеленой, я думаю, это было из-за относительного отсутствия ерунды (хотя теперь я понимаю, что 1] динамика, которую я описываю выше, очень характерна для конкретной компании, в которой я работал в то время, 2] эти убеждения могли сказать больше о моем недовольстве моей ролью в то время, чем какие-либо общие истины об "объективности" 'профессий, 3] если у других профессий есть стандарты успеха, которые труднее определить, это не всегда подразумевает полное отсутствие таких стандартов, и 4] я также с тех пор узнал, что область разработки программного обеспечения, хотя теоретически не содержит чуши собачьей чуши, на практике ее не всегда лишены).

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

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

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

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

  1. Моделируйте систему в уме, пока не узнаете, какое значение должно быть правильным (выдвижение гипотез).
  2. Попробуйте каждый вариант по очереди, пока ваша программа не заработает (метод проб и ошибок)

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

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

Но слова «восторг» и «отчуждение» - я хочу поговорить об этом немного подробнее.

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

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

Таким образом мы узнаем, в чем мы хороши, что нам действительно нравится или не нравится, каковы наши вкусы, суждения и способности. Одним словом, так мы открываем Атман и отвечаем на самые важные вопросы. Кто я? Что я?

Что касается отчуждения, Маслоу сказал следующее (выделено мной):

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

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

И, возможно, именно мое восприятие неудачи в этом отношении подтолкнуло меня к программированию. Моя ограниченная способность пользоваться собственными глазами и ушами; моя «неспособность даже испытать» восторг. Это напоминает мне этот стих из 135-го псалма:

Идолы язычников - серебро и золото, дело рук человеческих.

У них есть уста, но они не говорят; у них есть глаза, но они не видят;

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

Я обнаружил, что то, что некоторые могут посчитать холодной абстрактной дисциплиной, может иметь большое значение, пока я использую подход «проверки гипотез», который описан выше. Знания о том, как ведет себя программа (или даже что-нибудь), лучше запоминаются, имеют гораздо большую значимость и «удовольствие», когда они связаны с ранее выдвинутой вами гипотезой. Таким образом, искусство манипулирования текстом на экране, хотя, вероятно, не «восхитительно» для младенца, может стать средством личностного роста и уверенности в себе взрослого. Это определенно было для меня.

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

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

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

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

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

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

1) Вы не посторонний

2) Изгнание невозможно

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

Попытайся. Результаты могут быть восхитительными.