Программирование под дулом пистолета

?v=1

В автоматизации бизнеса часто встречаются т.н. «проекты-проститутки» (термин не я придумал). Это клиенты, над решением задач которых поработали толпы разных людей, без единого центра принятия решений, какого-либо анализа, продуманной архитектуры и здравого смысла. Клиент просто придумывает хотелку, программисты просто реализуют.

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

Клиента, понятно, такой подход раздражает. Только привыкли к одному спецу, или хотя бы запомнили его имя и телефон, как получают другого. Нужно заново всё объяснять, показывать, а то и платить за «проанализировать, как у вас всё устроено» — документации, естественно, никогда нет. Большинство клиентов уже смирились, потому что поняли — так везде, в любой конторе по автоматизации, даже у фрилансеров.

Но некоторые клиенты, в силу индивидуальных особенностей, мириться не готовы. Одни берут программиста в штат, другие бесконечно перебирают «партнёров», третьи периодически разрубают гордиев узел — запускают новый большой проект автоматизации. А некоторые стоят над душой программиста с пистолетом.

Я тогда был тем самым программистом средней руки — опыт кое-какой имелся, но не настолько серьёзный, чтобы работать в штурмовых бригадах. Подошел менеджер и сказал, что есть задача по очередному проекту-проститутке. Правда, говорит, у клиента особенности есть. Я пропустил эти слова мимо ушей — мало ли, у кого какие особенности.

Спросил, кто раньше работал с этим клиентом. Оказалось, больше половины всех наших программистов. А сейчас, почему-то, никто особо уже и не хочет — то ли заняты, то ли фиг пойми что. Короче, иди, говорит менеджер, больше некому. Благо, от нашего офиса пешком можно было дойти минут за 5–10.

Контора находилась в офисном здании, но вход, почему-то, был с заднего двора. Нажал на кнопку звонка, представился, услышал «ожидайте». Прождал минут десять (как потом узнал, они звонили к нам и узнавали, точно ли мы к ним прислали такого-то спеца) и, наконец, вошёл внутрь. Меня встретила девушка-бухгалтер, проводила в переговорку и усадила за большой стол. Подключился к их системе с ноутбука, она показала, что надо сделать — небольшие доработки большого цветастого отчёта. Ну и ушла.

Полчасика я работал в полном одиночестве, успел немного освоиться и расслабиться — и почему никто не хочет с этими милыми людьми работать? — как вдруг в переговорку вошёл странный тип. Молча проследовал во главу стола и развалился в кресле. Я поздоровался, но ответа не услышал. Ладно, хрен с ним — мало ли, вдруг это собственник, не царское это дело с программистами здороваться.

Человек был весьма примечательный. Первое, что бросилось в глаза — лицо со шрамами и выражением типичного представителя успешно выживших в 90-е. В то время картина такие персонажи часто встречались, поэтому я особо не удивился. Но, на всякий случай, выпрямил спину и уставился в монитор.

Боковым зрением я заметил, что человек разглядывал меня несколько секунд, после отвернулся и начал что-то бубнить — то ли песенку напевал, то ли просто сам с собой разговаривал. Когда он поднял руки и положил их на стол, пиджак оттопырился и я заметил странный предмет. Потому понял, что это кобура. Что в ней было — не знаю, но на всякий случай предположил худшее, выпрямил спину ещё прямее, сделал предельно сосредоточенное лицо и ритмично застучал по клавишам.

Чувак продолжал что-то бубнить, раскачиваться на стуле, иногда — заглядывать в телефон. Я старался делать вид, что не обращаю на него никакого внимания. Мы ведь в 21 веке живём, находимся в центре немаленького города, не пристрелит же он меня, в конце концов? Наверное, просто приглядывать за мной прислали. Та самая девушка-бухгалтер.

Тут, по тому самому закону природы, вернулась девушка. Спросила, как прогресс — я показал, было уже почти готово. Вместе поковырялись, покрутили-повертели отчёт, результат её устроил. Сказала заканчивать и заливать в рабочую базу, а сама пошла поболтать с чуваком.

Говорили они как-то необычно громко — хотя, может, мне так казалось, после долгого программирования в тишине. Они обсудили каких-то неизвестных мне людей, события и дела, после чего человек вдруг мотнул головой в мою сторону и спросил — «чё, как он?». Девушка тоже посмотрела на меня и ответила «ничё вроде, умнее предыдущего». Оба улыбнулись, и девушка вышла из переговорки. В моей душе, наконец, появилась искорка надежды на то, что я сегодня буду ужинать дома.

Но тут чувак громко сказал: «а я всегда говорил: с умными мальчиками надо разговаривать с пистолетом в руке». Смотрел он при этом куда-то в сторону. Я, на всякий случай, решил сделать вид, что ничего не слышал. Сделать спину ещё прямее не получилось.

Следующие полчаса прошли в полной тишине. Чувак, почему-то, перестал бубнить и сидел очень тихо. Напряжение нарастало. Мне казалось, что он притих потому, что ждёт ответа на свою реплику. Я судорожно пытался придумать, что сказать. Моя прямая спина, по которой уже можно было сдавать начертательную геометрию, неприятно взмокла.

Дальше выносить это напряжение я не мог — решил, что хуже уже не будет. И спросил, где тут можно воды попить. Чувак почему-то никак не отреагировал — сидел и смотрел в телефон. Я уставился на него и ждал. Думал помахать рукой, но вовремя понял, что так лучше не делать — вдруг у него мышечная память как-нибудь не так отреагирует, и начнёт палить по моей ладони.
Поэтому я продолжал на него смотреть. Через пару минут повторил вопрос, и он, наконец, меня услышал. И переменился в лице так, как может только Леонардо Ди Каприо.

Посмотрел на меня, расплылся в радушной улыбке, и вежливо произнёс: «прошу прощения, не расслышал». Я повторил — где тут у вас можно воды попить? Чувак весь подался вперёд, и он немного виноватым тоном сказал: «я глуховат после контузии, прошу прощения, можете чуть громче?». Тут уже я не сдержался и улыбнулся. Ну и разговорились.

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

Просто как-то раз, очередной «партнёр» решал элементарную задачу весьма экзотическим способом. У них есть поставщик с массой расчетных счетов. Ввиду специфики бизнеса, деньги поставщику надо отправлять на строго определенные счета, в зависимости от сделки и покупаемых товаров и услуг. Счета на оплату поставщик им не выставляет, всё работает на человекопонятном алгоритме. Вот этот алгоритм и решили автоматизировать.

В принципе, программист всё сделал правильно — условия для выбора расчетного счета работали адекватно. Только вот реквизиты для оплаты (номер счета, БИК, кор.счет) программист, по ему одному известной причине, вписал прямо в код. И жило оно неплохо — до тех пор, пока ЦБ не прикрыл очередной банк за хрен-там-знает-что.

Человек на платежах об этом знал, и заблаговременно внёс изменения в справочник расчетных счетов — отредактировал существующую запись, изменив номер счета, банк и т.д. Чтобы отчеты по движению денег на расползались на две строки. Алгоритм программиста, естественно, такого не мог потерпеть — номер счета был зашит жёстко в коде. Вот деньги и ушли в тонущий банк.

Вообще, ситуация распространённая — там есть какой-то временной лаг между объявлением о закрытии банка и прекращением транзакций через него. Если кто-то успел запулить во время этого лага деньги, то их потом проблематично достать обратно — надо действовать очень быстро и решительно.

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

Короче, с горем пополам вырулили. Но теперь создают для программистов особую атмосферу. На всякий случай.

© Habrahabr.ru