И вот где-то в конце 1994 года другой мой настоящий коллега, Анатолий Григорьевич, который успел поработать торговым менеджером где-то около полугода в конторе у К. и которого я уже упоминал в этой книге, вышел на один очень крупный банк, который даже сейчас я не могу назвать своим именем: ведь драконовский криптографический Указ №334 Президента РФ еще никто не отменял. Пусть это будет просто W-банк. Этот банк закупил сравнительно большую партию установок программы «Криптоцентр» и сразу же зашла речь о дальнейших шагах нашего возможного сотрудничества. Банк имел множество филиалов во всех крупных городах России и поддерживал связь с ними по электронной почте Sprint-Net. Требовалось, используя систему «Криптоцентр» как основу, разработать, наладить и запустить в промышленную эксплуатацию автоматизированную систему защищенного электронного документооборота между филиалами банка и Центром.
Как я был рад вновь общаться с нормальными и интеллигентными людьми! Вместо полубезумных реплик К. – диалог технических специалистов, составление технических заданий, проектирование, разработка, отладка, проверка, – все то, что составляет основу реальных дел, а не пустого фантазерства. Но неужели опять все финансы отдавать К.? Он же не способен ни на что, кроме демагогии, подрывающей авторитет инженера, его участие в этом проекте – гибель проекта.
Однако сам К. почему-то считал, что я являюсь его полным вассалом и все мои работы будут проходить только через его фирму. С соответствующими финансовыми отчислениями – 50% ни за что, только за то, что он сам провозгласил себя великим. А узнав, что такие условия меня не устраивают, устроил, как всегда, театр одного актера: я тебя кормлю-пою, а ты такой неблагодарный.
Он мне уже надоел до чертиков. Но вот-вот должны были поступить Центробанковские деньги за программы, которые я писал специально для ЦБ около года и К., по широте своей душевной, обещал мне с них аж целых 30%. Причем обещал не только устно, но даже письменно. И вот деньги пришли, но вместо моей честно заработанной доли я опять получил только его демагогию.
Break! Пора прерывать гениальность Гениального директора. Выслушав в очередной раз его словоблудие, я на сей раз как можно спокойнее сказал:
– А знаешь что, К., иди-ка ты на х…!
Больше я никогда не видел этого человека.
Глава 4. Next step
Russia. Examples.
Опять милый моему сердцу Лесной район Тверской области. Лес там – всему голова, это основа благосостояния жителей райцентра и окрестных деревень. Лесопилки и различные деревообрабатывающие комбинатики – вот единственная жизнеспособная промышленность, способная там прокормить народ. Бревна, срубы, доски, вагонка, летние дачные домики – все это затем отвозится на продажу в Москву, а иногда даже и в Финляндию – она сравнительно недалеко. Бензопила, острый, как бритва, топор, стамески, долото и всякие другие столярные премудрости – все это в крови у местных жителей, искусство строить избы, колодезные срубы, бани и все прочее из дерева передается из поколения в поколение. Леса вокруг много, но и вырубают его тоже по-черному. А ведь дерево – не трава, за одно лето не вырастет. Но пока еще вырубить весь лес в Лесном районе не удалось. Слишком уж много его там.
Где рубить лес – так называемые порубочные билеты – это определяет местное начальство, районная администрация – бывший райком КПСС. Есть места для рубки получше, туда и подъехать проще, и деревья там прямые и стройные, а есть и похуже – туда проехать можно лишь зимой по замерзшему зимнику и деревья там на болотине похуже, с гнильцой.
И вот один раз, в базарный день – пятницу, идем мы с местным аборигеном Юрой, помогавшим мне строить дом, по центральной базарной площади райцентра Лесное. И вдруг Юра поведал мне одну из маленьких местных хитростей.
– Вон видишь на обочине черная Волга? Это машина главы администрации.
– А зачем она здесь стоит?
– Из нее наблюдают, кто где хлеб покупает. В палатке – наш местный хлеб, он похуже и подороже. А с фургончика продают хлеб из Твери, он получше и подешевле. Но все местные стараются покупать только местный хлеб, потому что если кто-то пойдет покупать хлеб в фургончике, глава администрации его запишет и потом припомнит это, когда будут распределять порубочные билеты.
Вот с этой забавной сценкой из жизни российской глубинки у меня теперь всегда ассоциируется наукообразный термин «административный ресурс».
End of example.
– Хороший ты разработчик, но все делаешь сам, в одиночку. А если с тобой что-то случится?
Такие речи мне часто приходилось слышать от чиновников ЦБ, когда речь заходила о внедрении программы «Криптоцентр-АВИЗО». В их представлении разработка программного обеспечения обязательно должна вестись коллективно, большим колхозом, в котором есть Председатель, Правление, Партийная организация, Местком и множество иных начальников. Так привычнее, но это, как правило, система коллективной безответственности. Такие системы, наверное, хороши в каких-то иных областях деятельности, но только не в математике и программировании, где конечный результат не зависит от начальства. Не может генерал приказать программе перестать выдавать неверный код подтверждения достоверности авизо, избавить ее от «глюков». Это может сделать только программист, который писал эту программу. А сделать ему это будет тем легче, чем меньше постороннего народа совало свой нос в программу. В идеале – если все основные процедуры делал один человек, используя, может быть, только очень хорошо проверенные результаты других людей. А если большую программу одновременно пишет целый колхоз, все модули еще как следует не проверенные, с возможными ошибками, затем все это добро собирается в одну кучу – все, гиблое дело, такой программе нельзя доверять выполнение серьезных задач: непременно «заглючит», а программисты-колхозники будут до бесконечности обвинять в этом друг друга. Мне такое программирование не по душе, поэтому, по возможности, все жизненно важные процедуры в программе я стараюсь делать сам или использовать только то, что уже неоднократно испытано и чему можно доверять (но и все равно обязательно проверять!).
И вот огромный W-банк встал перед выбором: а не страшно ли связываться с программистом-одиночкой? Если бы в этом банке были одни чиновники, то наверняка вместо реальной разработки автоматизированной системы электронного документооборота получились бы бесконечные дебаты на эту тему, но тут мне опять повезло: нашелся в W-банке человек, который отмел все эти дебаты простым и понятным аргументом:
– Всю ответственность я беру на себя!
Это был Владимир Константинович Тяпкин, бывший полковник Советской Армии, инженер, кандидат технических наук.
Что же требовалось W-банку?
Первый раз, когда я появился там, мне запомнилась одна картинка. Старинное здание напротив Кремля, комнаты не то что дореволюционной, а прямо доисторической постройки, типа тех, что можно увидеть в фильме «Петр I» или «Иван Васильевич меняет профессию». Одна комната была похожа на боярскую кладовку: размером примерно 5х5 метров, но самое интересное – наклонный потолок. С одной стороны комнаты – сравнительно высокий, а с противоположной – не больше, чем метра полтора, встать и выпрямиться невозможно. Работало в этой комнате управление информатики W-банка, с одной стороны (с высоким потолком) сидела мужская часть, а с другой, где встать невозможно – в рядок три молодых девушки, которые целый день отправляли по Sprint-Net в многочисленные филиалы банка различные распоряжения, балансы, сводки, статистические отчетности и всю прочую документацию, составляющую основы жизнедеятельности любого банковского организма. И вот требовалось высвободить этих девушек, вытащить их из этой кладовки на свет божий, а всю нудную и однотипную работу переложить на автоматизированную систему защищенного электронного документооборота.
Криптоцентр позволял только шифровать и подписывать файлы, но он не был приспособлен для их рассылки. К тому же у W-банка были свои, специфические требования к рассылке: при получении адресат должен автоматически посылать отправителю подтверждение получения, заверенное своей электронной подписью. Это требование было основано на нескольких реальных случаях из жизни банка. Один раз девушка ошиблась и при отправке платежных документов по Sprint-Net указала неверный адрес получателя. Пока с этим разобрались, произошла задержка платежа и клиент выставил банку штрафные санкции. В другой раз наоборот, банк выставил по Sprint-Net клиенту по каким-то основаниям штрафные санкции, но клиент отказывался их оплачивать, впоследствии уверяя, что не получал их.