Saturday, November 25, 2006

On my way now

За последние 3 недели я посетил Екатеринбург, Амстердам, Киев, и на очереди Самара, Красноярск и Нижний Новгород. С одной стороны, жизнь на колесах/крыльях заставляет пересмотреть излишне гедонистические настроения, по иному взглянуть на казалось бы незыблемые ценности, а с другой стороны оставляет слишком мало времени для анализа ситуации, самоанализа (ну и самолюбования заодно :)).

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

Тот самый кролик

Большинство программистов знает, что ошибки в основном порождаются их собственными действиями. Частенько, как говорится, башку сносит, когда пытаешься проследить проблему и найти причину ошибок, и частенько начинаешь костерить Виндоус, Билла, ну и конечно, того кролика, который написал («your bunny wrote») Visual Studio, Delphi и далее по списку. Разработчики на Java любят вспоминать первоисточник1 вдохновения МакНилли, ну а php-шники просто и безыскусно матерятся, так как не отягощены они излишним образованием в области истории компьютерной философии.

Но на самом деле практически всегда проблема все же порождена собственными руками. Более того, всем прекрасно известно, что 80% или больше времени уходит на отладку, но верить в это никто не хочет, и только провозившись 3 часа над поисками пропущенной инициализации переменной, мы вспоминаем про этот факт, скорее для собственного успокоения, психологической разгрузки так сказать, и идем пить пиво.

Правда, осадочек остается, и кролика уже не забыть, его пепел стучит в наши сердца...

1 По слухам, МакНилли придумал сетевые компьютеры, увидев однажды канализационную систему небоскреба на строительной выставке. Апплеты, сервлеты, тонкие клиенты, пулы коннектов и все все все растет оттуда.

Алюминиевые огурцы

Собственно, чем был вызван пост про алюминиевые огурцы. Большинство ИТ-специалистов настолько далеки как обычных представителей бизнеса, что практически все их действия для непосвященных представителей бизнеса являются именно посадкой алюминиевых огурцов на брезентовом поле. По отдельности все термины вроде понятны – «алюминиевые», «огурцы», «поле», но вот осуществляемые действия, а также смысл применяемых понятий и цель, которая преследуется, совершенно не ясны.

Большинство бизнес-операций составлено из одного и того же набора действий, регулируемых одним и тем же набором правил и документов. Они (бизнесмены то бишь) никак не могут понять, почему каждые три года нужно отвечать на «новые вызовы», «адаптироваться к новым условиям» и поэтому покупать с нуля всю железную инфраструктуру каждые 3 года, а каждые 5-7 – переписывать все приложения или покупать новую [версию] ERP. Некую аналогию дают автомобили – каждые 3 года желательно сдавать их трейд-ин и покупать еще более новый автомобильчик с целью не отстать от соседа... Но у софта нет пробега! Он не портится, будучи размноженным или интенсивно эксплуатируемым. Он... как алюминиевый огурец. На брезентовом поле. Не спрашивайте, зачем его надо сажать – сажайте! Сажайте! САЖАЙТЕ!

5 comments:

Elena Makurochkina said...

> Они (бизнесмены то бишь) никак не могут понять, почему каждые три года нужно отвечать на «новые вызовы»

Дело в том, что если бизнес растет, то меняются бизнес-процессы, причем меняются иногда кардинально. Сейчас некоторые конторы каждый год растут более чем в 2 раза. И у бизнеса в 50 человек потребности кардинально отличаются от потребностей бизнеса в 500 человек (возможный рост за 3 года).
И, даже если бизнес не растет так быстро, то при успешном внедрении системы часто вскрываются проблемы текущего бизнес-процесса что вызывает переработку бизнес-процесса и, как следствие, требуется новыя система.
Т.ч. обычно именно бизнес неудовлетворен тем, как организована его IT система.

Anonymous said...

Класный, пост.

Они действительно иногда не искренне не понимают зачем все менять каждые 5-7 лет.

Сергей Никитин said...

Я тут на днях переставлял литературу на полке, и попалось мне на глаза книжка Голуба (Ален И.Голуб С&C++).
И открылась она на странице где в глаза бросился один абзац:
"В наше время, большинство операционных систем требует 32-разрядных машин с минимум 16Мбайтами оперативной памяти, что бы работать с приемлемой скоростью. Я убеждён, что большая часть этого распухания памяти является результатом небрежного программирования"... Прочитал, посмотрел на 3ГГц-овый пень с гигобайтом оперативки, и задумался....
Какие же кролики пишут весь этот софт?

Alexey Kovyazin said...

Елена, если бизнес так растет, то вопросов, конечно, нет, так как масштабирующегося софта с 50 на 500 тоже нет :)
Но я имел в виду более или менее стабильные предприятия...

Anonymous said...

> Более того, всем прекрасно известно, что 80% или больше времени уходит на отладку, но верить в это никто не хочет...

Все больше убеждаюсь, что одним из самых главных качеств программиста является аккуратность. К сожалению, это качество сложно привить в зрелом возрасте. Зато аккуратность исполнения кода не только повышает удовлетворение от работы, но и значительно уменьшает количество ошибок, особенно таких, из-за которых потом приходится тратить 80% времени на их вылавливание. Правда, общее время разработки вряд ли уменьшится, а на первоначальном этапе даже увеличится. Но это того стоит. При выборе программиста я теперь прежде всего смотрю именно на этот параметр.