Рядовой программистских войск
От: mrozov  
Дата: 06.06.08 09:45
Оценка: 51 (9) +1
Во многих видах человеческой деятельности (хотя, пожалуй, и не во всех) есть понятие «рядовой исполнитель». В армии это рядовые. На заводе это рабочие. В офисе это клерки. Оставим в покое уничижительную социальную составляющую (ха-ха, твой папа просто кандидат спорта, а мой – мастер, мой твоего побьет…), поговорим о самой сущности роли «исполнитель». Это вообще что за гриб такой? Младший по должности? Не имеющий подчиненных? Но тогда индивидуальный предприниматель – тоже рядовой исполнитель. Нет, что-то тут не так.

Можно говорить о самостоятельности в принятии решений. Рядовые в армии такой самостоятельности типа лишены полностью. Так-то так, а так-то и нет. Разве сержант выдает своим солдатам перед атакой письменный приказ с перечислением порядка перестановки ног? На какой секунде согласно ГОСТ-у полагается кричать «ура» и сколько в этом крике должно быть децибел? Да вроде нет.

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

Рядовой исполнитель отвечает (по должности, имеется в виду, а не по факту) за невыполнение приказа, халатность, лень или просто профнепригодность. Но не за отсутствие результата. За ошибку – но не за упущенные возможности. С нерядового – можно спросить за то, что он не додумался до выхода из ситуации. В этом разница.

Это, кстати, в полной мере относится к представителям так называемых «творческих профессий». Нет результата – пошел в задницу. Мера стараний и степень жизненных и профессиональных проблем никого не интересует.

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

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



Какое отношение это имеет к IT? Ну… А как думает уважаемый all, в IT есть понятие «рядовой исполнитель»? Если да – то кто он? У уважаемого all-а мнение, конечно, свое, но и у меня оно тоже есть. И я им, конечно, поделюсь, и хрен вы меня удержите.

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

Лирическое отступление. У меня дядя – как раз рабочий. Рабочий, который работает на заводе. За станком, ага. Частью его работы является написание программ для этого самого станка. Кажется, на фортране, не помню. Так, к слову пришлось. Рабочие, они разные бывают.

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

Если руководство компании считает программистов рядовыми исполнителями, то сами, своими руками, подносят себе на блюдечке с голубой каемочкой задницу. Причем не какую-нибудь аппетитную, девичью попку, пахнущую душистым мылом, отнюдь. Рядовые исполнители автоматически перекладывают ВСЮ ответственность на всех окружающих (и они абсолютно правы). Менеджеров проектов в таких компаниях почему-то принято ненавидеть, хотя по-идее их как раз нужно пожалеть.
Руководство других компаний понимает корреляцию между свободой и ответственностью и изначально позиционирует программистов, как нерядовых исполнителей. Творцов там или ученых – это уже детали. Тут задница тоже появляется на сцене, хотя уже и с меньшей неизбежностью. Почему?

Имхо, дело в том, что рожденный ползать летать не может. Ну не дано. А если волевым усилием сможет – то низенько и медленно. Мало сказать человеку – вот тебе нашивка на рукав, повышение зарплаты, ты теперь Руководитель (сам себе, в данном случае). Нужно, чтобы человек был внутренне готов (да и просто способен) брать на себя ответственность за успех своего Дела. А это банально не всем дано. И опять же – нет тут никакой связи с интеллектом, образованием и знанием c++. Человек может быть блестящим программистом и даже проектировщиком, но любой ответственности бояться, как огня.

У таких людей всегда есть масса отмазок – почему они не хотят брать эту самую ответственность. Мало платят, аналитик – дура, проект – неинтересный. Однако – повысь им зарплату, приставь хорошего аналитика и дай интересный проект, а толку не будет. Ну не дано. Не всем же быть генералами, в самом деле.

А когда человек, который внутренне готов делать только то, что необходимо (т.е. приказы выполнять, на самом-то деле), сталкивается с проблемами, которые требуют инициативы, нагружения самого себя дополнительной работой, рисками и т.п., то что он делает? Ищет оправдания для будущей неудачи. Оправдания, а не возможности, как сделал бы прирожденный лидер.

Обратных примеров тоже навалом. Ответственных программистов тоже полно… в каком-то смысле. Проблема в том, что хороший технический специалист, готовый брать на себя персональную ответственность за успех проекта – это же идеальный PM. Толковое руководство тут же его повышает, дает вести свой проект и… теряет ответственного программиста. Диалектика, однако.

Успешная компания может исхитриться нанять себе целый штат таких спецов. А потом рассказывать о том, что всем своим успехам она обязана внедрением новейшей методологии управления процессом учета рисков и прочему маркетинговому булшиту. Ага, щаз. Однако на всех их не хватает. И пока объем заказов на ПО в мире растет – никогда хватать и не будет. И никакие методологии управления процессами тут ничего поделать не смогут. Зато если рынок схлопнется, то через достаточно короткое время все вдруг само-собой устаканится. Окажется, что когда лучшие IT-менеджеры управляют лучшими программистами, требования собирают лучшие аналитики, а продукт тестируют лучшие тестеры, то старый-добрый водопад тоже отлично работает.

P.S. Не зависит это от зарплаты. Видел, как человеку временно подняли оплату труда в два раза. Без толку — выше головы не прыгнешь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.