Эра Шредингера. Часть 3. Jim Jones
А может уже и не будущем.
Outlook мне заботливо напомнил, что у меня пара минут до митинга с менеджером — того самого, где мне должны объяснить, что я должен написать в индивидуальном плане принуждения, то есть развития. На всякий случай проверяю гарнитуру, открываю календарь, а тут раз: митинг отменен. Когда это произошло? А только что, пока я гарнитуру проверял. Ну ладно, и что теперь? А теперь у меня есть письмо с такой табличкой:
Ну что же. Не ниже 4.5 или 4.7 - это всегда пожалуйста, но вот отсутствие спилловеров - это явно не из нашей вселенной. "PoC, которое одобрит заказчик" - арррр, даже не знаю. Предложить что-ли написать утилиту, которая за меня вводит пароли в VDI? В общем, молимся Ганеше, чтобы заказчик меня попросил поучаствовать в каких-либо архитектурных исследованиях. Самообучение? Даже не знаю, как быть. Сознаться, что ли, что в анки занимаюсь? Ок, что-нибудь придумаем. "Должен качественно улучшить навыки членов команды", - это вот что, мне им курсы C++ проводить, что ли? Ладно, на конфлюенс пишу - значит обмен знаниями есть. И не важно, что этого никто не читает. В общем да, генератор на основе китайского языка в действии.
Теперь все это счастье надо ввести в корпоративную систему. Воспользуемся еще раз преимуществом работы из офиса и зайдем в корпоративную систему не через мобильный хотспот на телефоне, а быстро и просто через корпоративный интернет. Вот только страницу индивидуального плана развития похоже улучшили и теперь ее так просто не открыть. Как обычно, сначала пытаемся открыть ее в других браузерах, а затем в режиме инкогнито, и таким образом в итоге выясняем, что эта страница работает в режиме инкогнито в Chrome.
Итак, вводим. Поведенческая компетенция: «On-time delivery», целевое значение: «Отсутствие spillover», - аррр, больно то как! Стоп, а это у нас что? Обязательное текстовое поле: «Единицы измерения продуктивности»! И что мне в нем писать? Открываю Zoom и пишу менеджеру: «Здравствуйте, Алексей. Не могли бы Вы пожалуйста объяснить, что мне следует написать в поле «Единицы измерения продуктивности» индивидуального плана развития. В предложенной Вами таблице указаны только «Навык / Поведенческая компетенция» и «Целевое значение». Спасибо!». На такие сообщения обычно быстро не отвечают, так что можно переключиться на другую задачу.
Проверим, как там SergejSol, не освободил ли очередь на деплой. И, о ура! Очередь свободна!
А теперь начинается увлекательная процедура деплоя кода на кубернетес при условии ошибок на ветке master. План таков: запускаем деплой в Jenkins, открываем OpenShift и внимательно ждем. В один прекрасный момент у нас появляется Pod Oracle и мы должны в течение минуты понизить его до нуля.
А дальше начинается самое интересное. Некоторые поды начнут запускаться с ошибками и их тоже надо понижать. Пропустил один под - и все, вся система задеплоилась с ошибкой и в результате не сможет быть протестирована. Может вы когда-нибудь сталкивались с такой игрой: у вас в руках молоточек, а перед вами панель с дырочками. Из дырочек выскакивают головешки, и по этим головешкам надо ударить молоточком, пока они не спрятались. И у нас тут очень похоже, правда поды с ошибкой выскакивают раз в минуту-две и у тебя есть несколько секунд для того, чтобы их понизить. Одну головешку упустишь - ничего, немного меньше очков получишь и всего-то, но упустишь один под - и все придется начинать заново. Поэтому отвлекаться нельзя, взгляд все время должен быть на мониторе. Даже помечать на телефоне спам как прочитанное - уже опасно. А анки - так и вообще исключено! Максимум, что можно себе позволить - это пасьянс солитер: одним глазом смотрим на OpenShift, другим - на картишки.
И когда я занимаюсь этой деятельностью, я снова понимаю, что нейросети нас не вытеснят. Надеюсь, не будет ошибкой с моей стороны, если я скажу, что вряд ли какая нейросеть дойдет до необходимости убивать поды.
Есть одно старое хорошее аниме "Убийца Гоблинов" и как по мне, так главный персонаж оттуда мог бы быть отличным консультантом: он не понтуется, делает то, что все остальные не хотят, работает порой пусть и грязно и на свой лад, зато эффективно, а также полностью сфокусирован на задаче. А в качестве "гоблинов" могли бы быть баги, или плохой дизайн. Но сейчас Убийца Гоблинов сфокусирован скорее на другом. Он перешел на темную сторону и стал Убийцей Подов. И теперь он сам плодит гоблинов вместе с их маткой.
Пока я раскладывал картишки и философствовал про Убийцу Подов, сосредоточенно глядя на экран с OpenShift, ко мне подошла Аня:
- Вова, можно мне тебя попросить о помощи.
- Сейчас, Аня, подожди пожалуйста минут 20, у меня ответственный момент.
А сам при этом перекладываю десятку на вальта.
- Нет проблем. Сообщи, как будешь свободен.
- Я тут просто сейчас депл...
А-а-а-а, под! Под!..
- Что ты хотела, Аня?
- Можешь помочь одному моему тим-мэйту с его задачей.
- Ань, мне потребуется время, чтобы вникнуть в ваши задачи. Мы все-таки в разных областях проекта находимся.
- Нет, это не обязательно. Просто у него проблемы с C++
- Это ладно, пусть создает PR, я его гляну с точки зрения C++
- Нет, у него PR пока еще не готов
- Хорошо, пусть задает вопросы по плюсам. Подскажу, что смогу
- Понимаешь, у него просто задача отрефакторить код и в итоге удалить один switch. Так он его просто удалил и спросил PO проревьювить код.
- Дай ка я угадаю. Собеседование твоего тим-мэйта состояло из литкода и софт-скиллов?
- Не знаю, я его не проводила
- Просто то, что ты только что сказала - это не проблемы с С++ и это называется не «рефакторинг», а «уничтожение кодовой базы». Ты ему объясни, что ни Будда ни Ганеша не помогут, если ты не понимаешь задачу. Пусть потратит день на то, что проанализирует тикет, выпишет себе релевантные места из проекта, может напишет какой-то псевдокод, может какие-то UML диаграммы. И все это согласует с заказчиком. Пусть вообще все согласует с заказчиком, если у него есть какие-то сомнения. Пусть попробует так делать, а если не поможет - то тогда ладно, попробую помочь.
- Хорошо, я попробую так ему и сказать. Я тогда к тебе может попозже обращусь.
- Хорошо.
Неловко как-то перед Аней, но я понятия не имею, что еще можно сделать в такой ситуации.
После чего я вернулся в дженкинс и задеплоил код заново. И хоть меня в этот раз никто и не отвлек, он в итоге все равно не задеплоился. А так как остальные деплои тоже светились красным, то у меня закрались подозрения и я решил заглянуть в канал дженкинса, где уже вовсю обсуждалось, что он сейчас упал. Особенно в глаза бросились два сообщения:
- Мы живем в эру, когда такие потрясающие инструменты разработки одновременно присутствуют и отсутствуют
- Давай назовем эту эру “Эрой Шредингера”
Ну что ж. Если "Эра Шредингера", то тут, как говорится, нет повода не выпить. В ушах гудело, а в груди засел ком. Проведаю, как там Александр Иванович, закончил ли работу над автоматом. Посмотрю, как теперь обновленный автомат работает. Пишу в чат стэйджинга: “Стэйджинг свободен. Дженкинс упал”, - пусть не тратят время, а займутся другими задачами.
Как это велено требованиями компьютерной безобразности, нажимаю Win + L, но вместо блокировки внешней системы, получаю блокировку VDI. Ну и ладно, все равно ближайшие полчаса работать не собираюсь. Заблокировали везде, где только можно. Нажимаю Win + L еще раз и теперь экран гаснет окончательно. Беру чашку, иду на кухню.
Да, Александр Иванович уже свое дело сделал и по всей видимости, покинул офис. Подхожу к автомату, ставлю чашку и стучу по иконке "Вода". Аппарат, приятным женским голосом: "На основе вашего профиля и поведенческого шаблона, рекомендую напиток: Светлая Эссенция", - и наливает мне в чашку какую-то жидкость.
Молча созерцаю “Светлую Эссенцию” в моей чашке. На вид... светлая. На запах - не пойму, на что похожа. "Светлая Эссенция" - это в принципе что: концентрат, или философская категория? Это вообще пить можно? Вспомнилась песня Skynd, про которую я вам утром рассказывал: "Drink it, drink it, hurry, hurry...", - может ну ее эту Эссенцию и в раковину? Да ну, что ты себя накручиваешь? Подумаешь, день тяжелый. Нейросеть не Джим Джонс, не станет плохого советовать. Быть убитым автоматом с водой - даже немного забавно. Интересно, дадут ли мне после такого премию Дарвина? Так что иди, параноик, на место и не парься.
Я возвращаюсь на рабочее место, разблокирую ноутбук и открываю в анки колоду с математикой и IT-терминами.
Q: Статистика. Мы делаем one-tailed тест и p-value равно 0.01. Какой ему будет соответствовать z-score.
- 0.01 — это два с чем-то. One-tailed меньше, чем two-tailed. Вроде, там 2.32 было. Переворачиваем — правильно.
Q: Линейная алгебра. Матрица положительно определенная. Что мы можем сказать о ее собственных значениях?
- Они положительны. Переворачиваем - так и есть. Никогда еще для работы не требовалось и сомневаюсь, что когда-нибудь потребуется, но пусть будет.
И в этот момент раздался одобрительный писк считывателя, а замок медленно поехал открываться. Минимизирую анки на всякий случай, и правильно делаю, потому что в дверях стоит менеджер. А программисты должны делать что? Или тупить в код, или участвовать в митингах, или заполнять бланки. В крайнем случае - материться, но только тихонько и не слишком часто. В руках у менеджера в стакане тоже какая-то мутная жидкость от автомата, на которую он растерянно смотрит, правда не светлая а темная. Говорю ему:
- День добрый! Дайте ка угадаю. У Вас сейчас в стакане Темная Эссенция.
- Привет. Нет, это Рассвет Вторника.
- Ах, не угадал! У меня просто Светлая Эссенция. Персональная рекомендация от автомата на основе профиля.
- Но персональная рекомендация - это же хорошо?
- Безусловно! Это у нас просто сегодня автомат с водой проапгрейдили. Теперь у него не только прошивка стала намного умнее, но он еще теперь будет время от времени сам обновляться через интернет.
- Да, я в курсе.
- Теперь заживем!
Не знаю, почувствовал ли менеджер мой сарказм, но он после этого раскрыл свой ноутбук и сел в стороне от меня. Так как содержимое моего экрана оказалось вне его поля зрения, я осмелился снова открыть анки и продолжить отвечать на вопросы.
Q: AWS. Сервис мониторинга безопасности, который использует машинное обучение для обнаружения подозрительной активности.
- Блин, кто он там был: Inspector, GuardDuty, Shield? Пусть будет Inspector. А не, GuardDuty, - никак их не выучу!
И так далее. Вопрос-ответ. Вопрос-ответ. И еще, и еще и все в таком духе.
А давайте я вам расскажу об Экзистенциальном Агностицизме! Я этот термин придумал еще в студенческие коды, просто ради прикола. Чтобы если с кем-то разговор не идет, его можно было спросить: «А что Вы думаете об Экзистенциальном Агностицизме», - и смотреть его реакцию. Но потом я и сам не заметил, как стал единственным адептом этого учения. Оно строится на Трех Благородных Истинах:
1) Жизнь — это турбулентное движение биомассы под нагревом
2) Люди, и я в их числе — лысые бесхвостые обезьяны
3) Только ты в ответе за то, что с тобой происходит
Последний пункт требует пояснений. Это не «Начни с себя» и не «Хочешь — значит можешь», - все это полный бред. Это про то, что никто из больших и власть имущих людей, таких как Путин, Трамп, Маск, Цукерберг и т.д. банально не подозревают о твоем существовании и как и все остальные бесхвостые обезьяны в турбулентном потоке занимаются в первую очередь своим благополучием. Винить их в эгоизме и недальновидности просто глупо, и чем кого-то обвинять, лучше просто заняться своими делами. Мой менеджер, в отличие от вышеупомянутых, о моем существовании иногда вспоминает, но в остальном принципиально от этих приматов не отличается.
И когда все это понимаешь, то становится намного легче.
Но что-то я замечтался, пора возвращаться к анки.
Q: Seaborn. Изображение с диаграммой. Какая функция такую диаграмму делает?
- Это sns.barplot. Переворачиваем - правильно.
Беру стакан со Светлой Эссенцией и еще раз разглядываю эту мутноватую жидкость. Может, все-таки не пить ее? А ладно, за Эру Шредингера! Смотрю в умные глаза Ганеши — контакт есть. Чокаюсь со статуэткой, как с собутыльником и делаю глоток.
Следующий вопрос анки:
Q: Numpy. Что делает функция np.linalg.inv?
- Ну это просто. Инвертирует матрицу.
Но как только я попытался нажать пару клавиш, я почувствовал, что у меня сперло дыхание, голова пошла кругом, а в глазах резко помутнело. Черт, я теряю сознание! Это же теперь все увидят, что я прямо на рабочем месте занимаюсь в анки, вот же ж геморрой! Надо срочно закрыть. Нажимаю Alt + F4, но появляется сообщение: "Подтвердите синхронизацию", - и этого я уже сделать не смог.
Через мгновенье я смотрел со стороны на свое бездыханное тело, уткнувшееся носом в клавиатуру. И ведь это получается, что я за день так толком ничего и не сделал. Но ладно, на дэйли всегда можно сказать: “Я все еще работаю над этой задачей”. Оглядываюсь вокруг, все работают, Аня сидит в гарнитуре, разговаривает с кем-то, менеджер что-то заполняет. Смотрю на свой монитор, а там e-mail: "Спасибо, что работали в нашей компании...". Это похоже, что мои умные часы распознали отсутствие пульса и уведомили об этом отдел HR. А после этого среди общего гула опен-спейса снова завопила обезьянка-тамагочи, что вызвало громкий смех моих уже бывших коллег.
Конец цикла