Энергонезависимое решение
Понедельник. Постановка задачи
Девять часов тридцать одна минута утра — я на работе. Вообще-то мы работаем с десяти до семи, но по понедельникам я предпочитаю приходить пораньше — мне нравится наш офис, пока в нём нет людей. Я медленно иду мимо столов — одни завалены распечатками спецификаций и каких-то диаграмм, другие совсем пустые. На одних столах стоят компьютеры, другие пустые. Под некоторыми столами стоит сменная обувь, перед другими нет даже кресла. Да, у нас больше половины столов пустые — это на случай приёма новых сотрудников, или командировки кого-то из других городов и стран. Ведь у нас крупная международная компания с офисами разработки в Омске и Калачинске и головным офисом на Кипре. Мы занимаем четыре этажа в современном офисном центре. Правда, сразу за нашим зданием начинаются руины какого-то авиационного завода, и в день зарплаты мы стараемся там не ходить.
Мой стол стоит в углу, между пластиковой перегородкой и стеной. Прямо надо мной висит кондиционер, и, когда на улице делается совсем жарко, мне приходится приносить из дома свитер, чтобы не замёрзнуть. На мой взгляд, лучший кондиционер — это простое открытое окно, но у нас в офисе окна не открываются. Я думаю, архитекторы этого здания слышали о нервном истощении среди офисных работников, и решили минимизировать число суицидов. Зато вид с нашего двенадцатого этажа открывается шикарный. Жаль, большую часть времени окна закрываю жалюзи — чтобы солнечный свет не бликовал на мониторах и не слепил глаза. Поэтому у нас всегда включены лампы дневного света.
Какой-то парень поздоровался со мной за руку и уселся за соседний стол. Он сел здесь в прошлый понедельник, неделю назад, но я до сих пор не знаю, как его зовут — мы работаем над разными проектами. Да, кстати, я работаю над проектом под названием Комплексное Корпоративное Решение — сокращённо КОКОРЕШ. Это очень сложная система, состоящая из множества модулей, десятков слоёв и сотен тысяч файлов с исходным кодом. Система такая большая, что никто не знает, что же она делает.
Подёргав мышку, я вывел компьютер из спящего режима и запустил браузер. В минувшую пятницу руководитель нашего проекта, Егор, уехал к потенциальным заказчикам в Демократическую Республику Конго. Сегодня должен состояться митинг по скайпу, в котором, по традиции, примет участие весь наш отдел. Само собой, говорить там будет только Егор и руководитель группы — Костя. Все остальные десять участников выключат микрофоны своих гарнитур и будут лениво читать твиттер и контакт.
Ближе к полудню подошли остальные сотрудники нашего отдела. Пока все здоровались и рассказывали о том, как внезапно пятница сменилась понедельником, неожиданно настало время обеда.
После обеда я получил письмо с приглашением на статус-митинг сегодня в 4 часа. Это означает, у меня есть два часа, чтобы смотреть ролики на Ютубе, ведь во время митинга Ютуб невозможно смотреть — скайп занимает практически весь канал.
В половине пятого запиликал входящий вызов. Я быстро надел гарнитуру, нажал зелёную кнопку ответа на звонок и выключил микрофон. Проджект-меденжера было слышно плохо. Из трубки что-то постоянно бухало, казалось, что где-то недалеко от него бьют барабаны.
— Добрый день, коллеги! — начал он, — Сразу скажу, что здесь у нас нет электричества, и аккумулятор моего ноутбука почти сел. Наши партнёры из Демократической республики Конго, они очень… они крайне дружелюбно настроены, я уверен, и у нашей крупной международной компании тут неплохие перспективы. Нам следует быть настойчивыми, и непрерывно двигаться вперёд. Воля к победе — вот главное, и вместе мы добьёмся много, ведь наше будущее, и значит будущее нашей крупной международной компании, зависит от каждого из нас. Мы должны стремиться к успеху, и, постоянно совершенствуясь, добиваться невозмож…
Тут связь разорвалось. Повисла неловкая тишина.
Я подумал, что Конго — одна из последних стран, где сохранился каннибализм, и что там сейчас как раз время к обеду. Но решил не подрывать корпоративный дух.
Первым заговорил Костя:
— Итак, выяснилось, что в Конго нет электричества. Но это не помешает нам внедрить у них наше Комплексное Корпоративное Решение. Наша задача — разработать энергонезависимый модуль для нашей системы. Наш архитектор Гриша подготовит архитектуру. Так ведь, Гриша?
Гриша заулыбался. Слегка скошенный нос придавал его улыбке неповторимый шарм. Когда-то в молодости он занимался дзюдо и был неплохо сложён, но сейчас практически вся его мышечная масса перешла в жировую.
— Беру на себя обязательство к завтрашнему утру подготовить архитектуру энергонезависимого КОКОРЕШа, — торжественно произнёс он и ещё раз улыбнулся, для закрепления эффекта.
— Отлично, — Костя хлопнул в ладоши, — завтра давайте придём все пораньше, потому что времени на проект у нас мало — до конца недели.
— Я вот подумал, в такой ситуации можно им всем счёты раздать, — неловко пошутил я. Все дружно засмеялись.
Остаток дня мы рисовали на маркерной доске наших африканских партнёров. К сожалению, чёрный маркер кто-то стащил, поэтому мы рисовали их зелёным. Неожиданно рабочий день закончился.
Вторник. Архитектура
В девять я уже сидел за рабочим компьютером и читал новости. Конечно, до одиннадцати никого из нашего отдела в офисе не было.
Ближе к полудню пришёл архитектор Гриша со свёрнутыми плакатами под мышкой. Пока он со всеми здоровался и рассказывал, как он стоял в пробке, неожиданно подошло время обеда.
После обеда Костя позвал всех в комнату для совещаний.
— Итак, архитектура решения готова, — с этими словами Гриша развернул и повесил на доске два плаката.
Я посмотрел на них и тяжело вздохнул, закрыв лицо ладонью.
На первом плакате, озаглавленном «КОКОРЕШ», было изображён синий прямоугольник, а рядом с ним — батарейка. На втором плакате, подписанном «ЭНЕКОКОРЕШ», был изображён один только синий прямоугольник.
— На первом плакате вы видите архитектуру существующего, энергозависимого решения. На втором — архитектура энергонезависимого решения, — радостно сообщил Гриша и, повернувшись к нам, заулыбался так, как будто не понимал бессмысленности собственной работы.
— Отлично, Григорий! Молодец! — похвалил его Костя — Как тебе в столь сжатые сроки удалось создать такую архитектуру?
— Ну как, — смутился Гриша, — нормально, Константин.
— Ну ладно, — улыбнулся Костя, — теперь дело за малым — осталось реализовать эту архитектуру.
— Кость, постой… — заговорил я, — компьютеры же без электричества работать не будут…
— Слушай, я тебя, конечно, ценю как специалиста, — нахмурив брови, ответил мне Костя, — но твоё дело — реализация, а архитектура, вот она, — он показал рукой на плакаты, — готова уже. Ну и чего здесь сложного? Написать программу, и всё. Говоришь, без электричества работать не будет. А ты что, пробовал уже?
Честно говоря, я ни разу не пробовал включать компьютер без электричества, но базовые познания в его устройстве подсказывали мне, что он не заработает.
— Нет, не пробовал… — ответил я.
— Ну вот видишь — рассмеялся Костя. И все тоже засмеялись, кроме меня.
Когда митинг закончился, было уже пять часов.
Сразу после митинга Гриша и Костя ушли куда, ни с кем не попрощавшись. Я сидел за своим компьютером и задумчиво листал Контактик. За перегородкой Сергей что-то отчаянно набирал на клавиатуре.
— И всё таки, им нужны счёты, — задумчиво произнёс я. Сергей перестал стучать по клавиатуре, сдавленно хрюкнул за своей перегородкой, и, кажется, обрызгал её слюной.
— Слушай, а что ты там делаешь целыми днями? — спросил я Сергея.
— Я фильмы смотрю, — честно ответил он.
— Как же так, ты же целыми днями что-то набираешь на клавиатуре. Я думал, ты код пишешь, — удивился я.
— Я специально клаву отключаю. А по клавишам стучу просто так, для поддержания рабочей атмосферы в офисе.
Неожиданно рабочий день закончился.
Среда. Разработка
Я пришёл на работу в девять сорок две и начал читать свежие твиты. Я специально читаю почти тысячу человек — к моменту, когда я прочту свежую порцию твитов, уже появляются новые. Примерно в половине одиннадцатого пришёл Сергей. Я успел заметить момент, как он, надев наушники, отключил клавиатуру и принялся стучать по клавишам.
Поздним утром, около двенадцати часов, ко мне подошёл Костя, и, наклонившись, тихо сказал:
— Слушай, это… С твоим опытом, с твоими знаниями, я хочу, что бы ты был за старшего. Возьми шефство над Сергеем в этом проекте. Тем более что вы только вдвоём будете работать над ним. И я тебя очень прошу, завершите его в срок.
Я только вздохнул. Ну как мне ему объяснить, что проект в принципе не реализуем? Что архитектор Гриша — дурак со справкой, и поэтому так улыбается? Что руководителя проектов, возможно, уже съели жители республики Конго? Что, в конце-концов, без электричества ни одно электронное устройство работать не может?
— Я считаю, без электричества компьютеры работать не будут. Аборигенам из Конго нужны счёты, — сказал я, нарочно громко и чётко. Повисла напряжённая тишина. Стало особенно чётко слышно, что Сергей за перегородкой почти не нажимает на пробел.
Наконец Костя нарушил молчание:
— Ну давай, работай, не буду тебе мешать — и быстро ушел куда-то, позвав с собой Гришу.
Неожиданно наступило время обеда.
После обеда я решил всё-таки взяться за работу.
— Серёг, — сказал я своему соседу из-за перегородки, — давай найдём место в коде, которое потребляет больше всего электричества?
— Понимаешь, это мы уже делали, — сказал Сергей. На звуке «п» в слове «понимаешь» из его рта вылетела слюна и ударилась о перегородку. Всё-таки хорошо, что они здесь стоят.
— Ну а когда это делали, ты помнишь, номер таски? Коммит в свн?
— Сейчас… — Сергей помедлил, — это была таска KOKORESH-4920.
Я попытался открыть задачу с таким номером в багтрекере, но получил сообщение, что у меня нет прав. Поскольку Кости в зоне видимости не было, я написал тикет в хелпдеск, чтобы мне дали права.
Спустя один час и двадцать минут мне ответили, что права могут дать только в случае подтверждения заявки от менеджера проекта. Я было хотел ответить, что его скорее всего уже съели, но потом подумал, что не так уж и нужна мне эта таска.
Вместо этого я решил написать письмо всем заинтересованным в проекте лицам с целью поставить их в известность, что без электричества компьютеры не работают. Я нажал кнопку «написать письмо», но тут появилось стандартное сообщение об ошибке: «Outlook выполнил недопустимую операцию и будет закрыт». «Ладно, не судьба. Попробую завтра» — решил я, и, выключил компьютер.
Неожиданно рабочий день закончился.
Четверг. Ещё раз разработка
Придя в офис, я первым делом написал письмо.
«Добрый день, коллеги!» — начал я своё письмо, — «Я предлагаю упростить задачу с разработки энергонезависимой реализации КОКОРЕШа до поставки готового решения в виде деревянных счёт. Главный довод в пользу этого решения состоит в том, что у наших заказчиков нет электричества. В отсутствии электричества ни одни программно-аппаратный комплекс работать не может. Кроме того, я выражаю своё сомнение в том, что у пользователей, никогда не видевших компьютера, хватит квалификации для работы с КОКОРЕШом.» Я несколько раз перечитал набранный текст, добавил подпись и получателей — руководителя группы Костю, архитектора Гришу и проджет-менеджера Егора. Хотя, положа руку на сердце, я не думаю, что Егор ещё в состоянии что-либо прочесть. Вздохнув, я, для верности, добавил в копию регионального менеджера, Андрэ Эдуардовича Белокрылого, и нажал кнопку «Отправить».
Кстати, после одного неприятного случая на моей предыдущей работе, я всегда сначала пишу письмо, а уже потом добавляю адресатов. Тогда один из множества моих начальнивов спросил меня, как скоро я смогу закончить работу, и требуется ли мне ждать выгрузку данных из коллешена. Я хотел написать «да, мне похоже, придётся дождаться выгрузки данных», но письмо отправилось ровно на середине слова «похоже». В общем, мне пришлось срочно искать работу, да ещё и самыми плохими рекомендациями с предыдущего места. Кроме как в крупную международную компанию, меня никуда не брали. И вот теперь я здесь, вынужден писать программу, которой не требуется электроэнергия.
Неожиданно настало время обеда.
После обеда Костя подозвал меня к себе.
— Знаешь, твоё решение насчёт счёт было не таким уж и плохим, — тихо произнёс он.
— Так значит мы всё-таки внедрим папуасам счёты? — удивился я. Невероятно, чтобы моё письмо могло изменить уже прянтое решение!
— Тише, тише, дослушай. К сожалению, на проработку энергонезависимого КОКОРЕША уже потрачены ресурсы, значительно превышающие стоимость твоего решение со счётами. Так что сам понимаешь, в твоих интересах больше никому про счёты не говорить, иначе получится, что мы зря ресурсы тратили. Ты же умный парень, улавливаешь? А энергонезависимое решение уже практически готово. По моим прикидкам, мы его должны закончить уже сегодня. Поэтому, если сегодня не получится, придётся завтра плотно поработать, и на выходные ничего не планируй. Ну вы должны уложиться, там же немного по сути осталось.
Костя немного помолчал, и, наверное, чтобы приободрить меня, добавил:
-Знаешь, я ведь сам когда-то программировал. Там же всего пару строчек кода написать нужно, неужели не справишься?
Вечером пришёл ответ от самого Андрэ Эдуардовича. Содержательная часть состояла из одной строки: «Я считаю ситуацию, когда рядовые разработчики занимаются вопросами архитектуры, недопустимой. В дальнейшем обсуждении вопроса смысла не вижу.» И далее подпись длинною в восемь строк.
Я подошёл к окну. По небу ползли низкие серые облака, а из них на землю падала неопределённая субстанция. Где-то на горизонте виднелись огромные трубы и радиовышки. «Интересно, сейчас лето или зима?» — пронеслось в моей голове. Для нас, офисных работников, смена времён года имеет чисто формальное значение. Лето отличается от зимы только тем, что летом мы носим свитера в офисе, чтобы не мёрзнуть под кондиционером, а зимой — чтобы добежать от подъезда до своего Форд Фокуса. Мы стараемся, работаем каждый день, хотя ничего и не производим. Наша деятельность не оставляет никаких следов в окружающем мире, хотя это, наверное, и к лучше — ведь всё, что мы делаем — мы делаем плохо. Так что же мы делаем здесь? Ответ прост — мы делаем карьеру.
Многие ошибочно полагают, что русское слово «карьера» происходит от английского «career» — «профессия». Но это не так, какая же профессия может быть у офисного работника? Профессия может быть только у тех, кто что-то производит. Офисный работник же занят исключительно ментальным уничтожением себя. Слово «карьера» происходить от итальянского «cariare», что означает «вызывать гниение». С этим может не согласиться лишь тот, кто никогда не видел, как здоровый юноша или красивая молодая девушка, попав о офис, через пять-шесть лет превращается в безвольное существо с пустыми глазами, двойным подбородком и дряблыми мышцами.
Меня вдруг взяла злость. Нет, даже гнев. Мне захотелось, подобно герою Майкла Дугласа из «Falling down», взять пистолет и убивать. Перестрелять всех бюрократов, всех капиталистов, всех менеджеров среднего и высшего звена, специалистов по поисковой оптимизации, и, конечно же, сотрудников отдела кадров. Я почувствовал, как кровь прилила к голове, а тонкие пальцы сами собой сжались в кулаки. Но потом я вспомнил про свои невыплаченные кредиты, и гнев сменился апатией. Какая, в конце концов, мне разница, возможно ли выполнить полученную мне работу, или нет? Мне платят деньги не за результат, а за время, которое я провожу здесь. Моя деятельность сродни проституции. Вот кстати интересно, получают ли линейные менеджеры удовольствие после общения со своими подчинёнными?..
И тут я понял, что мне следует сделать. Завтра с утра я сделаю свою работу наилучшим из возможных способов.
Неожиданно я ушёл за десять минут до конца рабочего дня, не сказав никому ни слова.
Пятница. Релиз
Костя пришёл на работу ранним утром, примерно в половине одиннадцатого, и первым делом подошёл ко мне.
— Ну, каков статус проекта? — спросил он сурово.
— Готов, — спокойно ответил я.
— А покажи, — всё так же сурово попросил Костя.
— Конечно. Вот смотри, — и я открыл папку, в которой лежал один экзешник, и дважды ткнул по нему мышкой. На секунду курсор превратился в песочные часы, и на экране появилось диалоговое окно с сообщением «Энергонезависимый КОКОРЕШ не может быть запущен в энергозависимом окружении»
Лицо Коли расплылось в довольной улыбке:
— Молодец! Это как раз то, что требуется. А энергонезависимое окружение закажем у отдела снабжения, пока они его закупят… Если закупят вообще… Слушай, а точно оно работает без электричества?
— Обижаешь, я же профессионал! — улыбнувшись, ответил я.
За чтением фишек-нет рабочий день закончился, как всегда, неожиданно.
Этот рассказ, вместе со многими другими, можно прочесть в книге IT AS IS