Зарегистрируйтесь без указания e-mail всего за 1 минуту! Скорее нажмите сюда!
Amor Ex Machina? Maybe.
 

Ко всем записям блога

Хозяин дневника: Spirit достал  

Дата создания поста: 19 апреля 2011, 19:07

Как мы работаем в Америке

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

А в это время, в соседних четырех кубиках,
будет ни на секунду не утихать работа китайских программистов, непостижимым
образом умудряющихся прийти раньше русского программиста, уйти позже, и при этом
сделать примерно втрое меньше. Эта четверка, давно не пишет никакого кода, а
только поддерживает код написанный, в свое время индусом и дважды переписанный
двумя разными русскими. В этом коде не просто живут баги. Здесь их гнездо. Это
гнездо постоянно воспроизводит себя при помощи любимой китайской технологии
реиспользования кода - copy/paste. Отсюда баги расползаются в разные стороны
посредством статических переменных и переменных переданных по ссылке (поскольку,
китайский программист не может смириться с неудобствами вызванными тем, что он
не может изменить значение внешней переменной переданной в его функцию модулями,
которые переписывает русский программист).

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


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

О, канадский программист это особый тип. Он ни на минуту
не задумываясь, как рыцарь без страха и упрека, бросится чинить самый свирепый
баг китайского кода. Этот Баг живет там уже три года, и китайцы уже четырежды
(каждый по разу) сообщали начальству, что он починен. Но Баг каждый раз
возвращался, как Бетмен в свой Готхем. Итак, канадский программист сделает то,
чего китайцы не рисковали делать в течении трех долгих лет. Он, при помощи
дебагера, отследит место, где статическая переменная приняла значение -1 вместо
правильного 0, и решительным движением заведет рядом вторую переменную с
правильным значением. Баг погибнет в неравной схватке с канадским программистом.
Но победа будет достигнута тяжелой ценой.

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

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

Извините, но прежде чем оставить комментарий, следует ввести логин и пароль!

(кнопку "ВХОД" в правом верхнем углу страницы хорошо видно? :)

Попасть в "15 мин. Славы" ⇩