Если вы хотите представить что именно делает программист во время работы, то легче всего это представить именно так. Он спит!
Продукт труда программиста это продукт сна - химера. Сновидение записанное специальным языком и переданное электронному устройству для того чтобы продолжаться там когда программист уже проснулся или просто сменил один сон на другой.
Это вы думаете что программист взял задачу, написал программу и задача решилась. Всё не так.
Если взять к примеру задачу нахождения пути выхода из лабиринта. Программист в решении этой задачи не перст который ведёт воображаемую маленькую заблудившуюся девочку незнакомой тропой к выходу. Он и не эта девочка тоже. И не стены лабиринта. Он не выход который надо найти. Он всё это вместе разом.
Для решения задачи программисту приходится стать в своём сознании и лабиринтом, и искомым выходом, и заблудившейся девочкой, и тем перстом что ведёт её куда-то, и теми камушками которые она разбрасывает по дороге чтобы узнавать уже пройденные места. Всё это СНИТСЯ программисту во время работы.
Я не фигурально выражаюсь. Это БУКВАЛЬНО снится. Программист при решении задачи виртуально живёт в создаваемом мире химер, похожих каким-то образом на условия решаемой задачи.
Внешне наблюдение за работающим программистом это тоже самое что наблюдение за спящим человеком. Вы вот сразу засыпаете когда решаете отойти ко сну?
Большинство людей процесс засыпания воспринимают как определённый ритуал. У кого-то он довольно короткий, а у кого-то довольно сложный и длинный. У кого что. Кому-то надо непременно почитать перед сном, кто-то не засыпает если тридцать приседаний не выполнит перед тем как лечь. Так или иначе отход ко сну у каждого происходит по своему и это не просто ЧИК - и заснул. Хотя бывает у некоторых и так.
Вот тоже самое и в работе программиста. Процесс начала работы это тоже самое. Программист не может просто сесть и начать работать точно также как вот вы не можете сказать себе "СПИ УЖЕ СКОРЕЙ!" и отключиться. И общего какого-то способа тоже нет, как нет его в ритуале засыпания.
Кто-то вот считает баранов, которые будучи вызваны к жизни этим вот самым процессом счёта вынуждены потом как-то дальше жить у нас здесь в Новой Зеландии. А кто-то фантазирует. Кто-то следит за своим дыханием, а кто-то просто прилепит чаю с ромашкой и готов.
Это ведь ещё и меняется со временем. Сегодня вот вы легли спать и всё - уже сладкие грёзы. А завтра ворочаетесь час, два, три и ну никак. Тоже самое и в работе программиста. буквально тоже самое.
Ну и что делать всвязи с этим?
Ну скажем так. Если вы НЕ программист и вы каким-то образом заинтересованы впрямую или косвено в том чтобы он производил-таки продукт своего труда, то вам надлежит понять вот это всё хоть в какой-то более-менее мере.
Вот представьте что от вашего сна зависит ваша жизнь, жизнь выших детей и вообще всё. Представьте что от того как вы спите зависит будут-ли ваши дети учиться в университете или пойдут улицы мести. Представьте что от того насколько красивы, успешны, живучи и полны ваши сновидения зависит жизнь пассажиров в самолётах и качество обслуживания в супермаркетах, а главное от этого зависит содержимое вашего кармана в день зарплаты.
Представили?
Вот это именно так выглядит для нас - программистов. БУКВАЛЬНО ТАК.
Это вам со стороны кажется что вы просто подошли и спросили который час.
А давайте я вас подойду и спрошу в три часа ночи который час?
Чего страшного-то? Ну и что такого что вы только что заснули?
Я просто спрошу, вы ответите и спите дальше. Чего такого-то?
Так легче понять я думаю будет. На таком примере.
Вот вы представляйте что от вашего сна зависит ВСЁ! Всё при всё. Вот от того как вы сегодня поспите зависит будет завтра чего дома жрать или нет. Зависит будет ваша дочть замужем или нет. Вырастет ваш сын неудачником или добьётся чего-то в жизни. Всё это зависит от того как продуктивно вы сегодня поспите.
Представили?
И вот вы собираетесь начать этот сон. Этот вот самый сон от которого ВСЁ зависит и вы это отчётливо осознаёте.
Скажите вот теперь. Как насчёт спать и одновременно немножко, краем глаза разговаривать, чуть чуть помогать сыну решать арифметику, немножко подглядывать в телевизор и чуть чуть так совсем немного съездить в магазин? Не на долго...
Как спится, сладко?
Вот теперь подумайте что происходит с программистом к которому раза два-три в час подходят и просят чего-то подсказать, чего-то помочь там вот и тут, чего-то просят его где-то заполнить, отметить и ещё о чём-то не забыть.
Вы бы так смогли КАЖДЫЙ ДЕНЬ?
Ну тоесть каждый день вот вы ложитесь спать ЗНАЯ что от вашего сна зависит всё при всё при всё и даже больше. И вот в процессе вашего сна происходит вот это всё - напоминания, запоминания, помогания, звонки, разговоры посторонние под ухом и всё такое. И так каждую ночь. Как вам такая жизнь?
Хотите?
Призодите работать программистом в нашу контору. Получите в полной мере!
Хотя не всё так трагично. Конечно есть люди которые способны кимарить просто постоянно. Водители такие бывают что чуть-ли не на каждом сфетофоре способны чуток вздремнуть. Ну вы знаете - им чуть бибикнуть приходится чтобы вернуть к жизни. Наверняка вы знакомы с такой ситуацией.
Ну так вот и программисты тоже такие бывают. Они всегда находятся в состоянии близком ко сну. Чуть не мешает никто - сразу "брык" и в сон. Не глубоко, только на чуть чуть. Особо серьёзных никаких химер не успеешь понагрезить, но чуть-чуть немножко слабо-туманных вполне успеешь. Вот в такой сон.
Именно так и производится большая часть программного продукта. Она производится людьми которые либо вообще не понимают что они делают, либо теми кто в силу каких-то причин просто не может погрузиться в сон достаточно глубоко. Соответственные и результаты.
Ну потому что отвлекают постоянно. Потому что БУДЯТ же бля постоянно! Потому что люди не понимают что ты же спишь и что их е....я менеджерская "организационная" активность она на самом деле только мешает работать. Большинство людей НЕ программистов этого не понимают.
Я надеюсь что осознав аналогию работы программиста со сном может быть люди лучше поймут как надо обходиться с программистами и откуда вообще берутся хорошие программы. Поймут наконец что вот этот е....й ЖЖ - это то что пишу и читаю ПЕРЕД СНОМ. Вот также как вы. Вы не можете спать пока неначитаетесь или пока телевизор не насмотритесь. Не можете ведь?
Вот и я не могу я работать пока неначитаюсь, ненахожусь в туалет, неначищусь зубы, ненапишусь в жевом журнальчеге, ненавотэтовсёнаделаюсь. И если мне не дать закончить это до конца, до состояния наступления глубого сна, если вмешаться в этот ритуал, то его придётся потом начинать практически заново. Точно также как вам придётся снова считать баранов если вас разбудить когда вы только что заснули.
Хотите хороших программ?
Хотите чтобы ваш муж-программист был успешен и заработал все деньги?
Хотите чтобы ваши подчинённые программисты наконец-то сделали всё как надо?
(1) Специально глянул когда тема начата, 20-го, в один день, что и первая:-)
http://infostart.ru/projects/3474/ Подремал, чуток, но про лабиринты это не от сюда, чесслово:-) Хорошая аналогия.
(1) А, вообще, если верить фильмам и материалам про Теслу, то вот он умел спать, так умел:-)
И все тут гораздо сложнее, ведь мы не знаем ничего на эту тему, в общем то...
(1) Спасибо, очень жизненное описание процесса получилось.
На самом деле все так и есть. Так живем себе во сне и не думаем, сложно оно все или нет. И тут кто-то показывает нам все со стороны (те же яй_ца только в профиль..) Мы удивляемся, переворачиваемся на другой бок и вроде бы начинаем жить по другому, правильнее.
Это как тост Мифодия в фильме "Время печали еще не пришло". Да и сам Василий чем-то на Мифодия похож. Или на Иванова..
(1) Но а какже озарения? Как то ко сну не вяжется...
"Вот как пояснил выражение "the penny dropped" (" упал пенс") Алан Картер:
"Оно означает тот момент внезапного, вневременного стремительного движения (timeless rush), когда новая ментальная модель встает на место. После момента озаренияя (insight), именно так ты естественным образом "видишь" проблемы навсегда (или до следующего раза). Эти опыты (learnings) никогда не забываются. Человек (own person) "вырос", а линия раздела шифр / шифровальный блокнот (code/codebook) между личностью (self) и остальной вселенной сдвинулась."
А после понимания, там можно прерваться, потом продолжить вполне уверенно, причем даже прикидывать довольно точно, до дня, например, когда что. Правда, также точно, я, например, знаю, что сегодня ни строчки не напишу, например. И я даже не пытаюсь, а бывает знаешь, что есть два часа, можно один момент решить, остальное завтра, т.е. не совсем на сон похоже. Но это после того как упал пенс:-)
Подписываюсь! Но хотел бы добавить, что если уж со сном сравнить, то существует еще и такое понятие как "бессонница". И тут даже самые изощренные ритуалы не помогут! Вам даже хочется уснуть(ну просто позарез надо) а не получается, и даже манагеры вас не отвлекают на пару с бухгалтерией, а все равно не получается...И если все выше перечисленное хоть как-то, но доходит до окружающих, то вот бессонницу почему-то вообще никто не учитывает.
(7) Ну кашмары это тоже разновидность сновидений, пусть не самая приятная но все же...В (0) не ставилось целью сравнить сон и работу...а сравнивался сам процесс сна, как одно целое, без разбиения на виды сна.
Кстати а кого-нибудь бывает, что просто нет настроения программирова..а если начать себя заставлять то получается написать максимум то, что еще вчера придумал но не написал..а новые мысли в голову не лезут ни при каких усилиях?
(9) А разве наша работа без вдохновения вообще возможна? Мы же как никак творцы!
(10)...О знакомое состояние..меня обычно начальство в таком состоянии ловит=)) А я даже и не знаю что сходу ответить...Видимо это как раз и есть признак "бессонницы".
...а когда я ловлю себя на мысли, что думаю о том, что уже минут пять ни о чем не думаю...
(пару раз такое было)
...иду домой...
...страшно когда вообще не можешь думать...
Ох, ну вы прям как ПОЭТЫ.
И вдохновение надо и настроение, и чтоб ни кто не беспокоил в момент творчества.
Только не все начальники понимают это.
Вот у меня предыдущая начальница была: если я уже 5 минут не стучу по клавиатуре, значит я ни чего не делаю...
А вы говорите "думать надо". Не "думать надо" а стучать, стучать, стучать........
а думает пусть начальство...
(11) Поэт, когда создаешь, а не правишь печатную форму...
Когда надо мыслить глобально, планируя архитектуру и прочее :) Вот тогда нужно оно, вдохновение...
>если я уже 5 минут не стучу по клавиатуре, значит я ни чего не делаю...
Как раз для этого и было сделано ;) http://infostart.ru/projects/3006/
(11)...У себе на на комп поставил скринсейвер с эмуляцией работы(тов. Душелова). Начальство(тогда еще я обычным манагерам подчинялся...) было просто в восторге...когда я на обеде программы писал=)) а вообще как то что мне тоже предьявили что я сижу уже пол-часа и в потолок смотрю ..настроение у меня было просто ужасное(горели сроки отсутсвие вдохновения да и просто все достали) ..в ответ манагеры получили- Хотите чтобы кто-то стучал по клавиатуре- наймите машинистку, ая программист! Как я понял меня чуть не уволили..но больше не приставали.
Мне с этим вроде пока везёт - генеральный сам программированием занимался, а начальник в мои дела практически не вмешивается, только если сам задачи ставит, но это редко бывает. Даже менегеры иногда не решаются "будить", хотя обычно делают как любые другие менерегы - ИХ дело самое важное. Бессонница - это да, частое явление, но частенько бывает так, что не можешь сделать за неделю-две "бессонницы", делается за 1-2 часа в результате или озарения или хорошего обмозговывания задачи??? А иногда стоит на некоторое время отвлечься вообще от работы, как решение приходит само(можт это и есть те "бараны"). Да и ритуал может отличаться в зависимости от объёмности задачи.
Программист Стефен Бейли рассказал, что сны помогают ему писать компьютерные программы. Так, однажды он работал над программой, которая должна была позволить памяти компьютера работать одновременно над несколькими сложными математическими задачами. Как-то раз во сне он увидел, как данные плавают перед ним в трехмерном пространстве. Он наблюдал абстрактные геометрические формы с числами внутри их. Эти фигуры плавали, меняли форму, изгибались, пристраивались одна к другой в необходимом для обработки порядке. И тут, не просыпаясь, программист понял, какой алгоритм надо использовать в данном случае. Сон содержал все необходимые детали будущей программы. Проснувшись, Бейли сел за компьютер и написал нужную программу.
Бейли обычно снятся такие "абстрактные" сны, когда он работает над сложной задачей. Как правило, это происходит в середине ночи, после нескольких часов сна (что вообще характерно для всяких сновидений). В другое же время он видит обычные сны с участием людей и с обыденной обстановкой, с разговорами и сюжетом.
Другой программист научился сам вызывать у себя творческие сны. В трудных случаях он видит себя сидящим в старомодном кабинете в компании Альберта Эйнштейна. Во сне оказывается, что Эйнштейн - его давний друг. Они обсуждают неподдающуюся задачу, рисуют мелом схемы, диаграммы и графики на черной доске. Когда задача решена, Эйнштейн, извинившись, уходит спать. А программист концентрируется на том, чтобы запомнить полученный с помощью гениального ученого результат. Проснувшись, программист записывает все предложенное во сне, и это решение всегда оказывается полезным.
А еще бывает что задачу не хочется решать хоть режь, ходишь тупишь время тянешь. И самое интересное, что я заметил, что такие задачи обычно решаются сами собой (на административном уровне, в связи с изменившимся руководством, просто это стало вдруг ненужно, и т.д и т.п.) причем задача обычно осознанная. Интуиция что ли какая то или правда во сне ты ее уже решил и понял что это фигня никому не нужна будет ))))))
ага, а иногда приходится себя контролировать, чтобы не "загоняться", не "забуриться вглубь", определить какую-то черту, дальше которой усовершенствовать что-л... просто не надо...
(23) Не, я попробовал один хумор в статьях разместить - набрал больше, чем ряд моих разработок... Поэтому нафих, лучше тут, на форуме..
А по теме:
А вообще... Состояние сна у меня бывает довольно часто - строчу что-то новое, как угорелый, на работе, потом дома, в ущерб отдыха - просто задачка интересная.... Просто обычный здоровый сон, многочасовой... А потом все... Либо сон закончится, либо так разбудят, что заснуть уже потом долгое время не получается.... Вот как раз сейчас такой период... Заснуть не могу....
А почерпнуть вдохновения негде... Один негатив кругом...
Программист - это диагноз, сказал когда-то Док! Из истории болезни (стадии заболевания):
1 - легкая
Симптомы: человек садится за компьютер, включает его, работает и уходит домой в конце рабочего дня, после чего не вспоминает о компьютере до следующего утра. Аппетит и сон нормальный, головные боли и понос отсутствуют.
2 - полулегкая
Симптомы : у больного наблюдается повышенный интерес к компьютеру, выражающийся в нездоровом возбуждении, охватывающем его при виде указанного объекта. Аппетит нормален. сон беспокоен со вскрикиванием и повизгиванием. Задерживается на работе на 2-3 часа и топчет кнопки.
Лечение: удалить больного с компьютера, принимать внутрь медицинский спирт 3 раза в день по 0,5 столовой ложки. Компьютерную литературу убрать в недоступное место. С работы встречать.
3 - стадия средней тяжести
Симптомы: больной задерживается на работе более чем на 5-6 часов после окончания рабочего дня, копит деньги на домашний компьютер. В обиходе начинает употреблять компьютерные терминологию и не реагирует на расширенные глаза окружающих. Аппетит повышенный, сон беспокойный, с выкрикиванием компьютерных словечек и беспричинным смехом. приходит в резкое возбуждение при виде компьютера или при встрече с больным 3-й стадии и выше. В этом случае болезнь может перейти в 4 стадию.
Лечение: больного изолировать от общества и от компьютера, деньги отобрать женить. При бурном поведении и отказе от лечения вводить внутрижелудочно 1-2 ковша водки с портвейном 777, смешанным в пропорции 1:2. Тазик не давать
4- стадия тяжелая
Симптомы: больной покупает модем и компьютер. Речь изобилует различными компьютерными словечками и их сочетаниями. Изобретает новые слова, копит деньги на выделенную телефонную линию, аппетит сильно повышен. Есть любит пищу в любое время суток при ее наличии. Спит 3-4 часа в день, так как ночью звонит по модему и при каждом соединение издает вопли, описанные в третьем томе книги "Жизнь животных" ( глава 1 "Поведение самца макаки-резуса в брачный период"). Половое влечение снижено. Рвота, работа, бред и понос отсутствует
Лечение: только в стационаре
5 - безнадежная
Симптомы: больной заводит у себя BBS, которой уделят все свое свободное время от звонков и программирования. Речь не внятная, состоящая из 80 и более процентов из компьютерного жаргона со спецтерминами, аппетит и сон отсутствует. Ест только то, что попадает в пределы прямой видимости независимо от вида и качества продукта, на окружающих обращает только внимание в том случае, если они произносят фразы связанные с копмьютером, так как периодически испытывает чувство глубокого удовлетворения от строки на экране "Connect 28800...". Держит около компьютера ночную вазу и пачку чая, которую забывает развести в воде
Лечение: лечению не подлежит, немедленное умерщвление тела в целях недопущения распространения заразы.
Самая последняя стадия - возлежание на диване с ноутом на коленях, изменяется только конфигурация подушек на время короткого сна. Ходить на работу или хотя бы садиться за рабочий стол, уже лишняя трата времени. Вся связь с миром происходит через интернет. Наступает при переходе на удаленное программирование при наличии безлимитного высокоскоростного доступа. Речь отсутствует, медицинскому наблюдению недоступен, т.к. из дома не выходит.