Я люблю разработку программного обеспечения. Я знаю, что люблю разработку программного обеспечения, с особого летнего полудня, давным-давно, когда я скопировал страницу из руководства пользователя Color Genie EG2000 в GWBASIC на ПК и испытал свое первое понимание, изменившее мою жизнь: я только что запрограммировал компьютер. Этот момент запомнился мне более 30 лет.

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

До моей первой настоящей работы в разработке программного обеспечения мой контакт с другими программистами ограничивался одним или двумя другими детьми, которых я знал, и парой случайных незнакомцев на HNR BSS (да, верно, 2400 БАУДов изумления и волнения) и моей доступ к знаниям, ограниченный книгами из библиотеки и всем, что можно было перенести по отрывочному телефонному соединению с BBS (до тех пор, пока Интернет не появился для меня в 95-м, в прошлом). Сначала я потратил безбожное количество часов на написание кода на BASIC, затем обучил себя Turbo Pascal с помощью встроенной сборки, а затем перешел на C - текстовые игры, утилиты, графические демонстрации.

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

Через пару лет я обнаружил, что создаю первое в своей карьере «корпоративное» программное обеспечение: систему выдачи и обслуживания ссуд для региональной корпорации жилищного финансирования, поддерживаемой государством. Великолепное настольное приложение клиент / сервер, созданное на Visual Basic 6, интегрированное в привлекательную, совершенно новомодную «систему управления рабочим процессом» и подключенное обратно к головному офису через Rolls Royce телефонной связи по общедоступной коммутируемой сети: ISDN. До этого я в основном занимался веб-разработкой на Perl, затем на PHP и Flash (да).

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

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

Жанна Накамура и Чиксентмихайи выделяют следующие шесть факторов, влияющих на ощущение потока:

  • Сильная и сфокусированная концентрация на настоящем моменте
  • Слияние действия и осведомленности
  • Утрата рефлексивного самосознания
  • Чувство личного контроля или свободы воли над ситуацией или деятельностью
  • Искажение временного восприятия, субъективное восприятие времени изменено
  • Восприятие деятельности как по существу полезного, также называемого автотелическим опытом

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

Кроме того, писатель-психолог Кендра Черри упомянула три других компонента, которые Чиксентмихайи называет частью опыта потока:

  • «Немедленная обратная связь»
  • Чувство, что у вас есть потенциал для успеха
  • Чувствовать себя настолько поглощенным опытом, что другие потребности становятся незначительными

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

Это одна из основных причин, по которой я влюбился в программирование. Почти немыслимое удовлетворение, которое вы иногда испытываете, проведя много часов в The Zone: интеллектуальное построение взаимосвязанных моделей абстрактного проблемного пространства, мысленное отслеживание и тестирование ветвящегося дерева вариантов логических решений; старательно сокращая варианты решения до того, которое подходит оптимально, наконец выстраивая решение - иногда более одного раза (вы знаете, к сожалению, человеческое и подверженное ошибкам) ​​- пока, наконец, не поймете, что после того, что кажется сверхчеловеческим усилием, вы создали вещь полезная, вроде бы на пустом месте. Решение, которое действительно работает!

Трудно объяснить это чувство людям, которые его не чувствовали.

Фокус, поток, пребывание в Зоне. Тратить много энергии на решение и преодоление трудностей. Со временем овладение этой деятельностью: накопление знаний, ощущение, что вы прогрессируете, осознание того, что вы улучшаете навык, и благодаря этому вы сами. Это удовлетворение. Это то, что придает мне значение.

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

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

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

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

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

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

Думаю, жизнь не имеет внутреннего смысла. То, как вы решите жить своей жизнью, - вот что создает смысл.