Как наши программисты работают в Америке

2009-09-10 15:33 806 Подобається 2

Любой русский программист после пары минут чтения кода, обязательно

вскочит и произнесет обращаясь к себе: переписать это все нафиг. Потом

в нем шевельнется сомнение в том, сколько времени это займет, и остаток

дня русский программист потратит на то, что будет доказывать самому

себе, что это только кажется, что переписать это много работы. А если

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

правильный. На следующее утро русский программист свеж, доволен собой и

без единой запинки докладывает начальству, что переписать этот кусок

займет один день, не больше. Да, не больше. Ну, в крайнем случае, два,

если учесть все риски. В итоге начальство даст ему неделю и через

полгода процесс будет успешно завершен. До той поры, пока этот код не

увидит другой русский программист.

А в это время, в соседних четырех кубиках, будет ни на секунду не

утихать работа китайских программистов, непостижимым образом

умудряющихся прийти раньше русского программиста, уйти позже, и при

этом сделать примерно втрое меньше. Эта четверка, давно не пишет

никакого кода, а только поддерживает код написанный, в свое время

индусом и дважды переписанный двумя разными русскими. В этом коде не

просто живут баги. Здесь их гнездо. Это гнездо постоянно воспроизводит

себя при помощи любимой китайской технологии реиспользования кода -

copy/paste. Отсюда баги расползаются в разные стороны посредством

статических переменных и переменных переданных по ссылке (поскольку,

китайский программист не может смириться с неудобствами вызванными тем,

что он не может изменить значение внешней переменной переданной в его

функцию модулями, которые переписывает русский программист).

Вспоминая об этой функции русский программист, как правило на время

теряет дар английской речи, и переходит к какой-то помеси русского и

китайского. Он давно мечтает переписать весь кусок, над которым

работают китайцы, но у него нет времени. На китайцах висят серьезные

баги, о которых знает начальство и постоянно их торопит. Китайцы

торопливо перевешивают баги друг на друга, поскольку знают, что попытки

их починить приведут к появлению новых, еще худших. И в этом они правы.

Разобраться в том, в каком порядке меняются статические переменные, и

как приобретают свои значения, способен только один человек на фирме -

индус. Но он пребывает в медитации. Поэтому, когда всю четверку уволят

во время сокращения... А кого еще увольнять? Русский - еще не переписал

свой кусок, а индус - главная ценность фирмы - он редко обращает

внимание на проект, но когда обращает, все понимают, что так как он,

архитектуру никто не знает. Так вот, когда китайцев увольняют, у их

кода возможны две основные судьбы. Первая - он попадет к русским и его

перепишут. Вторая - он попадет к местному, канадскому программисту.

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

задумываясь, как рыцарь без страха и упрека, бросится чинить самый

свирепый баг китайского кода. Этот Баг живет там уже три года, и

китайцы уже четырежды (каждый по разу) сообщали начальству, что он

починен. Но Баг каждый раз возвращался, как Бетмен в свой Готхем. Итак,

канадский программист сделает то, чего китайцы не рисковали делать в

течении трех долгих лет. Он, при помощи дебагера, отследит место, где

статическая переменная приняла значение -1 вместо правильного 0, и

решительным движением заведет рядом вторую переменную с правильным

значением. Баг погибнет в неравной схватке с канадским программистом.

Но победа будет достигнута тяжелой ценой.

Работать перестанет все, включая только что переписанный русским

программистом код. Это повергнет русского программиста в задумчивость

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

вывод о том, что дизайн с самого начала был неправильным, и все надо

переписать. На это нам нужна неделя. Да, неделя, не больше. Канадский

программист смело бросится налаживать все, и станет еще хуже, хотя

казалось бы... Эта суета выведет из медитации индуса, который придумает

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

теперь будем поддерживать две версии одного и того же кода - одну

работающую но с Багом, другую без Бага, но не работающую. Русский

программист услышав об этом плане, сломает линейку об стол и дома

обзовет жену дурой, но на митинге возразить не решится.

К счастью, все это не сильно влияет на дела фирмы, поскольку продукт

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

напоминать всем, что они отобраны как лучшие среди лучших. И что мы

давно доказали свою способность выпускать продукт тем, что выпускаем

его иногда.

© Наш Техас, номер 73 (24 января 2003 г.), http://www.ourtx.com/articles?i=73

Коментарі (0)

Додати смайл! Залишилося 3000 символів
Cтворити блог

Опитування

Ви підтримуєте виселення з Печерської лаври московської церкви?

Реклама
Реклама