?

Log in

No account? Create an account
walther_v [userpic]

Сон программиста

Май, 13, 2011 (15:19)
working

тек. состояние: На работе.
настроение: working

Удрал вчера на полчаса в ванну
и там довольно подробно проработал проект дома.
Вышел, сел рядом с Василикой, зарисовал.
Ей, вроде бы, понравилось.
ттт
Завтра куплю цемент,
а послезавтра поеду - буду фундамент заливать.
ттт
Если успею :)
Т.к. на послезавтра ещё у мамы на меня планы есть :(
Там же, в деревне.

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

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

Ну вобщем хватит предъистории. Как работает программист.

Работа программиста - это СОН.

Звучит нелепо, правда?

Если вы хотите представить что именно делает программист во время работы, то легче всего это представить именно так. Он спит!

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

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

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

Для решения задачи программисту приходится стать в своём сознании и лабиринтом, и искомым выходом, и заблудившейся девочкой, и тем перстом что ведёт её куда-то, и теми камушками которые она разбрасывает по дороге чтобы узнавать уже пройденные места. Всё это СНИТСЯ программисту во время работы.

Я не фигурально выражаюсь. Это БУКВАЛЬНО снится. Программист при решении задачи виртуально живёт в создаваемом мире химер, похожих каким-то образом на условия решаемой задачи.

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

Большинство людей процесс засыпания воспринимают как определённый ритуал. У кого-то он довольно короткий, а у кого-то довольно сложный и длинный. У кого что. Кому-то надо непременно почитать перед сном, кто-то не засыпает если тридцать приседаний не выполнит перед тем как лечь. Так или иначе отход ко сну у каждого происходит по своему и это не просто ЧИК - и заснул. Хотя бывает у некоторых и так.

Вот тоже самое и в работе программиста. Процесс начала работы это тоже самое. Программист не может просто сесть и начать работать точно также как вот вы не можете сказать себе "СПИ УЖЕ СКОРЕЙ!" и отключиться. И общего какого-то способа тоже нет, как нет его в ритуале засыпания.

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

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


Ну и что делать всвязи с этим?

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

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

Представили?

Вот это именно так выглядит для нас - программистов. БУКВАЛЬНО ТАК.

Это вам со стороны кажется что вы просто подошли и спросили который час.

А давайте я вас подойду и спрошу в три часа ночи который час?
Чего страшного-то? Ну и что такого что вы только что заснули?
Я просто спрошу, вы ответите и спите дальше. Чего такого-то?

Так легче понять я думаю будет. На таком примере.

Вот вы представляйте что от вашего сна зависит ВСЁ! Всё при всё. Вот от того как вы сегодня поспите зависит будет завтра чего дома жрать или нет. Зависит будет ваша дочть замужем или нет. Вырастет ваш сын неудачником или добьётся чего-то в жизни. Всё это зависит от того как продуктивно вы сегодня поспите.

Представили?

И вот вы собираетесь начать этот сон. Этот вот самый сон от которого ВСЁ зависит и вы это отчётливо осознаёте.

Скажите вот теперь. Как насчёт спать и одновременно немножко, краем глаза разговаривать, чуть чуть помогать сыну решать арифметику, немножко подглядывать в телевизор и чуть чуть так совсем немного съездить в магазин? Не на долго...

Как спится, сладко?

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

Вы бы так смогли КАЖДЫЙ ДЕНЬ?

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

Хотите?

Призодите работать программистом в нашу контору. Получите в полной мере!

Хотя не всё так трагично. Конечно есть люди которые способны кимарить просто постоянно. Водители такие бывают что чуть-ли не на каждом сфетофоре способны чуток вздремнуть. Ну вы знаете - им чуть бибикнуть приходится чтобы вернуть к жизни. Наверняка вы знакомы с такой ситуацией.

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

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

Ну потому что отвлекают постоянно. Потому что БУДЯТ же бля постоянно! Потому что люди не понимают что ты же спишь и что их ебучая менеджерская "организационная" активность она на самом деле только мешает работать. Большинство людей НЕ программистов этого не понимают.

Я надеюсь что осознав аналогию работы программиста со сном может быть люди лучше поймут как надо обходиться с программистами и откуда вообще берутся хорошие программы. Поймут наконец что вот этот ебучий ЖЖ - это то что пишу и читаю ПЕРЕД СНОМ. Вот также как вы. Вы не можете спать пока неначитаетесь или пока телевизор не насмотритесь. Не можете ведь?

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

Хотите хороших программ?

Хотите чтобы ваш муж-программист был успешен и заработал все деньги?

Хотите чтобы ваши подчинённые программисты наконец-то сделали всё как надо?

Тогда вот вам простой рецепт:

НЕ БУДИТЕ СЛИШКОМ ЧАСТО ПРОГРАММИСТА!

((f)http://alexthunder.livejournal.com/290612.html)
.
.
.
Аналогию со сном кажется поняли многие. Ну по крайней мере многие откликнулись и согласившись кивнули. Но статья содержала изъян - она не давала рецепта. А что же собственно делать-то с этими дурацкими программистами которых надо не будить?! Какие это такие условия им необходимы чтобы "крепко спать" и продуктивно работать?

Сейчас попробую коротенько так объяснить.

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

Смею вам на это заявить что всё это - ЧУШЬ!

На самом деле самым решающим фактором влияния на процесс мысленного вдохновения является - Отсутствие событий на которые можно реагировать.

Попробую привести примеры таковых событий.

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

Для поверхностного взгляда в описанной простой весьма ситуации нет ничего принципиально влияющего на процесс мыслительного труда. Много ли делов встать и налить себе чаю? Да секундное дело!

А вы замечали сколько раз включенные чайники остаются забытыми и остывшими, сколько оставленных завариваться чашек чаю остывают без внимания? А почему и как это иллюстрирует главную мысль?

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

Поставленный чайник - будильник.
Обещание сходить вынести мусор - будильник.
Напомиание о том что надо прийти и съесть завтрак - будильник.
Неоплаченный счёт - будильник.
Неотвеченный E-mail - будильник.

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

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

Многие помнят как этот синдром бессонницы проявляется в повседневной жизни. Вы срочно ложитесь спать потому что завтра утром необычно рано надо встать и... и не можете заснуть! Ещё час прошёл, а вы всё ни в одном глазу. И ещё час... Времени до будильника все меньше и меньше, а вы всё не спите и не спите. Невроз ощущением приближающегося тяжёлого подъёма усиливается и заснуть становится всё труднее и труднее. Знакомо?

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

- Проверил почту
- Почитал новости
- Проверил что нового в ЖЖ
- Заглянул в интернет-банкинг
- Проверил календарь на предмет предстоящих митингов
- Обратил внимание что уже прошло полтора часа, а работа ещё и не началась. Напугался и...
- Опять проверил почту...

Знакомо?

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

Замечали как легко программисты забывают о времени когда заняты своей работой? Думаете почему?

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

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

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

Фраза типа - "Да ты, расслабься, отдохни! Потом доделаешь." звучит примерно как вот если представить альпиниста висящего на кончиках пальцев на краю обрыва. Он силится подтянуться и закинуть ногу на край или хотя бы локоть. А тут к нему подходит его любимая женщина и ласковым голосом говорит - "Да ты, расслабься, отдохни! Потом доделаешь. Не надо себя так измучивать работой."

Что будет с альпинистом если он послушает такого совета и расслабится?

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

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

А момент-то вот он перед носом.

Чайник запикел - пора реагировать!

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

Если вы хотите чтобы ваш программист выдавал хорошие результаты -
Сделайте чтобы ему не на что было реагировать достаточно длительное время!

((f)http://alexthunder.livejournal.com/821578.html)
.
.
.
говорят, должно помочь перенесение списка "будильников" из головы на другой, независимый носитель
на бумагу, в текстовый файл, в программу-органайзер, ...
пытаюсь
пытаюсь
...
В ОТПУСК ХОЧУ!!!

Comments

Posted by: vasilika_w (vasilika_w)
Posted at: Май, 13, 2011 11:21 (UTC)
Удивлённая

Ой, какой длинный сон...
Прочитаю, когда вернемся уже. =)

Posted by: ersto4ka (ersto4ka)
Posted at: Май, 13, 2011 12:02 (UTC)

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

Posted by: Цитадель добродетели (grobert)
Posted at: Май, 13, 2011 14:12 (UTC)

Про программистов - подписываюсь!

3 Читать комментарии