Заметки госслужащего на временной ставке
Дух Марка Твена и Зощенко витает над февральским Иерусалимом. (Фото: «Nautilus»)
В последнее время меня приглашают в госучреждения на замену уходящих «в декрет» тёток: 3-4 месяца сравнительно спокойной жизни, а иногда ещё и интересной работы, которую «заменяемый» контингент выполнить не способен в принципе.
Население в Иерусалиме в основном религиозное, и поэтому постоянно растёт - так что «мазаль тов» в обоих смыслах!
Сейчас завершается мой очередной «заход» в… не буду говорить, какое министерство: можно подводить итоги работы, а заодно и оценить, как тратятся бюджетные деньги. Тем более что в «ковидный» год у нас был внедрён весьма своеобразный способ работы над проектами, оценить преимущества которого мне так пока и не удалось. Свежих впечатлений очень много, но для краткости я просто фиксирую для памяти некоторые моменты. Итак:
1) Около 15 сентября в «конторе» принимается стратегическое решение, что к 1 января надо сделать проект «Имярек», который год валялся где-то на полке, и наработки на который никто не проверял: ни один программист документации не касался. Что делать – пока тоже не очень понятно; всё крайне смутно: «обрабатывать данные в форматах XML и JSON» - заносить данные их них в Базу Данных (на SQL Server), но зато срок уже есть.
2) Тогда же принимается решение, что делать проект буду я. А я с 15-го уже уволен (в смысле: контракт закончился, молодая мама вернулась получать зарплату). Когда удастся меня заполучить обратно, неизвестно (как только, так сразу). В условиях пандемии и карантина - не ясно вдвойне. Но мне уже сообщают, что возможно возобновление контракта на предмет нового «какого-то» проекта. Всё, и никакой другой информации…
3) В тот же день, 16-го же рассылается документ с XML-форматом – как мы хотим получать данные. Отдельно об этом XML-документе: если коротко - «бред сивой кобылы в лунную ночь». Так XML не пишут! Достаточно потратить 5 минут поиска в Google, чтобы усвоить основные принципы, хотя бы главный – это «дерево». А у наших же мудрецов вышло что-то плоское, как как футбольное поле. Посоветоваться с программистом (с любым!), как видно, сочли излишним. Я же вообще узнаю о существовании такого документа только 16 декабря: как бы «шотеф 90+» (т.е. отложенная на 90 дней оплата).
4) На меня выделяются деньги, и с 29-го сентября возвращаюсь к работе. Мне передают «материалы» (как теперь понимаем, отнюдь не все). Поскольку главное в проекте – это База Данных, начинаю разбираться с её описанием. Определены (более или менее) 43 таблицы. Изучение их описания приводит к мысли о том, что «кое-что пропущено». Восстанавливаем «пропущенное» до 106 таблиц, которые порой приходится просто изобретать.
5) Поскольку начальник проекта Ф. в основном руководит «3 минуты по телефону раз в неделю», меня замыкают на системного аналитика Ж., которая вроде как связана с заказчиком. Она умная тётя, всё понимает, со мной соглашается, обещает переговорить, убедить, сделать... Правда, очень быстро выясняется, что на ней «висят» ещё 25 проектов (мой – где-то в конце второй десятки), а по сему: «ждите ответа».
В контекстеЯйца и комиссии Еще до кризиса масло исчезло из магазинов. По какой-то причине израильская корова - абсолютный чемпион мира по надоям - не может дать нам масло... Потом наступил кризис яиц. Похоже израильские куры решили бастовать накануне праздника Песах.
6) В нормальном варианте работа с требованиями заказчика - это улица с двухсторонним движением: требования «утрясаются» и «согласовываются». В нашем же случае за 4,5 месяца между нами не было организовано не то что встречи, даже телефонной беседы! Зато на любую мою просьбу к заказчику, переданную через Ж. (и, кстати, ею всецело поддержанную!) ВСЕГДА ответ был один – «НЕТ». Ну, не сразу, конечно, а где-то через месяц.
7) Поскольку исходные данные уточнялись, изменялись и дополнялись, описание Базы Данных было закончено примерно 2-го декабря (насколько «примерно» - увидим ниже). Но зато с 1-го ноября, через два дня на третий, Ф. начал донимать меня вопросами, «когда можно будет поднять пайлот проекта»? На встречный вопрос: «а где пример вашего XML?» ответ один и тот же - будет. Что должен включать в себя «пайлот», объяснить письменно никто почему-то не решается.
8) «На сухую» сооружаю болванку проекта (проектов – это Angular + Web API), при этом изобретаю и графический дизайн, и HTML + Bootstrap (RTL) + CSS... Это даже не Full stack, а One man band. Не беда, бывало и хуже! Есть основные элементы, включая авторизацию; Ж. по моей просьбе вручную заполняет по нескольку строк в самых-самых необходимых таблицах, и - проект «с нуля» создан! Ура!
9) Назавтра, 16-го декабря, мне на случайной встрече сообщают, что существует «тот самый» документ, XML - как «требования к заказчику». Поэтому тот XML, который я строил как пример (надо же с чем-то работать?!), можно свернуть в трубочку… «Правильный XML» этот пересылается мне, и следующие два дня я пил с горя. Коррективы в эту ахинею внести нельзя никак – всё, «Тора с Синая»... Почему, ведь заказчик даже не начинал с ним работать?! А вот «по кочану» - нельзя, и всё тут!
10) Опять приходит Ф. с вопросом, можно ли поднять «пайлот» к 1-му января? На встречный вопрос: «Пайлот чего?», - он уже даже и не обижается. Но зато клянётся, что к 24 января материалы от заказчика будут, а к 1-му февраля «кровь из носу проект надо поднять». Догадываюсь, чей нос это будет... Впрочем, ни к 24-му, ни к 1-му февраля, как вы догадываетесь, никто ничего не прислал.
11) 31-го декабря (чтобы достойно закончить «ковидный» год) собирается единственное совещание по проекту, с участием «системщиков» - как проводить авторизацию. То, что я сделал, оказывается уже жутко устарело, зато вот-вот БУДЕТ «что-то новое» и «обалденно совершенное»! Поскольку чем светлее будущее, тем больше споров оно вызывает, и поэтому системщики прямо там же, на встрече, начинают ругаться между собой, что и как должно быть.
12) Ещё через пару часов системщики между собой вроде как договорились, мне говорят, что «всё скоро будет», работай спокойно. Ещё недели через полторы мне сообщают, что описание процесса будет сделано, и мне обязательно пошлют мейл - «что, как и в каком порядке». Кстати, мейл этот я действительно получаю – ровно через месяц, 10-го февраля: у отправителя был указан НЕПРАВИЛЬНЫЙ мой адрес почты. Воистину лучше поздно!..
13) В начале января заболела Ж. Она – сравнительно молодая религиозная женщина, поэтому у неё пока только шестеро детей, но и этого оказывается достаточно - кто-то, естественно, принёс заразу домой. За пару недель Ж. относительно выздоровела, но в офисе пока так и не появилась, работает «по удалёнке». Теперь даже по телефону с ней поговорить проблема: она всё время в ZOOMе, а мой приоритет у неё где-то восьмой. Зато пачками приходят «режекты» на ВСЕ мои прежние просьбы к заказчику (с Ж. согласованные, утверждённые и давно «сделанные»), так что переделывать обратно работы хватает.
В контекстеПомесь вируса и бюрократа Заметим, нас предупреждали не вообще. Мол, может, от крысы, может, от канарейки… От китайской летучей мыши — говорили нам. И получили мы коронавирус от китайской летучей мыши.
14) Привожу в порядок несостоявшиеся изменения, иногда удаётся дозвониться до Ж. (сама-то она не звонит) и получить от неё обещание «подослать материалы»: примерно в 1/3 случаев обещание выполняется. Параллельно воюю за выделение места на серверах. Каждая описанная в мейле просьба дополнительно требует в среднем трех телефонных звонков и одного скандала. Но - продвигаемся...
15) Места на серверах дали, однако админ доступа к ним не даёт. Ладно, поднимай коды сам: дважды copy + past, среднее время ожидания часа три. Зато наконец-то, за неделю до dead line, мне выделяют DBA (специалиста по SQL Server), у которого есть permission и на BAK и Restore, и на внешние ключи, и на процедуры... Мне такой роскоши не позволяли, поскольку за все перечисленные удовольствия надо было бы платить дополнительные деньги, которые бюджетом не предусмотрены.
16) Позавчера, 9 февраля, Ф. (которого не было слышно две последних недели) вдруг проснулся – узнал, что 17-го у меня контракт заканчивается. Пристроить проект(ы) другому программисту не получилось, поэтому решено «выполнить пятилетку за три дня». Моим задачам обещан приоритет: если раньше на запрос я получал ответ «сегодня некогда» через два дня, то сегодня я получаю такой же за 15 минут.
17) Началась интенсивная работа: думать некогда – важно добежать! Звонит Ф. Спрашиваю, где нам должны выделить нам место, куда будут складываться файлы с приходящей информацией, те самые XML и JSON. Таких мест должно быть два: для принудительной загрузки файлов (on-line) и отложенной («альбанá»). Ф. отвечает, что принято решение: «альбаны» не будет. Когда принято, кем, почему? И - через 4,5 месяца работы? Вешаю трубку, начинаю переделывать.
18) Через пятнадцать минут снова звонит Ф. Он разговаривал с начальником наших инфраструктур: по новой версии «альбана» таки да будет, зато не будет формата JSON. Матерюсь (про себя), вешаю трубку, иду обратно переделывать...
19) Утро. Мейл: новые дополнения к базе данных от Ж. От неё же – вроде как «финальный XML» (поверим). Ф. вообще пока с утра не звонил, а Ж., как всегда, в ZOOMе, но обещает в течение дня перезвонить и объяснить «некоторые моменты». Пока работаю с тем, что есть - и как понял.
20) Прошу админов дать мне доступ хотя бы обращаться к URL на тестовом сервере, чтобы не просить их каждый раз для меня проверять. Они-то «за», но возникает новая проблема: у нас вроде как ДВЕ организации родом из когда-то одного министерства - я работаю в одной, а сервера у меня, как вы догадались, в другой. Пока что админы спорят, и я решаю им не мешать.
21) Конец рабочего дня, конец недели. Ж. таки позвонила - с просьбой добавить в базу данных ещё одну таблицу: вот они, те самые «некоторые моменты»! А если добавлять, то надо добавить и в сервисы; а они повязаны друг с другом … - и костяшки домино посыпались, самое для этого время! Зато Ф. не позвонил вообще: как видно, ничего такого срочного. Получить описание «альбаны» тоже не вышло: вообще-то это обязанность Ф., но от некоторых существ с молоком бывает напряженно, и поэтому, как могу, пытаюсь добиваться сам. Получается через раз, поскольку «основной состав» конторы на 2/3 состоит из «больших начальников», а они, естественно, всегда «жутко заняты», и конкретно для меня найти пять минут… Ну вот не получается, и всё тут! Ладно, утрёмся…
* * *
Ну вот, пожалуй, и всё… Кстати - сегодня у нас четверг, а в воскресенье у меня останется как раз три дня, чтобы закончить и сдать проект! Чего я даже и не буду пытаться…
Так что удачи вам, господа! Надеюсь, «до следующих встреч»…
* * *
Виктор Вальдберг
«Наутилус»