Про упёртость, логику, бюрократию и внутреннее раздражение
У вас бывает такое, что в силу определённых обстоятельств вам необходимо сделать что-то, что не укладывается в ваши представления о прекрасном / правильном / логичном? Насколько это вас раздражает и как вы с эти боретесь? Казалось бы, на работе тебе платят деньги за то, что ты решаешь определённые задачи. И решаешь их в той форме, в которой это нужно заказчику. Если заказчик требует, чтобы ты забил гвозди микроскопом - бери и забивай, ты ведь осознаёшь, ради чего ты выполняешь эти действия. Но микроскоп всё-равно жалко - вот он, новенький блестящий, только что с завода! И ладно, если бы забивать гвозди должен был гипотетический Вася, но нет - ты должен сделать это сам своими руками и это бесит больше всего.
А сейчас немного подробностей о том, что же меня так зацепило. Есть Итальянская компания, условно назовём её X (и это после моего общения с ними скорее уже русская Х, а не английская), которая производит оборудование (возможно, силами китайцев, но это не точно) для домофонии и есть жилой комплекс с более чем 1300 квартирами. Компания X устанавливает в рамках этого комплекса свой сервер телефонии, который судя по заголовкам является сервером Asterisk (т.е. его можно в принципе настроить как угодно, но доступа к нему у нас нет). В мои задачи входит получить вызовы с этого сервера, обработать и отправить на другой наш сервер. Если упростить (потерпите, ниже будет интерпретация в совсем простых понятиях, начиная с выделенного оранжевым), то обычно для связи одного сервера с другим обычно используется одно соединение (транк), через которое сервер А на сервере Б делает вызов с номером С. Это нормальная стандартная практика, через одно такое соединение может одновременно идти несколько вызовов. А теперь стратегия того, как это предлагает решать компания Х: со стороны своего сервера я должен зарегистрироваться на их сервере 1300+ раз и поддерживать постоянно 1300+ соединений, а они будут делать в мою сторону вызов по одному из этих соединений. Г - Логика! Причём соединения эти периодически отваливаются и процесс регистрации запускается заново. Внимание, вопрос знатокам: что проще - отслеживать одно соединение или следить за 1300+ соединениями? Ответ очевиден. Но это ещё половина беды. Вызов, приходящий со стороны компании Х не содержит в себе номера и даже из заголовков пакета невозможно узнать, какой номер был набран на домофоне. А узнавать это предлагается по соединению, с которого пришёл вызов. Если это ещё упростить, то представьте себе завод, на заводе работает 1300 человек и есть контрольно-пропускной пункт с охранником, который проверяет пропуска у входящих на территорию. А теперь мы отбираем у всех рабочих пропуска, но строим по периметру завода 1300 контрольно-пропускных пунктов, на каждом из которых сидит отдельный охранник, задача которого раз в сутки впустить и выпустить конкретного Васю, которого он знает в лицо. Причём за охранниками надо следить, платить им зарплату, смотреть, чтобы никто из них не забухал и все вышли на работу, иначе Васи не попадут на завод и не выполнят свою функцию. Для слежения за таким количеством охранников нужно нанять ещё несколько человек, которым нужно платить зарплату и т.п..
Саша, я знаю, что ты меня читаешь и поймёшь мою боль, одним словом, диалплан придётся генерировать отдельно под каждую регистрацию.
Что же мешает уволить всех охранников кроме одного и перейти на стандартную систему? Бюрократия. Позиция владельца завода такова, что если нам нужен один КПП вместо 1300, то вместо того, чтобы просто распустить охранников и закрыть лишние двери, нам нужно созывать совет директоров, выделять миллионы, чтобы сравнять текущий завод с землёй и на его месте построить новый под наши хотелки и с одним кпп. Для понимания - с их стороны в конфигурационных файлах нужно добавить или изменить десяток строк и всё заработает как положено.
Мне дали контакт человека с их стороны. Позиция у них принципиальная - "мы так работаем, мы не можем ничего менять". На любые доводы ответ - "давайте мы вышлем на объект своего специалиста, он подключится к серверу сип-клиентом и мы вам покажем, что звонок проходит". На мой ответ, что я понимаю, что звонок проходит, убийственный аргумент - "а чего вам тогда ещё надо, всё ведь работает!". Далее вольный перевод диалога на русский язык:
- Давайте мы приведём конкретного Васю и вы сами увидите, что он пройдёт на территорию завода!
- Но Вася и так проходит на территорию завода!
- Так чего вам ещё нужно? Значит, всё работает!
- Но почему всё устроено именно так? Ведь мы будем вынуждены следить за 1300 охранниками и платить им зарплату, это нецелесообразно!
- Но ведь Вася на завод прошёл?
- Прошел.
- И Петя прошёл?
- Прошёл, но завтра они могут не пройти!
- Почему? Потому что охранник Васи или Пети может забухать и остаться дома.
- Давайте мы приедем завтра с Васей или с Петей на ваш выбор и проверим.
- А если завтра забухает охранник Серёжи?
- Ну хорошо, давайте тогда мы завтра с Серёжей приедем. Чего вы от нас ещё хотите?
- А давайте весь штат завода соберём и попробуем дружно позаходить и повыходить одновременно!
- Как вы себе это вообще представляете? Там 1300 человек! Как мы это проверять будем?
- А мы как? Вы понимаете, что из-за того, что охранников много, они друг другу периодически мешают? Создают толпу на входе после выхода на перекур и не могут пролезть в свои будки?
- Ну, пока ещё завод не работает на полную мощность и не всё отлажено.
- Именно это нас и пугает, не думаем, что дальше будет лучше.
- А что вы предлагаете?
- Уволить всех охранников, оставить одного.
- А если он забухает - на завод вообще никто не попадёт?
- Если он забухает, это очень трудно будет не заметить, на этот случай у нас будет огромная сирена, которая будет орать как стадо крокодилов, перерабатываемых на сумочки, если охранника не будет на рабочем месте, плюс самого охранника никто не будет отвлекать и ему можно будет платить тройную зарплату, что положительно повлияет на его надёжность. А на сдачу можно нанять ещё одного, который будет страховать первого и выполнять его функции, если с ним что-то случится. И ещё мы сэкономим несколько миллионов на зарплатах!
- Ну, если вы считаете, что это правильно, договаривайтесь с нашим начальством, подпишем новый контракт и заложим план нового завода с одним КПП персонально для вас!
- Но ведь это одна бумажка от HR, которую напишут за 20 минут.
- Нет, ну что вы! Это постройка завода по индивидуальному проекту на несколько миллиардов!
- А можно поговорить с начальником вашего HR отдела?
- Извините, но такую возможность мы вам предоставить не можем. Досвидания.
И ладно бы это было способом заработка, но нет. Схема с 1300 КПП на объект в силу своей меньшей надёжности может негативно повлиять на репутационные издержки самой компании, строящей заводы, а стоимость заключения нового контракта под индивидуальные требования сводит к нулю вероятность того, что на это кто-то согласится. Не понимаю, в чём их выгода.
Сегодня мне предстоит писать систему "найма и обучения охранников". Совершенно бессмысленное и бесполезное с моей точки зрения занятие, но за это платят деньги. Попрошу у жены тефлоновый лист для выпечки, подложу под пятую точку, чтобы не сжечь диван и буду писать.
Теги: админское, подгорание