Ладно бы в мелочи — всякое бывает. Иногда, впрочем, и концептуальные вопросы требовали консультации и обсуждения. Но не в этом случае. С кодом этого годового проекта Игорь чувствовал себя едва ли не единым целым.
Именно поэтому он всю ночь читал написанные от руки — программист ещё! — предложения и требования Всеволода. Ольшанский подозревал, что пытающаяся уснуть Саша была не в восторге от его возмущённых фырканий, то и дело доносившихся из кухни, и не радовалась горевшему яркому свету, но претензий она не предъявляла, да и вообще, предпочитала смириться.
А может, понимала, в каком он состоянии, по той причине, что и сама отреагировала бы схоже.
Тем не менее, утром Игорь напоминал если не зомби, то что-то к тому состоянию стремившееся. Под его глазами залегли тёмные круги, правая рука едва заметно дёргалась в попытке что-то сдавить — чужое горло, например, — а маниакальное выражение лица, столь знакомое всем его подчинённым из команды, предвещало беду.
Они расселись по местам. У всех — у Саши в том числе, — был готов доклад об успешно проделанной за вчера работе, и каждый с удовольствием отчитался бы, лишь бы получить возможность поскорее отсюда сбежать. Но Всеволод не позволил им замять конфликтную ситуацию. Ввалившись в комнату, он начал разговор с провокационного вопроса:
— Ну, как правки?
Игорь поднялся со своего места медленно. С одной стороны, это было признаком угрозы, с другой — того, что он не спал всю ночь. Его зелёные глаза сверкали, как у Магнуса, не евшего дня три.
— К сожалению, — Игорь заставил себя отвечать спокойно и уравновешенно, — мы не можем их принять. Они не вписываются в логику проекта.
— Логику проекта? — переспросил с некоторой самоуверенностью Всеволод. — Да ведь её вообще всю надо перекраивать! Там будет слишком много лишнего кода!
Код не бывает лишним. Не в его архитектурах. И Игорь согласился бы, что допустил ошибку, но ведь все коллеги видели этот план. Все его утвердили!
Игорь не сомневался, что мелкие недочёты были. Но то, что он увидел вчера…
— Мы не можем выстроить настолько зависимую систему, — он всё ещё сохранял спокойствие и мягкий, спокойный тон. — Потому что любая правка, внесённая в техническое задание, закончится в таком случае фиаско. Эта архитектура действительно весьма… экономна в плане количества кода, но она не приспособлена к реалиям работы. Полагаю, Всеволод, понимание придёт к тебе с опытом. Но для начала это было весьма талантливо, — Игорь был уверен в том, что выкрутился весьма дипломатично, и взгляды коллег это подтверждали. — А теперь перейдём к обсуждению работы на сегодняшний день…
— Но ведь, — не удержался Сева, — мы потратим намного больше времени на написание всех этих запасок, интерфейсов и прочей глупости, на разделение по множеству классов, чем если бы нам вдруг следовало приписать что-то из стороны!
Игорь сжал зубы. Терпение спешило покинуть его наедине с этим мальчишкой, и, кажется, у всех остальных тоже потихоньку сдавали нервы.
— К сожалению, — возразил он, — иногда допилить один маленький кусочек в строгую архитектуру, не позволяющую подключить гибкие элементы, не то что сложно — невозможно.
— Вписать её прямо в класс, да и всё!
В этот момент на Всеволода сочувствующе посмотрели все. Саша, кажется, после вздохнула, будто бы предвкушая будущий скандал, Егор втянул голову в плечи, Дима сделал вид, что внимательно читает надпись на чашке, а Пётр и Виктор притворились вовлечёнными в разговор на жестах.
Сева этого не заметил. Он даже расправил плечи, выпрямился во весь свой немалый рост и со взглядом грозного кролика сделал шаг навстречу Игорю.
Ольшанский вспомнил Сашины слова и, скептически скривившись, просто скрестил руки на груди. Он тоже стоял, со стороны, казалось, даже весьма расслабленно, и ошибочно можно было посчитать, будто бы Игоря ни капельки не взволновали заявления нового сотрудника.
— Всеволод, — невольно копируя преподавательский тон бабушки, вновь промолвил Игорь, — у нас нет времени на разборки. Твоя архитектура не мобильна, а потому — не слишком жизнеспособна в подобных проектах. И в ней откровенно смещён центр. Мы отталкиваемся не от визуальных эффектов, а от математической модели анализа.
— При том, что в техническом задании о матмодели ни слова! — возмутился Сева. — От нас вообще этого не требуют! Там надо просто интерфейс на каждый день!
— К сожалению, техническое задание не всегда, — да практически никогда, хотя Игорь не стал этого озвучивать, — соответствует порядку написания кода. Важно, что мы должны выполнить его, но как — это исключительно наше дело.
Игорь воззвал себя к равнодушию, раз уж просто спокойным быть не получалось. И смерил оценивающим взглядом оппонента. От этого у любого неопытного работника, кажется, должно было проснуться чувство самосохранения и страха перед большим начальством. Но, к сожалению, Всеволод страдал проблемами с самосохранением. Он с вызовом вскинул голову и заявил:
— Моя архитектура — лучше, а тут никто не хочет признать этого из-за авторитарного стиля руководства! Я отказываюсь делать лишнюю работу.
То, что Игорь тихо зарычал, заметили все.
Кроме Севы.
— Всеволод, — с нажимом промолвил он, — не стоит развивать конфликт. Ты уже вошёл в курс работы? Замечательно, пора браться за задачу.
— Я не буду этого делать, — ответил ему Сева. — Я намереваюсь пойти к Регине Михайловне, и пусть она сама примет решение, кто прав, а кто — нет. Потому что я предлагаю вариант, который в три раза уменьшит трудозатраты!..
Игорь смял лист бумаги в комок. Сжавшаяся в кулак ладонь тоже нисколько не смутила стажёра, и тот абсолютно уверенно смотрел в глаза начальству.
— Это… — Ольшанский с трудом сдержал гневную тираду, содержащую много нецензурных высказываний, которыми он не пользовался в обычной жизни, но вполне мог — на работе, сгоряча. — Это очень самонадеянно, Всеволод. Ты срываешь всем рабочий процесс.
Наверное, Сева намеревался уйти, громко хлопнув дверью. Витя поймал его за рукав и указал взглядом на стул, словно намекая, что пора бы и успокоиться.
— Но так же легче! — возмутился он в последний раз.
— В моих проектах не будет никакого дублирования кода! — взревел Игорь.
Дима втянул голову в плечи. Саша закатила глаза. Пётр и Виктор, как по приказу, отодвинулись от стола, чтобы сбежать было легче. Егор принялся теребить ручку, видимо, изучая её возможности для защиты.
— И никакой альтернативной архитектуры, основанной на глупых заявлениях вчерашнего студента! Я работаю тут уже не первый год и сдаю не первый проект, и не первый раз общаюсь с заказчиком, и какой-то самонадеянный придурок будет неделю тормозить всем работу и трепать мне нервы! Мало мне царапущего кота! Какое к чёрту мультинаследование?! Что за структура? Это не сишный код! Тут так не работает! — он швырнул папкой во Всеволода, и, выкричавшись, спокойно сел обратно на своё место. — Коллеги, — Игорь кашлянул, вспоминая о сорванном горле, — простите меня за повышенные тона, это было необходимо. У кого какие предложения, вопросы, замечания? Что там с завтрашним списком задач?
Сева прикрылся пойманной вовремя папкой и сделал вид, что его не существует.
266
10 августа 2017 года
Четверг
Игорь был уверен в том, что длительные беседы со Всеволодом уже закончились, и они смело приступят к работе. Утром они прогнали митинг стоя, в коридоре, за каких-то пять минут и тут же разбежались по своим местам. Всеволод получил собственное задание, вроде как послушно кивнул и отправился его выполнять. Это всем показалось хорошим знаком.
Ольшанский почти с нетерпением добрался до клавиатуры и ждал, пока прогрузится код. Ему хотелось поскорее разобраться с ревью, интегрировать полученные классы и продолжить выстраивать основную конструкцию.
Сегодня спина болела уже в разы меньше, и Игорь испытывал странное ощущение вдохновения. Он был уверен, что, если ему никто не будет мешать, справится сегодня с заданием на несколько дней вперёд.