?

Log in

No account? Create an account

Previous Entry | Next Entry

Комментируя мою предыдущую запись, pigbig указала на идеи Ритцера о Мак-Дональдизации общества (см. изложение концепции в рецензии на книгу Ритцера).

Книгу я ещё почитаю, но подмеченное автором стремление к воспроизводимости и предсказуемости мне кажется очень интересными наблюдением. При этом, если верить рецензенту, эта предсказуемость становится не средством, а целью: "Не надо лучше, надо по правилам!"

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

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

Я не знаю, получилось ли с этим у менеджеров, но сам подход тогда поразил меня размахом, достойным сэра Томаса Мора или Угрюм-Бурчеева. Уходящие в бесконечность правильные геометрические ряды одинаковых серых кубиков, в которых сидят взаимозаменяемые программисты, пишущие стандартный код. Они едят стандартную еду в стандартных Мак-Дональдсах, лечат их от типовых болезней типовые доктора (если два врача увидят одинаковые симптомы, они должны выписать одинаковые рецепты!), а взаимозаменяемые юристы оформляют им типовые разводы.

См. мультипликационную заставку к "Иронии судьбы".

Comments

( 71 comments — Leave a comment )
kouzdra
Jan. 12th, 2013 05:33 am (UTC)
Ну да - собственно одна из вещей, которыми меня в свое время удивил Гончаров - это именно абсолютно точным проговариванием этого идеала уже в середине 19 века:

Напрасно водили меня показывать, как красиво вздуваются паруса с подветренной стороны, как фрегат, лежа боком на воде, режет волны и мчится по двенадцати узлов в час. "Эдак и пароход не пойдет!" - говорят мне. "Да зато пароход всегда пойдет". Горе моряку старинной школы, у которого весь ум, вся наука, искусство, а за ними самолюбие и честолюбие расселись по снастям. Дело решено. Паруса остались на долю мелких судов и небогатых промышленников; всё остальное усвоило пар.
...
Роскошь старается, чтоб у меня было то, чего не можете иметь вы; комфорт, напротив, требует, чтоб я у вас нашел то, что привык видеть у себя.

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

Прогресс сделал уже много побед. Прочтите описание кругосветного путешествия, совершенного пятьдесят лет назад. Что это было? - пытка! Путешественник проходил сквозь строй лишений, нужд, питался соленым мясом, пил воду, зажав нос; дрался с дикими. А теперь? Вы едва являетесь в порт к индийцам, к китайцам, к диким - вас окружают лодки, как окружили они здесь нас: прачка-китаец или индиец берет ваше тонкое белье, крахмалит, моет, как в Петербурге; является портной, с длинной косой, в кофте и шароварах, показывает образчики сукон, материй, снимает мерку и шьет европейский костюм; съедете на берег - жители не разбегаются в стороны, а встречают
толпой, не затем чтоб драться, а чтоб предложить карету, носилки, проводить в гостиницу. Там тот же мягкий бифштекс, тот же лафит, херес и чистая постель, как в Европе.

kouzdra
Jan. 12th, 2013 05:36 am (UTC)
PS: При этом любопытно, что хотя автор этот идеал разделяет вполне искренне, в описании викторианского Лондона и быта его обитателей именно как отлаженной машины или часов "с удобствами" он довольно ироничен:

Замечу, между прочим, что всё здесь стремится к тому, чтоб устроить образ жизни как можно проще, удобнее и комфортабельнее. Сколько выдумок для этого, сколько потрачено гения изобретательности на машинки, пружинки, таблицы и другие остроумные способы, чтоб человеку было просто и хорошо жить! Если обстановить этими выдумками, машинками, пружинками и таблицами жизнь человека, то можно в pendant к вопросу о том, "достовернее ли стала история с тех пор, как размножились ее источники" - поставить вопрос, "удобнее ли стало жить на свете с тех пор, как размножились удобства?"

Edited at 2013-01-12 05:38 am (UTC)
(no subject) - kouzdra - Jan. 12th, 2013 05:49 am (UTC) - Expand
(no subject) - vryadli - Jan. 15th, 2013 04:47 pm (UTC) - Expand
(no subject) - 8aetherous8 - Feb. 12th, 2013 12:12 pm (UTC) - Expand
(no subject) - vryadli - Feb. 12th, 2013 04:12 pm (UTC) - Expand
spamsink
Jan. 12th, 2013 05:39 am (UTC)
Подобные преподаватели - идиоты, которые или никогда не работали в индустрии, или с треском вылетели оттуда за непроходимую тупость. Спросить такого преподавателя, помогут ли ему его ляхи одинаковые программисты, если важный заказчик обнаружит в продукте трудно воспроизводимую (но предсказуемую и таки воспроизводимую) ошибку в чужом коде, которую можно живьем увидеть лишь по удаленной сессии, и типичный программист просто не будет знать, с какого конца к этой проблеме подходить - и преподаватель сядет в лужу.
kouzdra
Jan. 12th, 2013 05:52 am (UTC)
На самом деле все эти проблемы решаемы как раз - и именно на этом пути. И в общем индустрия именно так и устроена (софтверная индустрия кстати сейчас как раз одна из самых косных отраслей - она как раз в пользу массовости, стабильности и предсказуемости отвергает даже очевидно эффективные решения - "надо не хорошо, а как у всех")

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

PS: Ну и да - в крупной фирме полезно держать Левшу, на случай если внезапно понадобится блоху подковать (кстати - тот самый сюжет - но все таки что "ружья кирпичом не чистят" оно важнее)

Edited at 2013-01-12 05:54 am (UTC)
(no subject) - spamsink - Jan. 12th, 2013 06:05 am (UTC) - Expand
(no subject) - kouzdra - Jan. 12th, 2013 06:09 am (UTC) - Expand
(no subject) - spamsink - Jan. 12th, 2013 06:25 am (UTC) - Expand
(no subject) - kouzdra - Jan. 12th, 2013 06:36 am (UTC) - Expand
(no subject) - spamsink - Jan. 12th, 2013 06:40 am (UTC) - Expand
(no subject) - kouzdra - Jan. 12th, 2013 06:46 am (UTC) - Expand
(no subject) - spamsink - Jan. 12th, 2013 07:16 am (UTC) - Expand
(no subject) - kouzdra - Jan. 12th, 2013 07:34 am (UTC) - Expand
(no subject) - spamsink - Jan. 12th, 2013 07:41 am (UTC) - Expand
(no subject) - kouzdra - Jan. 12th, 2013 07:54 am (UTC) - Expand
(no subject) - spamsink - Jan. 12th, 2013 08:13 am (UTC) - Expand
(no subject) - kouzdra - Jan. 12th, 2013 08:21 am (UTC) - Expand
(no subject) - kouzdra - Jan. 12th, 2013 07:06 am (UTC) - Expand
(no subject) - spamsink - Jan. 12th, 2013 07:19 am (UTC) - Expand
(no subject) - kouzdra - Jan. 12th, 2013 07:45 am (UTC) - Expand
(no subject) - nms - Jan. 12th, 2013 06:19 am (UTC) - Expand
(no subject) - asox - Jan. 12th, 2013 09:48 am (UTC) - Expand
(no subject) - agasfer - Jan. 12th, 2013 02:30 pm (UTC) - Expand
karachee
Jan. 12th, 2013 05:48 am (UTC)
При организации потокового производства "воспроизводимость и предсказуемость" стоит выше эффективности. Лучше производить машину выдающую 100 км/ч каждая деталь которой стандартна и её может заменить любой механик, чем сделать суперкар разгоняющиеся до 300 км/ч который никто кроме автора не сможет ни починить, ни отрегулировать.

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

Ну лечение людей, оно собственно никак не подпадает под требования для потокового производства. Человеческое тело вещь всякий раз очень уникальная и с этим ничего не поделаешь.
kouzdra
Jan. 12th, 2013 06:03 am (UTC)
Реально упускается другой момент - отрасль настолько ресурсоизбыточна, что ей не нужны не только "эффективные решения", но и предсказуемость техпроцесса. То есть данный преподаватель неправ ровно так же как и "гениальный программист" - он предлагает решение проблемы, на которую нет спроса (только он пытается продать не эффективный код, а эффективное управленческое решение покупателю, которому и та и та эффективность глубоко по фигу)
(no subject) - karachee - Jan. 12th, 2013 07:09 am (UTC) - Expand
(no subject) - kouzdra - Jan. 12th, 2013 07:12 am (UTC) - Expand
(no subject) - karachee - Jan. 12th, 2013 03:01 pm (UTC) - Expand
(no subject) - maxuzzz - Jan. 14th, 2013 06:39 am (UTC) - Expand
(no subject) - asox - Jan. 12th, 2013 09:50 am (UTC) - Expand
(no subject) - karachee - Jan. 12th, 2013 02:54 pm (UTC) - Expand
(no subject) - asox - Jan. 12th, 2013 05:31 pm (UTC) - Expand
dimrub
Jan. 12th, 2013 07:40 am (UTC)
Тут два варианта: либо преподаватель совсем уж глупый идиот, либо вы его неверно поняли. С супер-пупер программистами иногда бывает проблема: они пишут код, который потом никто, кроме них, не в состоянии понять (а, значит, и поддерживать). Поэтому если такой супер-программист уволился, или перешел на другой проект, или даже был повышен в рамках проекта нынешнего, написанный им код вдруг резко теряет ценность, и во многих случаях его приходится просто выкидывать и переписывать с нуля. Кроме того, эти примадонны зачастую и тестированием себя не утруждают, полагая, что пишут без багов (в чем всегда ошибаются). Раньше их, почему-то, очень ценили. Тем не менее, очень крутой программист (в отличие от примадонн, пишущих исключительно под влиянием музы) - это такой, который пишет поддерживаемый, читаемый, тщательно оттестированный код, который поддерживать может любой приличный программист (в течении ограниченного времени, впрочем: просто приличные программисты плохо справляются с гниением битов). Производительность очень крутых программистов во много раз выше производительности приличных программистов (а есть вещи, на которые приличные программисты и вовсе неспособны), и фактор этот выше, чем фактор различия в зарплате. Поэтому чем больше таких программистов в фирме, тем ей лучше. При этом неверно, что два таких очень крутых программиста выдадут один и тот же код при решении одной и той же проблемы: если проблема достаточно сложна, с высокой вероятностью есть больше одного подхода для ее решения, и тогда нет причин, почему бы все они остановились на одном и том же решении.
kouzdra
Jan. 12th, 2013 08:14 am (UTC)
Он imho не идиот - просто имеет место типовой случай впаривания "серебрянной пули" - продается реальное решение реальной проблемы, про которое заранее известно, что его не купят (потому что спроса на решение этой проблемы в текущих условиях нет).

Потому оно доводится до логического и абсурдного конца. Зато эффектного.
(no subject) - slavka - Jan. 12th, 2013 11:37 am (UTC) - Expand
(no subject) - dimrub - Jan. 12th, 2013 11:44 am (UTC) - Expand
(no subject) - slavka - Jan. 12th, 2013 08:41 pm (UTC) - Expand
juan_gandhi
Jan. 12th, 2013 09:13 am (UTC)
Эти менеджеры удобны тем, что устраняют конкуренцию на корню. Как только в контору попадают такие менеджеры, эту контору можно списывать.
asox
Jan. 12th, 2013 09:44 am (UTC)
Если данный преподаватель забыл сказать своим обучаемым, что в случае уволнения супер-программистов - решением их задач придётся заниматься уже самим менеджерам - этот преподаватель оказал некачественную образовательную услугу, и с него следует истребовать по суду возврат стоимости обучения + упущенную выгоду из-за бесполезного сидения на курсах + убытки вызванные применением его методики.

P.S. "Суперпрограммисты" должны выводится на решение более общих задач, возможно/верятно - переходом на "менеджерский" уровень.
laoxia
Jan. 12th, 2013 10:19 am (UTC)
да нет, все проще. "если не можешь работать - преподавай. Если не можешь преподавать - преподавай спорт". Судя по всему сейчас он уже тренер :Р
(no subject) - asox - Jan. 12th, 2013 10:45 am (UTC) - Expand
votez
Jan. 12th, 2013 11:36 am (UTC)
сказанное имеет обоснование. Во-первых, что бы там ни думали, в подавляющем большинстве случаев создаваемые программные продукты - ширпотреб и барахло, а не штучные произведения искусства. Это рынок. Для основания инновационной программерской компании, скорее всего, нужен "гений" (хотя лучше - профи), но работать там потом всё равно будут биороботы, мнящие себя хорошими программистами. Идея "нанимайте только лучших" хорошо работает со стартапами, но не в работающей долго компании. А там нужны работники, а не творцы.
Во-вторых, многие обожглись на "гениях", когда был бум в софтверных конторах. Люди скакали из конторы в контору на всё большие зарплаты и более интересные проекты, оставляя за собой куски работ, которые никто не мог понять, дописать, развить или исправить. Работать два года на одном месте - нонсенс был, признак непрофессионализма и невостребованности. Год - и новое место как нормальный стиль жизни. Это были огромные убытки для контор. Так что перестраховка имела смысл. Сейчас это не так актуально, вроде.
moola
Jan. 12th, 2013 12:30 pm (UTC)
Работать два года на одном месте - нонсенс был, признак непрофессионализма и невостребованности. Год - и новое место как нормальный стиль жизни.

Оно и сейчас близко к этому.
(no subject) - votez - Jan. 12th, 2013 12:31 pm (UTC) - Expand
(no subject) - asox - Jan. 12th, 2013 05:35 pm (UTC) - Expand
(no subject) - votez - Jan. 12th, 2013 05:42 pm (UTC) - Expand
(no subject) - asox - Jan. 12th, 2013 05:48 pm (UTC) - Expand
(no subject) - votez - Jan. 12th, 2013 05:57 pm (UTC) - Expand
(no subject) - asox - Jan. 12th, 2013 06:42 pm (UTC) - Expand
(no subject) - votez - Jan. 12th, 2013 06:46 pm (UTC) - Expand
(no subject) - asox - Jan. 13th, 2013 09:24 am (UTC) - Expand
ppk_ptichkin
Jan. 12th, 2013 12:57 pm (UTC)
>Задача менеджера состоит в том, чтобы таких сотрудников выявить и немедленно уволить. Их наличие несовместимо с современным промышленным производством, которому нужна воспроизводимость.

Кое-где это ещё встречается. Это было популярное мнение, заслуженно получившее впоследствии премию Дарвина.
boltatel
Jan. 12th, 2013 01:46 pm (UTC)
Фредерик Брукс (очень популярный и влиятельный автор книг по теме) пишет противоположное. Он выдвигает идею "хирургических групп": один блестящий программист и несколько программистов обычных, ему ассистирующих (как хирургу на операции помогают ассистент, анестезиолог, операционные медсёстры). То же, что Брукс, пишет Джоэл Спольски - автор, наверное, самого известного блога о разработке софта.

Так что ваш лектор выражал своё, до крайности маргинальное, мнение.

Edited at 2013-01-12 01:48 pm (UTC)
votez
Jan. 12th, 2013 05:55 pm (UTC)
оно на самом деле было в свое время распространено - я его неоднократно встречал в разных источниках. Это, как мне кажется, просто извращённое многими устами утверждение о том, что незаменимые люди склонны наносить наибольший вред. То есть риск, что гений уйдет и всё развалится, может превышать затраты на создание продукта середнячками. Выносить это в степень, что надо всех ровнять по линеечке и выкашивать лучших - очевидный идиотизм. Или желание донести свою мысль (как идентифицировать риски) на гипертрофированном примере, что более вероятно.
igorlord
Jan. 12th, 2013 08:02 pm (UTC)
Преподаватель -- полу-идиот.

С одной стороны, так работают многое крупные компании.

С другой стороны, те крупные компании, которые так работают, периодически "съедаются" мелкими компаниями, работающими по-другому.

Цель руководителя -- нанять "замечательных программистов" и аккуратно направить их бурную энергию на решение задач нужных компании (а не, скажем, второстепенных но технически интересных задач). Ну и за качеством руководитель следить должен, чтобы оно в спешке не страдало.
irene221b
Jan. 12th, 2013 09:32 pm (UTC)
Это Тейлоризм и он давно вышел из моды в программировании. Да, был популярен какое-то время.
ppk_ptichkin
Jan. 12th, 2013 10:14 pm (UTC)
(Тангенциальное)

20-й век, вероятно, уникален: впервые большинство населения стран "первого мира" получило такой же статус, как элита этих стран. Они стали ходить в рестораны, учиться в более-менее тех же школах, занимать на командные посты в армии и т.д. Именно поэтому, наверное, 20-й век - век Штатов.

Изысканных ресторанов на всех не хватит - появились McD. Интеллектуальных работ на всех не хватит, физическая кончилась, но появилась необходимость в перекладывании бумажек. Соответственно вместо немытых пролетариев появились взаимозаменяемые "белые воротнички" в кубах, уходящих за горизонт. Элитных школ и учителей на всех не хватит, появились школы средние и хуже. И т.д.
sidorow
Jan. 13th, 2013 10:56 am (UTC)
Осспади, да что вы тут обсуждаете.
Всё уже украдено до нас - http://lib.ru/FOUNDATION/professia.txt
signamax
Jan. 14th, 2013 02:13 am (UTC)
вы сам представитель "цеховой" профессии или со стороны наблюдатель?

scholar_vit
Jan. 14th, 2013 02:43 am (UTC)
Скорее первое.
(no subject) - signamax - Jan. 14th, 2013 02:48 am (UTC) - Expand
(no subject) - scholar_vit - Jan. 14th, 2013 02:57 am (UTC) - Expand
(no subject) - signamax - Jan. 14th, 2013 03:01 am (UTC) - Expand
(no subject) - signamax - Jan. 14th, 2013 03:13 am (UTC) - Expand
fat_yankey
Jan. 14th, 2013 08:50 pm (UTC)
> всем присутствующим известны замечательные программисты, способные быстро писать прекрасный код, точно решающий поставленную задачу. Они на голову выше остальных сотрудников, и заменить их практически невозможно. Задача менеджера состоит в том, чтобы таких сотрудников выявить и немедленно уволить.

Интересно, почему бы не наоборот? Уволить всех остальных сотрудников и вместо каждых 10 уволенных взять одного такого "на голову выше". Путь Спольского, так сказать. С точки зрения количества продукта выдаваемого на гора разницы нет, зато можно сэкономить на офисных площадях.

> В правильно организованной компании, - подчеркнул преподаватель, - вы можете дать одну и ту же задачу двум разным программистам, и получить практически одинаковый код

Интересно, существуют ли в природе такие правильно организованные компании? Видимо, воспитать таких стандартных программистов всё-таки можно, но этим нужно заняться в школе. Помню, советская школа порождала людей способных писать одинаковые сочинения на заданную тему. Однако их пять лет муштровали, чтоб получить такой эффект. А иначе индивидуальный стиль неистребим.
vlkamov
Jan. 23rd, 2013 07:41 am (UTC)
> Интересно, почему бы не наоборот? Уволить всех остальных сотрудников и вместо каждых 10 уволенных взять одного такого "на голову выше". Путь Спольского, так сказать. С точки зрения количества продукта выдаваемого на гора разницы нет, зато можно сэкономить на офисных площадях.


Сэкономить не получится. Во-первых, понадобится много тестировщиков. Во-вторых, баги, которые не баги а фичи, съедать оставшуюся экономию, а то и более того. Описываемое решение найдено экспериментальным путем, т.е. методом проб и ошибок.
vlkamov
Jan. 23rd, 2013 07:35 am (UTC)
Когда я еду в лифте, предпочитаю софт лифта, написанный "серыми кубиками".

Когда играю в компьютерную игру, предпочитаю, чтоб ее писали "гении".
czaerlag
Jul. 25th, 2013 09:12 am (UTC)
Где-то я этот тезис встречал у аксакалов индустриализации -- чуть ли не у Форда...
Проблема в том, что Форд-то был прав, а данный преподаватель путает программирование с промышленным производством. Создание кода (и всё, что ему предшествует) -- это не производство, это НИОКР. Производство здесь -- штамповка компактов.
Теперь аналогия. Посоветуйте Боингу (или Фольксвагену) уволить всех "гениев" из своих КБ. Чтобы, значить, любому конструктору можно было поставить одну и ту же задачу и получить в результате почти одинаковые решения. Думаю, они будут смеяться.
Хотя, разумеется, никакое КБ на одних "гениях" далеко не уедет. Нужны и рабочие лошадки, и лаборанты, и много ещё кто.
И отдельный вопрос -- как работать с теми, чей талант подпорчен звёздной болезнью или неряшеством (обычно, кстати, эти два недостатка ходят парой). Сложно работать. Иногда даже и невозможно. Легко видеть, что тут не обойтись без очень талантливого руководителя ;)

Edited at 2013-07-25 09:17 am (UTC)
( 71 comments — Leave a comment )

Profile

knot
scholar_vit
scholar_vit

Latest Month

August 2017
S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  

Tags

Powered by LiveJournal.com
Designed by Paulina Bozek