![](images/chestnut/misc/left.gif) |
Болтовня Разговоры на любые темы (думайте, о чем пишите) |
04.10.2007, 00:38
|
#1
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Про программистов
Как умирают софтверные компании
Орсон Скотт Кард: отдельное эссе отдельное эссе из журнала Windows Sources, который выходил с 1993 по 2001 год.
How Software Companies Die
Orson Scott Card
Windows Sources, March 1995, p. 208
Среда, в которой талантливые программисты цветут и пахнут, убивает всяческого рода управленцев и маркетологов - и наоборот. Программирование - это Большая Игра. Она захватывает тебя, твое тело и душу. Как только ты увлекаешься ею - для тебя больше не существует ничего. Когда ты выползаешь на свет божий, то можешь с удивлением обнаружить, что у тебя полцентнера лишнего веса, что твое нижнее белье старше, чем среднестатистический первоклашка, и что, судя по стопке коробок от пиццы, наступила весна. Но тебе все равно, потому что твоя программа работает, и код ее и чист, и светел, и прекрасен. Ты победил. Тебе известно, что кое-кто считает тебя ботаном. Ну и что? Они-то не Игроки. Они никогда не фехтовали с Windows и не сходились в рукопашной с ДОС. Для них С++ - неплохая школьная оценка, почти В - а вовсе не язык программирования. Они практически не существуют. Подобно солдату или художнику, тебя не заботит мнение обывателей. Ты строишь изысканную и сложную вещь. Им не понять.
Пчеловодство
Секрет любой успешной софтверной компании - вы можете приручить программистов в той же степени, в которой пчеловод может приручить своих пчел. Вы не можете с ними общаться в полном смысле этого слова, но вы можете заставить их роиться в определенном месте и, когда они не смотрят, забирать их мед. Вы платите им деньги, чтобы они вас не жалили. Больше денег, чем они могут потратить. Но и это не так уж много. Все дело в том, что в головах у этих программистов постоянно звучат голоса их родителей, вопрошающие : "Когда ж ты наконец за ум возьмешься?". Вам просто надо платить им столько, чтобы они могли (тоже мысленно) ответить : "Блин, папа, да я зарабатываю больше тебя!". Это, в общем, не такие уж и большие деньги.
Они останутся в улье, если вокруг них будут роиться другие кодеры. Единственный человек, чья похвала чего-нибудь стоит - это другой кодер. Менее талантливые программисты будут на них молиться, равные будут состязаться и подстрекать друг друга к новым свершениям. Если же вы хотите, чтобы ваш рой был по-настоящему хорош, в нем обязательно должен присутствовать хотя бы один гениальный кодер, на которого остальные будут взирать снизу вверх - даже если он смотрит на код других программистов только для того, чтобы над ним поглумиться. "Он Игрок", думает начинающий программист. "Он посмотрел на мой код. Жизнь удалась". Кодеры забудут что такое сон, секс, здоровье и чистое нижнее белье, если софтверная компания сможет предоставить им такой улей - а компания сможет оставить себе львиную долю прибылей.
Без руля и ветрил
Существует одна проблема, которая убивает софтверные компании одну за одной. Во главе всех успешных софтверных фирм стоял один авторитетный лидер, заботившийся о программистах. Однако ни один лидер не вечен. Он либо продает свою долю в компании, либо приводит в компанию новых менеджеров, которые в конце концов выживают его из фирмы, либо сам становится таким менеджером. Так или иначе "эффективные менеджеры" берут управление на себя. Но ... управление чем? Менеджеры быстро обнаруживают, что вместо трудолюбивых работников у стройных конвейерных линий над их продуктом работает сборище непредсказуемых, неотзывчивых, недисциплинированных и, хуже всего, непривлекательных людей, которые противятся любым попыткам установить над ними контроль. Начните фиксировать часы их работы, оденьте их в костюмы и они помрачнеют и начнут саботировать разработку продукта. Хуже всего - вы будете чувствовать, что они над вами постоянно насмехаются.
Выкуренные
Однако для кодера потрясение является намного более серьезным. Он вдруг осознает, что его жизнь находится под контролем чуждых жизнеформ. Совещания, Расписания, Отчеты. А потом кто-то начинает требовать, чтобы он ПЛАНИРОВАЛ свою работу, а затем придерживался плана, ничего не улучшая и и не подправляя - и никогда, никогда не влезая в код другой группы. Молокосос, начинающий программистишка вдруг становится его начальником-тираном только потому, что он партнер по гольфу какого-то сфинктера в костюме. Улей разрушен. Лучшие кодеры уходят. А маркетологи, довольные тем, что их теперь окружают люди в галстуках и всё находится под контролем, с удивлением обнаруживают, что каждый релиз их продукта занимает все меньшую нишу на рынке, что код распухает, а количество багов растет. Наверное надо улучшить дизайн упаковки. Ага, точно.
Оригинал: http://www.cs.rpi.edu/~beevek/files/cardsw.html
|
(Offline)
|
|
Эти 16 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
ARA (24.01.2011), Dream (31.08.2010), Ичигорь (09.01.2011), falcon (11.08.2012), FireOwl (16.09.2012), h1dd3n (22.02.2011), Igor (06.07.2012), impersonalis (01.09.2010), Izunad (27.12.2014), Perec (09.08.2011), Randomize (08.01.2011), Romanzes (13.09.2010), St_AnGer (30.08.2010), Taugeshtu (27.07.2014), YaLAS (10.11.2010), Жека (01.07.2014)
|
04.10.2007, 01:05
|
#2
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Про программистов
Зачётная статья.
|
(Offline)
|
|
04.10.2007, 09:57
|
#3
|
Знающий
Регистрация: 07.10.2006
Сообщений: 269
Написано 22 полезных сообщений (для 30 пользователей)
|
Re: Про программистов
Эх, как за душу взяло то...
|
(Offline)
|
|
04.10.2007, 14:36
|
#4
|
Администратор
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений (для 996 пользователей)
|
Re: Про программистов
да... много эмоционального.. но смысл ясен...
просто работа программиста сравне искусству... для полноценной работы нужно вдохновение... и деньги, к сожалению, в эмоциональных условиях, далеко не самый мотивирующий фактор... (о способах мотивации не буду)
и, к сожалению, текущие менеджеры учат в школе как мотивировать токарей, столяров... но никак ни "творцов"... поэтому ничего и не получается... но человек не обезьяна, рано или поздно поймет...
![:)](images/smilies/smile.gif)
|
(Offline)
|
|
04.10.2007, 18:03
|
#5
|
Знающий
Регистрация: 05.01.2007
Сообщений: 229
Написано 5 полезных сообщений (для 3 пользователей)
|
Re: Про программистов
Грустно.. Вот по этому мечтаю работать программистом в лаборатории, а не коммерческой-до-мозга-костей компании. Хотя и это тоже не плохой вариант - платить будут прилично. главное что? Что б работа нравилась.
|
(Offline)
|
|
04.10.2007, 22:29
|
#6
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Про программистов
А вот ДАО программирования, если кто не читал:
Содержание
Книга 1 -- Безмолвная пустота
Книга 2 -- Учителя древности
Книга 3 -- Проектирование
Книга 4 -- Написание
Книга 5 -- Поддержка
Книга 6 -- Управление
Книга 7 -- Административная мудрость
Книга 8 -- Аппаратное и программное обеспечение
Книга 9 -- Эпилог
Книга 1 -- Безмолвная пустота
Так говорил учитель:
''Когда ты научишься ловить код ошибки по стеку корки, наступит твое время уходить.''
1.1
Нечто таинственное возникло, родившись из безмолвной пустоты. Одиноко и недвижимо ожидая, оно покоится и все же пребывает в постоянном движении. Это источник всех программ. Я не знаю его имени, поэтому я буду называть его Дао Программирования.
Если Дао хорошее, то операционная система хорошая. Если операционная система хорошая, то и компилятор хороший. Если компилятор хороший, тогда приложение хорошее. Пользователь доволен и во всем мире проистекает гармония.
Дао Программирования уплывает далеко и возвращается на утреннем ветре.
1.2
Дао породило машинный язык. Машинный язык породил ассемблер. Ассемблер породил компилятор. Теперь в мире десять тысяч языков.
У каждого языка есть свое, хоть и скромное, предназначение. У каждого языка есть отражение Инь и Янь в программах. У каждого языка есть свое место внутри Дао.
Но не пиши на Коболе, если можешь этого избежать.
1.3
В начале было Дао. Дао породило Пространство и Время. Поэтому Пространство и Время это Инь и Янь программирования.
У программистов не постигших Дао всегда не хватает времени и свободного пространства для их программ. У программистов постигших Дао всегда достаточно времени и пространства для выполнения цели.
Как может быть иначе?
1.4
Мудрый программист слышит о Дао и усердно следует ему. Программист средних способностей слышит о Дао и ищет его. Неумный программист слышит о Дао и смеется над ним.
Если бы над ним не смеялись, это было бы не Дао.
Высокие звуки труднее расслышать. Движение вперед - пусть к отступлению. Большой талант проявляется на склоне лет. Великая белизна кажется покрытой пятнами. Даже в совершенной программе есть ошибки.
Книга 2 -- Учителя древности
Так говорил учитель:
''После трех дней без программирования жизнь становится бессмысленной.''
2.1
Программисты старых времен были загадочны и глубоки. Мы не можем постичь их мысли, но мы можем описать их внешность.
Осторожен, как лисица переходящая воду. Наготове, как генерал на поле боя. Сердечен, как хозяйка, приветствующая гостей. Прост, как деревянная заготовка. Непроницаем, как черное озеро в затененной пещере.
Кто сможет поведать секреты их сердец и умов?
Ответ существует лишь в Дао.
2.2
Великому учителю Тьюрингу однажды приснилось, что он машина. Когда он проснулся, то воскликнул:
''Я не знаю кто я - Тьюринг, которому снится что он машина или машина, которой снится что она Тьюринг!.''
2.3
Программист из очень большой компьютерной компании побывал на конференции, и возвратившись, доложил своему менеджеру: ''Что это за программисты работают в других компанях? Они плохо себя ведут, они не заботятся о внешнем виде. Их волосы длинные и неопрятные, а одежда старая и мятая. Они нарушили наше гостеприимство и еще они делали грубые звуки во время моей презентации''.
Менеджер сказал: ''Я не должен был посылать тебя на конференцию. Эти программисты живут вне физического мира. Они полагают жизнь абсурдом, случайным совпадением. Они приходят и уходят, не зная границ. Беспечные, живут только своими программами. Отчего же их должны заботить общественные рамки?
Они живы внутри Дао.''
2.4
Ученик спросил учителя: ''Вот программист, что никогда не проектирует, не сопровождает и не отлаживает свои программы. Однако все, кто его знают, полагают его одним из лучших программистов в мире. Почему так?''.
Учитель ответил: ''Этот программист овладел Дао. Он ушел от нужды проектирования; он не сердится, если система падает, но принимает вселенную такой какая она есть. Он ушел от нужды сопровождения; ему безразлично, увидит ли кто нибудь его код. Он ушел от нужды отладки; каждая из его программ совершенна изнутри, изящна и ясна, и ее цель самоочевидна. Поистине он постиг тайну Дао.''
Книга 3 -- Проектирование
Так говорил учитель:
''Когда программа тестируется, уже слишком поздно вносить изменения в проект.''
3.1
Один человек поехал на компьютерную выставку. Каждый день, входя, он говорил охраннику у дверей:
''Я великий вор, я знаменит многими делами. Смотри в оба, так как эта выставка от меня не ускользнет.''
Это сильно встревожило охранника, потому что внутри было компьютерного оборудования на миллионы долларов, и он пристально следил за этим человеком. Но тот просто бродил от палатки к палатке, тихо бормоча сам себе под нос.
Когда он вышел, охранник отвел его в сторону и обыскал, но ничего не нашел.
На следующий день выставки человек возвратился и поприветствовал охранника, сказав при этом: ''Я ушел вчера с огромной добычей, но сегодня она будет еще больше.'' Так что охранник смотрел еще пристальней, но опять безуспешно.
К последнему дню выставки охранник не смог более удерживать любопытство. ''Господин Вор,'' сказал он, ''Я так озадачен, я не могу жить спокойно. Пожалуйста просветите меня. Что вы крадете?''
Человек улыбнулся. ''Я краду идеи,'' сказал он.
3.2
Один учитель писал неструктурированные программы. Его ученик тоже начал писать неструктурированные программы, имитируя его. Когда ученик попросил учителя оценить его прогресс, учитель критиковал того за неструктурированный стиль, сказав: ''Что уместно учителю, то не уместно ученику. Ты должен постичь Дао прежде чем переступить структуру.''
3.3
Один программист был прикреплен ко двору военачальника из Ву. Военачальник спросил программиста: ''Что легче спроектировать: бухгалтерский пакет или операционную систему?''
''Операционную систему,'' ответил программист.
Военачальник недоверчиво воскликнул. ''Несомненно бухгалтерский пакет много проще чем сложная операционная система,'' сказал он.
''Это не так,'' сказал программист, ''когда проектируется бухгалтерский пакет, программист выступает посредником между людьми с разными взглядами на продукт: как он должен работать, как выглядят отчеты, и как он должен соответствовать налоговому законодательству. Проектируя же операционную систему, программист ищет самую простую гармонию между машиной и идеями. Вот почему операционную систему легче проектировать.''
Военачальник из Ву кивнул и улыбнулся. ''Это все хорошо, но что легче отладить?''
Программист не ответил.
3.4
Менеджер пришел к учителю и показал ему документ с требованиями к новому приложению. Менеджер спросил учителя: ''Сколько займет проектирование этой системы если я назначу на нее пять программистов?''
''Один год,'' сразу сказал учитель.
''Но она нужна нам немедленно - или еще раньше! Сколько это займет, если я назначу десять программистов?''
Учитель нахмурился. ''В этом случае, это займет два года.''
''А что если я назначу сто программистов?''
Учитель пожал плечами. ''Тогда проект никогда не завершится'' сказал он.
Книга 4 -- Написание
Так говорил учитель:
''Хорошо написанная программа это свой собственный рай; плохо написанная программа это свой собственный ад.''
4.1
Программа должна быть легкой и быстрой, а ее подпрограммы соединены подобно нанизанным жемчужинам. Идея и цель программы должны присутствовать в каждой ее части. В ней не должно быть ни слишком мало и не слишком много; ни лишних циклов, ни бесполезных переменных; ни отсутствия структуры, ни избыточной жесткости.
Программа должна следовать Закону Наименьшего Удивления. Что он гласит? То, что программа так должна выдавать ответ пользователю, чтобы удивить его при этом наименьшим образом.
Программа, какая бы сложная ни была, должна действовать как одно целое. Она должна быть подчинена внутренней логике, а не внешнему виду.
Если программа не удовлетворяет этим условиям, она будет беспорядочной и запутанной. Единственный способ поправить такую программу это переписать ее заново.
4.2
Ученик спросил учителя: ''Я написал программу, которая то работает, то сбоит. Я следовал правилам программирования, однако совершенно запутался. В чем причина?''
Учитель ответил: ''Ты смущен, поскольку не понимаешь Дао. Только глупец ожидает разумного поведения от людей. Почему же ты ожидаешь разумного поведения от машины, людьми сконструированной? Компьютеры симулируют детерминизм; только Дао совершенно.
Правила программирования преходящи; только Дао вечно. Поэтому ты должен медитировать о Дао прежде чем тебе откроется просветление.''
''Но как я узнаю когда оно мне откроется?'' спросил ученик.
''Твоя программа будет работать правильно,'' ответил учитель.
4.3
Учитель объяснял природу Дао одному из учеников, ''Дао воплощено во всех программных средствах -- даже в самых незначительных,'' сказал учитель.
''Есть ли Дао в карманном калькуляторе?'' спросил ученик.
''Есть,'' был ответ.
''Есть ли Дао в видеоигре?'' продолжал ученик.
''Есть даже в видеоигре,'' сказал учитель.
''А есть ли Дао в ДОС для персонального компьютера?''
Мастер кашлянул и немного подвинулся. ''На сегодня урок окончен,'' сказал он.
4.4
Один из программистов князя Вонга писал программу. Его пальцы танцевали над клавиатурой. Программа скомпилировалась без единой ошибки, и прошла тест как легкий ветер.
''Превосходно!'' воскликнул князь, ''Твоя техника безупречна!''
''Техника?'' сказал программист, отворачиваясь от терминала, ''чему я следую, это Дао -- что выше всех техник! Когда я только начал программировать, я видел проблему как одно целое. Спустя три года я уже не видел целого. Вместо этого я использовал подпрограммы. Но теперь я не вижу ничего. Я целиком существую в неоформившейся пустоте. Мои чувства свободны. Мой разум, свободный от намерений, следует своим инстинктам. Вкратце, моя программа пишется сама. Правда, иногда бывают трудности. Я вижу, как они надвигаются, я приостанавливаюсь, я молча смотрю. Затем я изменяю одну строчку в программе, и трудности исчезают как облачко дыма. И тогда я компилирую программу. Я замираю и позволяю радости работы наполнить меня. Я закрываю на миг глаза и отсоединяюсь от системы.''
Князь Вонг сказал, ''Если бы все мои программисты были так мудры!''
Книга 5 -- Поддержка
Так говорил учитель:
''Будь программа размером хоть в три строчки, но и ее однажды придется поддерживать.''
5.1
Часто открываемая дверь не требует смазки петель. Быстрый поток не превратится в болото. Ни звук, ни мысль не проходят через вакуум. Программы портятся без использования.
Это великие таинства.
5.2
Менеджер спросил программиста, сколько времени ему потребуется, чтобы завершить программу, над которой он работает. ''Она будет закончена завтра,'' сразу ответил программист.
''Я думаю, вы несколько оторваны от действительности,'' сказал менеджер, ''все же, сколько это займет?''
Программист на миг задумался. ''У меня есть несколько идей, которые я хотел бы реализовать в программе. Это займет по меньшей мере две недели,'' сказал он наконец.
''Даже в такой срок, это значит ожидать слишком многого,'' настаивал менеджер, ''Я буду удовлетворен, если вы просто оповестите меня, когда программа будет готова.''
Программист согласился.
Спустя несколько лет менеджер уходил на пенсию. По дороге к праздничному столу, накрытому в честь его ухода, он обнаружил, что программист спит у терминала. Он программировал всю ночь.
5.3
Однажды ученику было поручено написать простой финансовый пакет.
Ученик бешено работал в течение многих дней, но когда учитель посмотрел его программу, он обнаружил в ней экранный редактор, набор общих графических подпрограмм, интерфейс искуственного интеллекта и абсолютно ничего, относящегося к финансам.
Когда учитель спросил об этом, ученик вознегодовал. ''Не будьте таким нетерпеливым,'' сказал он, ''Со временем я вставлю финансовую часть.''
5.4
Хороший крестьянин пренебрежет ли зерном, что посадил? Хороший учитель проглядит ли самого скромного ученика? Хороший отец позволит ли хоть одному ребенку голодать? Хороший программист откажется ли поддерживать свои программы?
Книга 6 -- Управление
Так говорил учитель:
''Пусть программистов будет много, а менеджеров мало -- тогда они будут работать плодотворно.''
6.1
Когда менеджеры сидят на бесконечных совещаниях, программисты пишут игры. Когда бухгалтеры говорят о квартальных прибылях, бюджет на разработку урезается. Когда исследователи в докладах попадают пальцем в небо, наворачиваются тучи.
Воистину, это не Дао Программирования.
Когда менеджеры делают обязательства, игровые программы забыты. Когда бухгалтеры делают долговременные планы, гармония и порядок вскоре восстанавливаются. Когда исследователи выдают задание на руки, проблемы скоро решаются.
Воистину, это Дао Программирования.
6.2
Почему программисты не продуктивны? Потому что их время растрачивается на совещаниях.
Почему программисты мятежно настроены? Потому что менеджеры слишком часто вмешиваются.
Почему программисты увольняются поодиночке? Потому что они охладевают.
Поработав с плохим руководством, они более не ценят свою работу.
6.3
Один менеджер был на грани увольнения, но программист, который с ним работал, придумал программу, которая оказалась популярной и хорошо покупалась. В результате менеджер сохранил свою работу.
Менеджер попытался заплатить программисту премию, но тот отказался, говоря, ''Я написал программу потому, что ее идею было интересно реализовать, и поэтому я не ожидаю награды.''
Менеджер, услышав то, заметил, ''Этот программист, хоть и занимает маловажную должность, хорошо понимает обязанности прилежного работника. Давайте поднимем его на должность руководящего консультанта!''
Но когда программисту предложили это, он опять отказался, говоря, ''Я существую таким образом, что я могу программировать. Если меня повысят, я не буду делать ничего, кроме как занимать чье-либо время. Можно мне идти? Я работаю над программой.''
6.4
Менеджер пришел к программистам и сказал: ''Относительно вашего рабочего времени: вы должны приходить в девять утра и уходить в пять вечера.'' Всех рассердило это заявление, а несколько тут же уволилось.
Тогда менеджер сказал: ''Хорошо, в таком случае вы можете сами устанавливать рабочее время, лишь бы ваши проекты завершались вовремя.'' Программисты, удовлетворенные, начали приходить к середине дня и работать до рассвета.
Книга 7 -- Административная мудрость
Так говорил учитель:
''Администратору можно показать программу, но нельзя сделать его компьютерно грамотным.''
7.1
Ученик спросил учителя: ''На востоке есть большая древовидная структура, которую люди зовут Главным Управлением. Она распухла в бесформенную массу, наполненную вице-президентами и бухгалтерами. Она издает множество указаний, и каждое говорит ''Все туда!'' или ''Все сюда!'', и никто не знает, что это должно значить. Каждый год новые названия вывешиваются на ветвях, и все попусту. Как может быть такая противоестественная сущность?''
Учитель ответил: ''Ты видишь эту огромную структуру и тревожишься о том, что у нее нет разумной цели. Разве тебя не развлекает ее бесконечное движение по кругу? Тебе не нравится беззаботная легкость программирования под ее укрывающими ветвями? Что же тебе до ее бесполезности?''
7.2
Не востоке водится акула, что больше всех других рыб. Она превращается в птицу, чьи крылья подобны облакам на небе. Когда эта птица прилетает, она приносит послание от Главного Управления. Послание падает в гущу программистов, как чаячья отметка на берег. Тогда птица поднимается ввысь, и оставляя чистое небо позади, возвращается домой.
Ученик в изумлении глядит на птицу, поскольку не может ее постичь. Обычный программист страшится прилета птицы, поскольку боится ее послания. Учитель за своим терминалом продолжает работать, поскольку он не знает о том, что птица прилетала и улетала.
7.3
Волшебник из Башни Слоновой Кости привез свое последнее изобретение, чтобы показать его учителю. Волшебник вкатил большой черный ящик в кабинет учителя, пока учитель ожидал в молчании.
''Это интегрированная, распределенная, общецелевая рабочая станция,'' начал волшебник, ''эргономично спланированная с патентованной операционной системой, языками шестого поколения, и многочисленными уникальными пользовательскими интерфейсами. Конструирование заняло у моих ассистентов несколько сотен человеко-лет. Разве это не удивительно?''
Учитель слегка приподнял брови. ''Это в самом деле удивительно,'' сказал он.
''Главное Управление приказало,'' продолжал волшебник, ''чтобы все использовали эту станцию как платформу для новых программ. Вы согласны с этим?''
''Конечно,'' ответил учитель, ''Ее немедленно переместят в вычислительный центр!'' И волшебник, весьма довольный, возвратился в свою башню.
Несколько дней спустя, ученик забрел в кабинет к учителю, и спросил, ''Я не могу найти распечатку моей новой программы. Вы не знаете, где она может быть?''
''Знаю,'' ответил учитель, ''все распечатки лежат на платформе в вычислительном центре.''
7.4
Мудрый программист без страха переходит от одной программы к другой. Никакое изменение в руководстве не может ему повредить. Его не уволят, даже если закроется проект. Почему так? Он наполнен Дао.
Книга 8 -- Аппаратура и программы
Так говорил учитель:
''Если нет ветра, трава не колышется. Если нет программ, компьютер бесполезен.''
8.1
Ученик спросил учителя: ''Я вижу, что одна компьютерная компания намного больше остальных. Она возвышается над конкурентами, как гигант над пигмеями. Любое ее отделение может заменить целое предприятие. Почему так?''
Учитель ответил, ''Почему ты задаешь такие глупые вопросы? Эта компания велика, потому что она велика. Если бы она выпускала только аппаратуру, никто бы ее не покупал. Если бы она выпускала только программы, никто бы ими не пользовался. Если бы она производила только поддержку, люди бы относились к ней, как к прислуге. Но так как она это все совмещает, люди считают ее богоподобной! Не стремясь, она побеждает без усилий.''
8.2
Однажды учитель проходил мимо ученика. Учитель заметил, что внимание ученика поглощено карманной компьютерной игрой. ''Прости меня,'' сказал он, ''могу я посмотреть?''
Ученик отвлекся от игры и подал ее учителю. ''Я вижу, тут предлагается три уровня игры: Легкий, Средний и Тяжелый,'' сказал учитель. ''Однако каждое такое устройство имеет еще один уровень игры, когда оно не старается ни победить, ни быть побежденным.''
''Прошу вас, великий учитель,'' взмолился ученик, ''как найти этот таинственный уровень?''
Учитель бросил устройство на пол и раздавил ногой. И внезапно ученик обрел просветление.
8.3
Один программист занимался микропроцессорами. ''Посмотри, как все у меня здорово,'' сказал он посетившему его программисту, работавшему с большими машинами. ''У меня моя собственная операционная система и файловое запоминающее устройство. Я не должен ни с кем делить ресурсы. Программы непротиворечивы и легки в использовании. Почему бы тебе не уйти с твоей работы и не присоединиться ко мне?''
В ответ на это другой программист начал описывать другу свою систему, говоря: ''Сервер покоится как древний мудрец, медитирующий в середине вычислительного центра. Его диски пролегают из края в край, как великий океан механизмов. Программное обеспечение многогранно как бриллиант, и переплетено как первобытные джунгли. Каждая программа неповторима, и движется сквозь систему как быстротечная река. Вот почему я счастлив где я есть.''
Услышав то, программист-микропроцессорщик надолго замолчал. Но они оба оставались друзьями до конца своих дней.
8.4
Аппаратное обеспечение встретило Программное по дороге в Чань Цзэ. Программное обеспечение сказало: ''Ты Инь, а я Янь. Если мы пойдем вместе, мы станем знамениты и заработаем много денег.'' И они пошли вместе, размышляя о покорении мира.
Вскоре они встретили Встроенное обеспечение, хромающее, одетое в изношенное тряпье и опирающееся на посох. Оно сказало: ''Дао лежит выше Инь и Янь. Оно безмолвно и недвижимо как озеро. Оно не ищет славы, поэтому никто не знает о его приутствии. Оно не ищет богатства, так как изнутри оно завершено. Оно существует вне пространства и времени.''
Программное и Аппаратное обеспечение, пристыженные, возвратились по домам.
Книга 9 -- Эпилог
Так говорил учитель:
''Наступило твое время уходить.''
|
(Offline)
|
|
Эти 5 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
05.10.2007, 00:15
|
#7
|
Бывалый
Регистрация: 12.10.2006
Сообщений: 737
Написано 131 полезных сообщений (для 452 пользователей)
|
Re: Про программистов
да, статейка то, что называется - зацепила...
так тут все правильно прям описано! и эмоционально тоже.
вот примерно для этого я и хочу после оконания института создать свою компанию, такую, чтобы "улей не разлетался"! тем более, что я кроме того, что сам программист со стажем, еще и экономист будущий, так что надеюсь сгожусь на роль "лидера заботящегося о других проггерах"!
вообще программирование - это один из самых творческих процессов! хоть вроде кажется, что люди работают с цыфрами, кодом и совершенно безжизненными железками, но нет... просто весь этот мега творческий процесс происходит в головах проггеров. а благоприятная обстановка как нельзя лучше способствует творчеству. и развал кампаний происходит именно по тем причинам, которые описаны в статье. сам знаю одну такую уже развалившуюся контору, правда, не проггеров но тоже людей с компами работающих очень тесно.
вообще, думаю, стоит закрепить эту тему, как важную! такое всем полезно почитать. (это типа намек администрации)
|
(Offline)
|
|
05.10.2007, 00:27
|
#8
|
Бывалый
Регистрация: 12.10.2006
Сообщений: 737
Написано 131 полезных сообщений (для 452 пользователей)
|
Re: Про программистов
ДАО программирования тоже ниче! у меня где-то валялось наподобие, потом залью. HolyDel'у - респект!
|
(Offline)
|
|
05.10.2007, 00:28
|
#9
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Re: Про программистов
вот еще немного грустного - дзен софтверного менеджмента:
Почему программисты не продуктивны?
Потому что их время тратится на собраниях.
Почему программисты мятежны?
Потому что менеджмент слишком сильно мешает.
Почему программисты уходят один за одним?
Потому что они сгорают.
Работая на плохой менеджмент, они больше не ценят свою работу.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
05.10.2007, 00:35
|
#10
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Про программистов
Когда правит тот, кто никогда не правил, уходят те, кто никогда не уходил.
|
(Offline)
|
|
Эти 5 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
05.10.2007, 23:42
|
#11
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Про программистов
вот еще две вещи, которые мне понравились.
это - реальное письмо из канады (перевод):
Получено из Канады: Software development
__________________________
Любой русский программист после пары минут чтения кода, обязательно вскочит
и произнесет обращаясь к себе: переписать это все нафиг.
Потом в нем шевельнется сомнение в том, сколько времени это займет, и
остаток дня русский программист потратит на то, что будет доказывать самому
себе, что это только кажется, что переписать это много работы. А если
взяться и посидеть немного, то все получится. Зато код будет красивый и
правильный. На следующее утро русский программист свеж, доволен собой и без
единой запинки докладывает начальству, что переписать этот кусок займет один
день, не больше. Да, не больше. Ну, в крайнем случае, два, если учесть все
риски. В итоге начальство даст ему неделю и через полгода процесс будет
успешно завершен. До той поры, пока этот код не увидит другой русский
программист.
А в это время, в соседних четырех кубиках, будет ни на секунду не утихать
работа китайских программистов, непостижимым образом умудряющихся прийти
раньше русского программиста, уйти позже, и при этом сделать примерно втрое
меньше. Эта четверка, давно не пишет никакого кода, а только поддерживает
код написанный, в свое время индусом и дважды переписанный двумя разными
русскими. В этом коде не просто живут баги. Здесь их гнездо. Это гнездо
постоянно воспроизводит себя при помощи любимой китайской технологии
реиспользования кода - copy/paste. Отсюда баги расползаются в разные стороны
посредством статических переменных и переменных переданных по ссылке
(поскольку, китайский программист не может смириться с неудобствами
вызванными тем, что он не может изменить значение внешней переменной
переданной в его функцию модулями, которые переписывает русский
программист). Вспоминая об этой функции русский программист, как правило на
время теряет дар английской речи, и переходит к какой-то помеси русского и
китайского. Он давно мечтает переписать весь кусок, над которым работают
китайцы, но у него нет времени.
На китайцах висят серьезные баги, о которых знает начальство и постоянно их
торопит. Китайцы торопливо перевешивают баги друг на друга, поскольку знают,
что попытки их починить приведут к появлению новых, еще худших. И в этом они
правы. Разобраться в том, в каком порядке меняются статические переменные, и
как приобретают свои значения, способен только один человек на фирме -
индус. Но он пребывает в медитации.
Поэтому, когда всю четверку уволят во время сокращения... А кого еще
увольнять? Русский - еще не переписал свой кусок, а индус - главная ценность
фирмы - он редко обращает внимание на проект, но когда обращает, все
понимают, что так как он, архитектуру никто не знает. Так вот, когда
китайцев увольняют, у их кода возможны две основные судьбы. Первая - он
попадет к русским и его перепишут. Вторая - он попадет к местному,
канадскому программисту.
О, канадский программист это особый тип. Он ни на минуту не задумываясь, как
рыцарь без страха и упрека, бросится фиксить самый свирепый баг китайского
кода. Этот Баг живет там уже три года, и китайцы уже четырежды (каждый по
разу) сообщали начальству, что он пофиксен. Но Баг каждый раз возвращался,
как Бетмен в свой Готхем.
Итак, канадский программист сделает то, чего китайцы не рисковали делать в
течении трех долгих лет. Он, при помощи дебагера, отследит место, где
статическая переменная приняла значение -1 вместо правильного 0, и
решительным движением заведет рядом вторую переменную с правильным
значением. Баг погибнет в неравной схватке с канадским программистом. Но
победа будет достигнута тяжелой ценой. Работать перестанет все, включая
только что переписанный русским программистом код. Это повергнет русского
программиста в задумчивость на целых два дня, после чего он сделает, в
общем-то, предсказуемый вывод о том, что дизайн с самого начала был
неправильным, и все надо переписать. На это нам нужна неделя. Да, неделя, не
больше.
Канадский программист смело бросится налаживать все, и станет еще хуже, хотя
казалось бы... Эта суета выведет из медитации индуса, который придумает и
вовсе гениальное решение - отбранчить код. Согласно его плану, мы теперь
будем поддерживать две версии одного и того же кода - одну работающую но с
Багом, другую без Бага, но не работающую. Русский программист услышав об
этом плане, сломает линейку об стол и дома обзовет жену дурой, но на митинге
возразить не решится.
К счастью, все это не сильно влияет на дела фирмы, поскольку продукт
продается и так. Поэтому менеджмент ходит в целом довольный и не устает
напоминать всем, что они отобраны как лучшие среди лучших. И что мы давно
доказали свою способность выпускать продукт тем, что выпускаем его иногда.
а вот это возможно баян, ибо черт знает откуда я это выкопал, но перевод с английского (переводил не я, но английский вариант видел - похоже)
1. Русские программисты никогда не читают руководств и редко пользуются online подсказкой - они легко понимают новые
программы, потому как они ранее уже испробовали все программы подобного рода.
2. Русские программисты никогда не платят за софт. Они или крэкают его или покупают wonderful CD ( не стал переводить - так
красивше ) за 5 баксов с кучей софта. В любом крупном городе России.
3. Русские программисты всегда используют самые последние разработки в программном обеспечении - самые последнии версии
лучших программ - потому как не надо за них платить.
4. Русские программисты очень любят поэкспериментировать с железом. Они разберут ваш компьютер и соберут его обратно в
течение нескольких минут. Они помнят установки джамперов на большинстве материнских плат, винтах и других устройствах. Они
никогда не забывают какие прерывания и адреса памяти используются в настоящее время в их компьютере.
5. Русские программисты апгрейдят свой компьютер до тех пор, пока не останется никаких свободных прерываний, места для
добавочной памяти или не останется ни одного свободного слота. Если они не могут апгрейдить дальше свой компьютер, они
покупают еще один и соединяют оба сеткой.
6. Русские программисты программируют на всех уровнях, и на процессорных кодах тоже, таблицы которых у них находятся
постоянно на рабочем столе. Они помнят назубок список функций прерывания 21h.
7. Русские программисты помнят всю раскладку английской и русской клавиатуры. Вы можете спросить посреди ночи, какая
клавиша находится между A и L, вы будете удивлены ответом: «Какую из семи назвать?»
8. Русские программисты ненавидят Майкрософт и Майкрософтовские программы, но используют их.
9. Русские программисты предпочитают Borland, а Microsoft компиляторы инсталлируют только из-за того, что в них хороший help
для Windows API.
10. Русские программисты в Интернете чувствуют себя очень комфортно. Они предпочитают всегда быть online, хотя бы просто
потому, что может срочно что-то понадобиться.
11. Русские программисты всегда в настроении попрограммировать.
12. Есть два вида Русских программистов - первые ненавидят Windows и программируют под Unix, вторые ненавидят Windows и
программируют под них. Макинтошевские программисты - не настоящие программисты - им больше подходит название - «юзеры».
13. Русские программисты нелюбят «кодировать» чью-то другую идею. Каждая программа пишется персонально.
14. Русские программисты всегда имеют копии Doom, Duke Nukem и Quake на их жестком диске. Они могут играть ночи напролет
по сетке в Deathmatch.
15. Русские программисты никогда не используют джойстик. Клавиатура - вот главное оружие.
16. Русские программисты никогда не сдаются. Они могут вылавливать баги из их программы забыв о сне и еде.
17. Жены Русских программистов несчастны, потому как им не уделяется внимания, пока в доме есть хоть один компьютер.
18. Русским программистам недоплачивают. Но и не существует суммы в мире, способной успокоить их желания.
19. Начальники не любят Русских программистов. А кто любит умника, который все знает?
20. Русские программисты не любят использовать шаблоны. Их программы - это индивидуально написанные произведения с
большой долей импровизации. Причем, Русский программист старается во всю, чтобы побыстрее запустить программу и увидеть ее
в работе.
|
(Offline)
|
|
Эти 6 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
12.10.2007, 00:32
|
#12
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Про программистов
Программист - начальнику отдела
Мы не можем справиться с предложенным проектом! Повторяю:
НЕ МОЖЕМ!
Это потребует полного изменения структуры дерева наследования, а
никто в нашем отделе в ней не разбирается. Более того, никто в компании не
знает даже языка, на котором это всё было написано, так что даже если
кто-то и захочет этим заняться, он просто не сможет. Если Вас интересует моё
мнение, наша компания вообще не должна соглашаться работать над подобными проектами.
Начальник отдела - руководителю проекта
Проект потребует изменения структуры системы.
а текущий момент у нас нет сотрудников, имеющих опыт подобной работы. К тому же,
язык нам не очень знаком, так что нам придётся организовать кое-какую
переподготовку, если мы возьмёмся за этот проект. Если Вас интересует моё мнение, мы
не готовы работать над проектами подобного рода.
Руководитель проекта - менеджеру среднего звена
Этот проект подразумевает изменение структуры, а у нас маловато опыта в этой области.
К тому же, у нас в компании не так много людей, которые специально обучались таким вещам.
Если Вас интересует моё мнение, мы бы смогли справиться с этим проектам, но на это у нас
уйдёт немного больше времени, чем обычно.
Менеджер среднего звена - менеджеру верхнего уровня
Этот проект подразумевает пересмотр структуры. У нас есть несколько специалистов, которые
работали в этой области и ещё несколько специалистов по языку реализации. Они могли бы
организовать обучение персонала. Если Вас интересует моё мнение, нам стоит взяться за этот
проект, но действовать нужно осторожно.
Менеджер верхнего уровня - управляющему
Этот проект даст нам возможность продемонстрировать нашу способность полного изменения структуры
существующей системы. У нас есть все необходимые умения и ресурсы, чтобы успешно справиться с
проектом. Некоторые сотрудники уже начали обучать других необходимым навыкам в неофициальном порядке.
Если Вас интересует моё мнение, мы не должны упустить этот проект ни в коем случае.
Управляющий - клиенту
Это как раз тот тип проектов, в которых наша компания специализируется. Мы уже завершили
несколько проектов подобного типа для крупных заказчиков. Поверьте, что в этой области именно
мы являемся наиболее компетентными. Если Вас интересует моё мнение, мы можем выполнить
этот проект успешно и в назначенные Вами сроки.
|
(Offline)
|
|
Эти 7 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
12.10.2007, 14:50
|
#13
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Про программистов
Реально берёт за грудь...
|
(Offline)
|
|
13.12.2007, 17:53
|
#14
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Про программистов
Программирование сегодня — это гонка, в которой соревнуются разработчики, стремящиеся построить большие и обладающие защитой от дурака программы, и Вселенная, порождающая все больших и качественных дураков. На данный момент Вселенная побеждает. (Рич Кук)
Бьерн Страустрап: Я всегда мечтал о том, чтобы работа с компьютером была не сложнее пользования телефоном. Моя мечта стала реальностью. Теперь я уже не знаю, как пользоваться всеми возможностями телефона.
Если отладка — процесс удаления ошибок, то программирование должно быть процессом их внесения. (Эдсгер Вайб Дейкстра)
Если за две минуты омлет еще не готов, у заказчика два выбора подождать или съесть его сырым .
Понимаете, для того, чтобы создать систему, подобную Linux, недостаточно быть хорошим кодером. Нужно быть еще и коварной сволочью. Линус Торвальдс
Будьте вежливы с ботаниками. Есть шанс, что в один прекрасный день вы будете работать на одного из них. Билл Гейтс
Я пишу все свои критические программы на ассемблере, а комедийные на фортране.
Программирование — это как секс. Одна ошибка — и вам придётся поддерживать его всю оставшуюся жизнь. (Майкл Синц)
…В программировании содержатся также эстетические и практические ценности. Хорошую программу можно читать как стихи, и она может привлекать как песня, музыка или прекрасная картина. Каждый программист на своем опыте знает, что он ощущает каждый раз, когда программа начинает работать. Еще большее интеллектуальное удовлетворение можно получить, найдя хорошее решение трудной задачи. Наилучшие образцы программирования представляют собой творческую науку и искусство.Э. Хювёнен, Й. Сеппянен
Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
13.12.2007, 18:11
|
#15
|
Бывалый
Регистрация: 20.11.2007
Сообщений: 663
Написано 145 полезных сообщений (для 176 пользователей)
|
Re: Про программистов
Класс.Аж в груди что то ёкнуло.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:55.
|