Stromboli
11:29 19-10-2007 И такая дребедень — целый день, целый день! (c)
Женя М. навела на мысль об интересном сравнении профессий. Она, Женя, заведует педиатрическим отделением в детской поликлинике, и, к ее печали, в работе много рутины. Отчетов больше, чем настощей работы.

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

Но работа программиста лишена этого эффекта. Причем не случайно, а принципиально.
Есть такая мысль: "Отличный программист — это такой, который любую работу делает не более одного раза."
Имеется в виду, что код своих программ программист проектирует с учетом возможности его повторного использования в дальнейшем, а собственные повторяющиеся операции программист автоматизирует.
Таким образом, программист всегда остается свободен от рутинных однообразных повторов.
Комментарии:
pauluss
12:29 19-10-2007
Если опытный программист лишен грамотной постановки задачи, которая в свою очередь может появиться на свет только в результате грамотной работы архитектора, которая в свою очередь может появиться на свет только в результате грамотной работы аналитика, то сколь бы грамотным он не был, а переделывать ему один и тот же кусок до зубной боли и камней в почках
Stromboli
14:08 19-10-2007
paulus Ты одновременно в чем-то прав, а в чем-то не очень

Действительно, от аналитиков и архитектора в большой степени зависит, ЧТО программист будет пытаться сделать, т.е. изготовить, и насколько сильно это не будет похоже на то, что будет востребовано в итоге.
Но, с другой стороны, программисту надлежит так декомпозировать свою работу, чтобы его код распадался на отдельные максимально универсальные компоненты. Эти компоненты должны быть самодостаточны. Они могут впоследствии использоваться в других задачах, и они не зависят от задачи верхнего уровня.
pauluss
14:55 19-10-2007
Stromboli Принципы программирования абсолютно правильные. Но если примерить их на тему поста - то есть как лекарство от рутины, то хочется заметить, что причиной рутины в работе программиста в 90% случаев является плохая постановка задачи. И только 10% я оставляю на не грамотное программирование (исходя из собственного опыта программиста, архитектора и чуть чуть аналитика).
Стало быть от программиста не так уж и зависит, будет рутина в его работе или нет. Это гораздо в большей мере зависит от тех, кто выше.
И исключив своим профессионализмом 10% рутины, он никак не сможет избавиться от 90%
Stromboli
15:09 19-10-2007
paulus Может быть, в зависимости от специфики той или иной компании и отрасли, рутина в процентном отношении по признаку происхождения имеет перекос в сторону внешних ("верхних") сторон. Но, по моим наблюдениям, доля рутины (любого происхождения) в работе программиста в целом не так высока.

То есть, те 90% рутины при грамотной организации труда в абсолютном значении невелики.
pauluss
15:42 19-10-2007
Может быть это действительно зависит от специфики. Я учавствую в разработке учетных систем (ERP, CRM). И самая большая беда у нас возникает в случае, когда пишется непродуманный (или хотя бы недостаточно продуманный) кусок или его связи с другими кусками. В этом случае количество итераций "Программист <--> Заказчик" по одному, даже небольшому участку, может быть очень большим. Программист в этом случае по сотне раз переписывает один и тот же функционал, постоянно что-то добавляя/удаляя. Это вроде бы и рутиной не является, но устаешь (психологически прежде всего) от такой работы так-же сильно как от рутины.

А вы что пишете?
Stromboli
16:14 19-10-2007
paulus А я пишу программный комплекс по автоматизации работы с прайс-листом в коммерческой фирме.
Аналитиком и архитектором в этом проекте являюсь я сам
До этого я работал в разных фирмах. Писал продукты для сисаднминов, шароварные продукты, GUI-библиотеки и пр.

Программист в этом случае по сотне раз переписывает один и тот же функционал, постоянно что-то добавляя/удаляя.
Да, знакомо. У меня тоже такое бывало.
В аспекте обсуждаемой темы следует для разрабатываемой системы удачно спроектировать объектную схему. Чтобы плуг капризов заказчика неглубоко пропахивал структуру программы. Существуют же какие-то инварианты, заложенные в начале или выявленные в процессе.
Protocol F
03:48 22-10-2007
Stromboli Путаешь теплое с мягким.
"Женя, заведует педиатрическим отделением в детской поликлинике" вот собственно - заведует и поликлинника (т.е. госструктура). Программер в частной конторе, которая либо продает софт, или держит программера для автоматизации производства, должен выпускать продукт и все. больше никого ничего не интересует. В той же поликлиннике есть слесарь дядя Вася, который починяет по мелочи. У него тоже рутины нет. Сплошное творчество, если вдуматься - из ничего залатать трубы, кровати, двери, электрику. И дядя Вася и программер - просто исполнители. Ответственность только по срокам и деньгам. Не сдал в срок - пролетел с премией (а она это 75% зарплаты, допустим).
А вот начальник - он отвественнен за бюджет и ресурс. И чем сложнее структура (а что бывает сложнее гос.структур?), тем больше в его работе рутины. Потому что это бумага - отчеты, планы, доносы и челобитные.
А что касается другой рутины, т.е. просто однообразного труда (как человек на конвеере, закручивающий одну и ту же гайку), то в зависимости от функционала, никто от этого не застрахован. В конце концов, работник постоянно меняющий метод своей работы - кране ненадежен для работодателя. Где тогда определить профессионализм такого сотрудника, если он каждый день, придумывает что-то новое? Ведь когда-нибудь он столкнется с проблемой, которую не сможет решить?
И все же мне кажется, в этом плане лучше всего сисадмин устроился. Автоматизируя прежде всего свой труд, он автоматизирует работу конторы. Чем меньше админ бегает ногами, тем быстрее исправляет косяки в работе сети. Т.е. работая на облегчение своего труда, админ выполняет свои прямые обязанности. Лишь бы бекапы делать не забывал.
Stromboli
02:37 23-10-2007
Админ Г Савкин Я вполне согласен с твоим наблюдением причины такой разницы в работе на разных должностях.

Замечу только вот что.
дядя Вася и программер - просто исполнители
Я хотел бы обратить внимание на то, что существуют также сугубо исполнительские рутинные должности, и их немало. Как правило, эти должности связаны с переработкой бумажек: всякое там "внесение в компьютер", сортировка, пронумеровывание, прикрепление к папочкам и т.д. Еще есть работы типа администратор на ресепшене и т.д.
Protocol F
06:34 23-10-2007
Stromboli Ну на то мы и работники интеллектуального труда (knowlege worker по дяде Биллу) ) так что сравнивать хуй с пальцем?
Stromboli
04:05 24-10-2007
Админ Г Савкин Ну зачем же так грубо? Между прочим, многое в нашей жизни зависит от перекладывателей бумажек. В том числе, от их внимательности, ума и добросовестности.