— В точности по задаче, — своим привычно грубым голосом ответил Витя.

— Замечательно, теперь перейдём к распределению задач…

— Ты смотрел мою новую архитектуру?

Игорь вскинул голову. Всеволод, сидевший в самом конце стола, расправил плечи, как тот птенчик, учащийся летать, и сверлил его весьма внимательным взглядом.

— Что, прости? — переспросил он. — А, нет. Я не успел. Потом гляну. Пока что работаем с тем, что есть.

— Но, — не стал молчать Сева, — здесь же всё неправильно!

Игорь и Саша переглянулись. Витя выразительно кашлянул в кулак. Дима покачал головой. Егор закатил глаза с таким видом, словно тут сообщили что-то совершенно невероятное.

Заговорил Пётр.

— Мне кажется, — начал он довольно вкрадчиво, как человек, чьи ошибки исправляют поразительно долго, и который точно знает, что инициатива наказуема, — что не стоит спорить с Игорем по этому вопросу. Он профессионал, и продумывает структуру уже не первого проекта. К тому же, мы все её согласовали…

— Да нет же! — возмутился совершенно естественно Всеволод, ещё и с таким видом, словно его жестоко оскорбили. — Там можно в три раза сократить количество кода!

— У нас на это нет времени.

— Мы можем сдать проект в три раза быстрее! А если использовать вот тут наследование сразу трёх классов… — он перегнулся через весь стол и ткнул ручкой в лист с задачами, где был сверху отображён кусок предварительной диаграммы.

Игорь взглянул на новообразовавшуюся синюю точку и понял, что у него сейчас из головы пойдёт пар.

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

— Глупости какие! — возмутился Всеволод. — Ты даже не читал мой план! О чём тогда можно разговаривать?

С трудом сдерживая раздражённый рык, Игорь заставил себя успокоиться и мягко, равнодушно промолвил:

— Сегодня я обязательно всё посмотрю. А пока что мы будем работать с тем, что у нас есть.

Сева был возмущён до предела.

— Я не стану делать лишнюю работу!

— Ты можешь отдохнуть, — стараясь не сорваться, ответил Игорь. — А я разберу твой гениальный план и завтра же на митинге скажу, что мы будем с ним делать.

И, пресекая всякие возмущения, покинул помещение первым.


267


9 августа 2017 года

Среда

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

Ладно бы в мелочи — всякое бывает. Иногда, впрочем, и концептуальные вопросы требовали консультации и обсуждения. Но не в этом случае. С кодом этого годового проекта Игорь чувствовал себя едва ли не единым целым.

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

А может, понимала, в каком он состоянии, по той причине, что и сама отреагировала бы схоже.

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

Они расселись по местам. У всех — у Саши в том числе, — был готов доклад об успешно проделанной за вчера работе, и каждый с удовольствием отчитался бы, лишь бы получить возможность поскорее отсюда сбежать. Но Всеволод не позволил им замять конфликтную ситуацию. Ввалившись в комнату, он начал разговор с провокационного вопроса:

— Ну, как правки?

Игорь поднялся со своего места медленно. С одной стороны, это было признаком угрозы, с другой — того, что он не спал всю ночь. Его зелёные глаза сверкали, как у Магнуса, не евшего дня три.

— К сожалению, — Игорь заставил себя отвечать спокойно и уравновешенно, — мы не можем их принять. Они не вписываются в логику проекта.

— Логику проекта? — переспросил с некоторой самоуверенностью Всеволод. — Да ведь её вообще всю надо перекраивать! Там будет слишком много лишнего кода!

Код не бывает лишним. Не в его архитектурах. И Игорь согласился бы, что допустил ошибку, но ведь все коллеги видели этот план. Все его утвердили!

Игорь не сомневался, что мелкие недочёты были. Но то, что он увидел вчера…

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

— Но ведь, — не удержался Сева, — мы потратим намного больше времени на написание всех этих запасок, интерфейсов и прочей глупости, на разделение по множеству классов, чем если бы нам вдруг следовало приписать что-то из стороны!

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

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

— Вписать её прямо в класс, да и всё!

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

Сева этого не заметил. Он даже расправил плечи, выпрямился во весь свой немалый рост и со взглядом грозного кролика сделал шаг навстречу Игорю.

Ольшанский вспомнил Сашины слова и, скептически скривившись, просто скрестил руки на груди. Он тоже стоял, со стороны, казалось, даже весьма расслабленно, и ошибочно можно было посчитать, будто бы Игоря ни капельки не взволновали заявления нового сотрудника.

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

— При том, что в техническом задании о матмодели ни слова! — возмутился Сева. — От нас вообще этого не требуют! Там надо просто интерфейс на каждый день!

— К сожалению, техническое задание не всегда, — да практически никогда, хотя Игорь не стал этого озвучивать, — соответствует порядку написания кода. Важно, что мы должны выполнить его, но как — это исключительно наше дело.

Игорь воззвал себя к равнодушию, раз уж просто спокойным быть не получалось. И смерил оценивающим взглядом оппонента. От этого у любого неопытного работника, кажется, должно было проснуться чувство самосохранения и страха перед большим начальством. Но, к сожалению, Всеволод страдал проблемами с самосохранением. Он с вызовом вскинул голову и заявил:

— Моя архитектура — лучше, а тут никто не хочет признать этого из-за авторитарного стиля руководства! Я отказываюсь делать лишнюю работу.

То, что Игорь тихо зарычал, заметили все.

Кроме Севы.

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

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

Игорь смял лист бумаги в комок. Сжавшаяся в кулак ладонь тоже нисколько не смутила стажёра, и тот абсолютно уверенно смотрел в глаза начальству.

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

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

— Но так же легче! — возмутился он в последний раз.

— В моих проектах не будет никакого дублирования кода! — взревел Игорь.

Дима втянул голову в плечи. Саша закатила глаза. Пётр и Виктор, как по приказу, отодвинулись от стола, чтобы сбежать было легче. Егор принялся теребить ручку, видимо, изучая её возможности для защиты.

— И никакой альтернативной архитектуры, основанной на глупых заявлениях вчерашнего студента! Я работаю тут уже не первый год и сдаю не первый проект, и не первый раз общаюсь с заказчиком, и какой-то самонадеянный придурок будет неделю тормозить всем работу и трепать мне нервы! Мало мне царапущего кота! Какое к чёрту мультинаследование?! Что за структура? Это не сишный код! Тут так не работает! — он швырнул папкой во Всеволода, и, выкричавшись, спокойно сел обратно на своё место. — Коллеги, — Игорь кашлянул, вспоминая о сорванном горле, — простите меня за повышенные тона, это было необходимо. У кого какие предложения, вопросы, замечания? Что там с завтрашним списком задач?

Сева прикрылся пойманной вовремя папкой и сделал вид, что его не существует.


266


10 августа 2017 года

Четверг

Игорь был уверен в том, что длительные беседы со Всеволодом уже закончились, и они смело приступят к работе. Утром они прогнали митинг стоя, в коридоре, за каких-то пять минут и тут же разбежались по своим местам. Всеволод получил собственное задание, вроде как послушно кивнул и отправился его выполнять. Это всем показалось хорошим знаком.

Ольшанский почти с нетерпением добрался до клавиатуры и ждал, пока прогрузится код. Ему хотелось поскорее разобраться с ревью, интегрировать полученные классы и продолжить выстраивать основную конструкцию.

Сегодня спина болела уже в разы меньше, и Игорь испытывал странное ощущение вдохновения. Он был уверен, что, если ему никто не будет мешать, справится сегодня с заданием на несколько дней вперёд.

…По системному блоку постучали чужие наманикюренные ногти.

Игорь вскинул голову.

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

— Что, прости?

На уважительное "простите" у него уже не хватило терпения. Начальница приняла фамильярное обращение как нечто само собой разумеющееся и только равнодушно пожала плечами.

— На тебя поступила жалоба, — уверенным, хорошо поставленным насмешливым голосом повторила она. — От Всеволода. Он убеждает меня — в письменной форме, обрати внимание, — что ты проигнорировал его новаторское решение и настоял на собственном, хотя оно приводит к написанию куда большего количества кода.

— И каков же, — ядовито поинтересовался Игорь, — будет ваш вердикт, Регина Михайловна?

— Ай, — отмахнулась женщина. — Пойдёмте в кабинет, Ольшанский. Пообщаемся там относительно вашего дурного поведения, — она оглянулась. — А где Магнус?

…Магнус нашёлся в кабинете. Он устроился в кресле Регины и спал, потому женщина приняла решение его не трогать и заняла самый обыкновенный гостевой стул. Их было несколько, и Игорь сел на второй свободный, стоявший по другую сторону стола.

— Можно продолжать на "ты", — вальяжно махнула рукой Регина, предвосхищая очередную "Михайловну". — Мы знакомы уже тысячу лет.

— Надо же, какая фамильярность, — фыркнул Игорь. — Ты действительно собираешься предъявлять мне претензии относительно архитектуры проекта?

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