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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кроме Севы.

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

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

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

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

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

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

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

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

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

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

266

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

Четверг

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

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

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