38

26 марта 2018 года

Понедельник

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

Больше всего раздражало хныканье Севы; тот практически каждую секунду заговаривал сам с собой, обращался, кажется, к тексту своей программы, бормотал что-то, говорил…

— Да что происходит?! — не удержавшись, воскликнул Ольшанский. — Ты можешь замолчать или внятно сказать, что произошло?

— Плакала наша Америка, — хрипло ответил Всеволод. — Это кошмар. Ничего не сходится. Финальные тесты не идут. Оно работает не так! Оно выдаёт не то!

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

— Отдельно модули работали идеально, — промолвил он. — А тут что не сходится?

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

— И никому не сказал.

— Нет, зачем?

Игорь выпрямился и молча схватился руками за голову. Типизация, потерянная Севой где-то в тоннах кода, могла стоить им всего проекта, а не только Америки. Парень даже не представлял, какой ущерб мог нанести и фирме, и коду, и вообще всем вокруг, сделав только одно локальное изменение.

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

Всеволод молчал и только смотрел на начальника, хлопая глазами.

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

— Я забыл, — выдохнул Сева. — Оно где-то в надстройках и много где используется. Может быть, легче изменить твою часть?

Игорь истерично хохотнул.

— Тебе тысячу строчек? Или две? — ласково уточнил он. — А ничего, что мне придётся под твою изменённую невесть как типизацию изменять не только выход, а и всю обработку, которая идёт до этого?

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

— Немедленно весь код в общий доступ, — он вернулся за своё рабочее место. — И будем вместе разбираться в том, что ты натворил.

— Но…

— Вместе! — рявкнул Игорь. — И всех остальных это тоже касается, надеюсь, понятно?

37

27 марта 2018 года

Вторник

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

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

Ольшанский удивлённо поднял голову и оглянулся.

— Куда вы собрались? — спросил он. — Вас не смущает, что нам за эту неделю надо всё закончить?

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

Да, тот не до конца стыковал математику. Но почему Ольшанский этого не проверил? Разумеется, он сам должен был разгребать эти проблемы.

Такого мнения придерживался, наверное, каждый из присутствующих, но от их цинизма Игорю было противно.

— Мы всё равно ничего не сможем сделать, — пожал плечами Егор. — Это ты у нас гений. Нет, Игорь, правда… Где я, а где серьёзные математические операции и искусственный интеллект? Я кодер, обыкновенный рабочий… Ну, или вот Петя. Ты правда предполагаешь, что он способен справиться с такой задачей?

Ольшанский сжал зубы. В этих словах он услышал только одно — это его проблема. Его личное дело. А что? Они ничего не теряли. Год назад он взял этот проект, даже не подумав посоветоваться с ними. Сам виноват! И в Америку, если что, предложат ехать ему, а не кому-нибудь из них, потом Игорь, ведомый своими чувствами к драгоценной супруге, откажется от поездки, а все остальные останутся у разбитого корыта, потому что великолепный шанс просто сгорит.

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

— А у меня ребёнок… Жена попросила посидеть, ей сегодня куда-то срочно надо, — оправдательно ответил Дима, кажется, тоже терзаемый муками совести, но не такими сильными, чтобы те заставили его остаться. — Ты ж понимаешь, семья. Я и так дома бываю слишком мало, а тут в кои-то веки…

— Хватит, — грубо прервал его Ольшанский. — Можете идти. Я никого не держу.

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

Почему только он? Почему единственный человек, который вообще готов взять на себя ответственность, вдруг оказывается виноватым во всех смертных грехах на фирме? Регина, которая толком ничего не делает, но требует в невероятных количествах, коллеги…

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

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

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

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

— Просто мои права, — она постучала ладонью по боковой части монитора, — не позволяют открыть все файлы. Скажешь свой пароль?

— А почему ты не ушла? — удивлённо спросил Игорь. — Все ушли. И ты тоже имела на это полное право. Я же не зверь — держать свою жену на цепи…

— Не говори глупостей, — взмахом руки оборвала его Саша, не позволяя закончить предложение. — Я сама хочу остаться. Хочу тебе помочь. Это наша общая работа. И если кто-то так не считает, то он просто некомандный Игрок.

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

— Спасибо, — Игорь взглянул на неё как-то по-новому. — Я всегда знал, что у меня лучшая жена на свете, но сегодня в этом только ещё больше убедился.

— Ты мне льстишь.

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

— Сейчас отправлю пароль, — Игорь открыл почту, даже не задумываясь о том, что делает, и застыл только тогда, когда уже ввёл е-мейл жены в соответствующую графу. — Можно же и так сказать…

— Да, — хмыкнула Саша. — А можно встать, подойти ко мне и ввести.

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

— К каким последствиям? У тебя тонны непересмотренного кода! — расхохоталась она, комкая лист бумаги и швыряя им в Игоря. — Пароль говори, мой стр-р-растный мужчина…