Показать сообщение отдельно
Старый 02.08.2008, 12:56   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Фермер против индустриального рабочего в программировании
Цитата:
...
Ключевыми признаками жизни фермера являлись:

* Прямая личная ответственность за надел и участок работы.
* Значительная свобода в распоряжении своим временем,
* И в результате, переработка, когда необходимо, и свободное время, когда нужной работы нет.
...
Таким образом, ключевыми признаками жизни индустриального рабочего являются:

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

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

Программист рабочий – это рабочий. Он день за днем, месяц за месяцем, год за годом работает положенные ему 10-12-14 часов, которые требует индустриальная потогонная система при отсутствии профсоюзов, выполняет то, что ему сказал менеджер, и ему глубоко до лампочки, получится у менеджмента что или нет. Конечно, вслух он этого обычно не говорит, поскольку система социалистической-индустриальной пропагадны не терпит подобных высказываний вслух, тем не менее, ему действительно глубоко безразличен результат, даже если он и понимает, какой же результат ожидается. Что тоже не часто случается. Программист-рабочий имеет взгляды идеально подогнанные под взгляды его менеджера. У программиста-рабочего нет времени полежать на завалинке и повырезать узорные наличники на окна, или там проследить за состоянием старого сарая на заднем дворе. Сарай – это вообще не его забота. А наличники... Какие там наличники? Пошли вы со своими Кижами! Тут нам надо детали клепать, да побольше и побыстрее! Или там, баги править. Что, кстати, правда, багов в коде написанном программистами-рабочими хватает. Только успевай править и вносить новые. Вот и получаются опусы вроде, «Ты на два часа раньше кончил, пойди почини им вот этот баг!» - «Да, ты что??? Мне пару дней надо разобраться, что у них там и как работает!» - «А ты не разбирайся. Ты просто баг почини. Вот у тебя пара часов есть, так давай, не дури...»

Забавно, что большинство «методик разработки софта» рождались именно как ответ на чаяния менеджеров осуществить своего рода «огораживание» как в Англии, согнать программистов-фермеров с их земель и запереть в больших фабриках.

Я думаю, у читателей уже сложилось ощущение, какой стиль программирования я уважаю, а какой не очень. Подозреваю, что кто-то уже строчит злобный комментарий, насчет моей «устарелости», и вообще, что переход от феодализма к капитализму был «прогрессивным» и «более эффективным», а потому и в программировании то же самое будет, и нечего тут переть супротив прогресса… Так? Так да не так.

Да, норма эксплуатации промышленного рабочего выше чем крестьянина. А вот насчет эффектиности – это еще большой вопрос. Давайте подумаем, а что собственно оптимизировали при переходе к модели промышленных рабочих?
...
Подробнее...
http://www.eldar.com/node/193
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: miklenew (1).