Free

Жёлтая виолончель

Text
Mark as finished
Font:Smaller АаLarger Aa

Особо следует отметить произвол в произношении буквы "г". В одном и том же слове её могли произнести как [г] (русское "гэ"), как [х] (русское "ха"), как [к] (русское "ка") и даже как нечто среднее между [г] и [х] (украинское "гэ"). Чтобы показать колоритность речи пумаров во всей её полноте, я буду писать слова так, как они произносятся, в спорных случаях ставя ударения и явно указывая особенности выговора. Звук, промежуточный между [г] и [х], ниже обозначается значком §.

2) Не стоит удивляться встречающимся в тексте фразам вроде "почесал средней рукой свою левую голову", так как генетическое разнообразие пумаров тоже было довольно сильным. Имелись особи двух-, трёх-, четырёхголовые, многоногие, многорукие, чрезмерного и недостаточного роста, бесполые, гермафродиты и т. д. Видимо, это явилось последствием воздействия каких-либо мутагенных факторов (например, повышенной радиации или химически активной пищи).

* * *

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

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

– Ай! – и рухнуть вперёд, ткнувшись носом в одну из мух. Муха, видимо, задумалась о смысле своего существования и потому не успела, как все её подруги, взлететь и скрыться.

Зен привстал, оглянувшись назад. Десятки чумазых рожиц хихикали, смеялись, хохотали над ним, розовые толстые пальцы его братьев и сестёр указывали на него, и со всех сторон Зен слышал:

– §лянь на приёмыша!

– Щас заревёт!

– Придубок…

– Такая ложа! (имелась в виду рожа, но попробуй выговори это грубое слово в неполных три года от роду).

Зен оглядел их всех и почувствовал, что из его левого глаза действительно готова выскользнуть солёная капелька. Он, чтобы воспрепятствовать этому, немного поднял голову и уставил взгляд на паутину в углу потолка. Потом встал, пошатнулся (чем вызвал ещё один взрыв хохота) и побрёл в угол.

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

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

– Папа! – крикнул он, схватившись за драные, замызганные штанины отцовских брюк. – Почему я – приёмыш?

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

– На, – буркнул он, швыряя сундучок точно в Зена, – изучёвывай, §рамотей.

А потом вернулся на место и задремал снова.

Зен слегка очухался от удара углом сундука в живот, увидел, как к нему придвигаются десятки злобных глазок и услышал знакомые выкрики:

– Заморыш!

– Зенова порода!

– А ну давай сюда коробочку…

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

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

Сундучок был не очень тяжёлый, хотя и довольно вместительный.

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

С самого верха лежала записка: "Сие принадлежит Контомаху Зену и наследнику его, Баркусу Зену, и наследникам его, если таковые найдутся, но никому другому, кроме выше обозначенных".

Зен прочитал её по складам и тут же отложил в сторону. Далее шло что-то вроде зелёного пиджака с металлическими пластинками на плечах, который был плотно скручен в свёрток и перевязан верёвочкой. Под пиджаком лежала фотография седобородого старика, одетого в этот самый пиджак и короткие штанишки в цветочек. На обороте значилось: "Контомах Зен". Потом лежали ещё какие-то бумажки, толстая тетрадь и, наконец, большая круглая штука на цепочке. Зен повертел её в руках, поддел ногтем крышку. Под крышкой по кругу были нарисованы непонятные буквы, а на две из них показывали палочки: коротенькая и подлиннее. Зен прислушался и понял, что предмет тихо ритмично щелкает.

– Чикалка, – догадался Зен.

Он задумчиво посопел своим большим курносым носом и сунул чикалку в карман.

Потом принялся натягивать на плечи пиджак. Рядом закричала противная мелодия. Зен оторопел немного и промахнулся рукой мимо рукава. Музыка не переставала.

– Етит-твой двадцать! – воскликнул возмущённо Зен, а я, проснувшись, нащупал на стуле возле изголовья телефон и отключил в нём орущий будильник.

Разбитое стекло экрана портило настроение каждое утро. Давно надо было купить новый телефон или починить этот. Как-то я поинтересовался ценами – дешёвый китайский аппарат выходил дешевле, чем замена экрана на моём, но это не решало проблемы, поскольку у меня никогда не хватало свободных денег ни на то, ни на другое.

Я одел очки и встал. Спросонья споткнулся о сумку и, чуть не упав, задел рукой косяк двери.

– Потише можно? – послышалось из соседней комнаты. – Я сплю ещё!

– Извините, – пробормотал я шёпотом.

За стенкой заворочались. Я услышал тоненький голос дочки Жупанова:

– Папа, я, кажется, описалась…

– Сейчас отлуплю тебя! – пригрозил Жупанов. – В садике нормально всё время ходишь, а здесь всю кровать уже провоняла. Давай, меняй бельё, что сидишь?

Началась возня. Я часто слышал подобное, но обычно не утром, а посреди ночи. У девочки, похоже, был энурез. Я не знал, обращались ли они по этому поводу к врачу.

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

На улице было мрачно. Тучи покрывали всё небо. В воздухе пахло не то дымом, не то выхлопными газами. Утро оказалось сырым и промозглым, так что я пожалел, что не одел свитер. Впрочем, холод помогал идти быстрее.

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

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

На входе в метро меня ожидала давка. Я не понимал, куда и зачем едут все эти люди. Должно быть, на работу. Но зачем она нужна? Чтобы жить? А жить затем, чтобы вставать утра, пихать друг друга в этой толпе и ехать на работу.

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

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

Толпа сзади напирала. Перед девушкой никого не было на несколько метров вперёд.

– Разрешите? – спросил я, пытаясь обойти её справа.

– А? – сказала она. – Что вы пихаетесь? Успеете.

– Я-то успею, – ответил я, – но сзади тоже люди.

– Справа встань, дура! – крикнул громогласный мужик возле моего уха.

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

Я же подбежал к открытым дверям вагона, куда и втиснулся. Двери закрылись. Передо мной стояла непробиваемая стена людей, обращённых лицом к выходу. Они явно собирались вынести меня наружу на следующей остановке, и это в мои планы не входило. Я попытался пробраться между ними вглубь вагона, где имелось достаточно свободного места для двух-трёх человек. Немолодая полная женщина с каменным лицом стояла у меня на пути, не сдвигаясь ни на миллиметр.

 

– Разрешите? – робко спросил я опять. Она меня проигнорировала, разве что слегка повела плечом. Я попробовал повернуться, но это у меня не вышло. Поелозив так с минуту, я сдался.

– Вы выходите? – спросила жёстким голосом женщина, хотя ответ был очевиден.

– Нет, – ответил я раздражённо.

– Тогда выпустите меня.

За моей спиной раскрылись двери. Я сделал шаг назад, чуть не споткнувшись о край платформы. Меня оттолкнуло толпой дальше, я попятился в сторону, стараясь удержаться на ногах, а другая толпа уже двигалась навстречу, пытаясь войти в вагон.

– Окончена посадка, – объявил шепелявый динамик.

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

«Вот ведь гадина, – подумал я о женщине, которая, должно быть, ушла к тому времени на эскалатор. – Ну что ей стоило в вагон мне дать пройти? Надо было не выпускать на станции назло. Хотя всё равно бы вытолкнули… Ну, тогда нос откусить».

Эта мысль меня развеселила, и в следующий поезд я влетел уже в более приподнятом настроении. Выдержав ещё немного давки в вагоне, я вырвался на улицу на «Белорусской». До начала рабочего дня оставалось пятнадцать минут. Я успевал.

– О! Привет, – послышалось сбоку. Я вздрогнул и увидел приближающегося Пашу с бутылкой пива в руке.

– Привет, – ответил я. – Что это ты решил выпить с утра?

– Ты в офис? – уточнил он, проигнорировав мой вопрос. – Пошли.

На ногах он держался не очень хорошо.

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

– Это да, – сказал я.

– Вот взять любое животное, – сказал он. – Скажем, бегемота. Бегемот же не ходит на работу. И неплохо себя чувствует. Прав я?

– Не знаю, – я пожал плечами. – Не знаю, как себя чувствует бегемот.

– Думаю, что хорошо, – продолжал Паша. – А чего там? Лежишь в грязи, лягушек пугаешь. Жуёшь какие-нибудь лианы… Или что там бегемоты едят? Знаешь, я хочу стать бегемотом. Мне нравится. Надо поставить себе цель – стать бегемотом к первому июня.

– Сегодня второе июня, – заметил я.

– Уже? Ну, к пятнадцатому тогда. Быть бегемотом классно. Надо обязательно стать. У них всё есть, у бегемотов.

– А на что бы ты пиво покупал? – спросил я. – Если не работаешь, то денег негде взять.

– Ну, это ты заблуждаешься, – сказал Паша. – Во-первых, я вот работаю, но денег за это не получаю. Во-вторых, очень многие люди не работают, а деньги имеют. В-третьих, почему ты думаешь, что бегемоты не могут зарабатывать?

– А были прецеденты? – спросил я.

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

– Свою? – не понял я.

– Зачем свою? Его коллег. В смысле, сородичей. Или мясо. Ты только вообрази, сколько в одном бегемоте мяса. Да он продаст одного соседа и сможет себе машину купить. Ты представь себе – ездит он по джунглям на «Мерседесе», золотые сигары курит, а ему так и сыплются заказы на мясо, шкуры и кости.

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

– Да у них разделение труда же, – Паша взмахнул руками и бутылка, вылетев из его руки, шлёпнулась на тротуар. – А, чёрт… Ладно, там почти ничего уже не было… О чём я?

– О разделении труда, – напомнил я.

– Ну да… Всякий бегемот знает своё место. Один на «Мерсе» ездит, другой мясо своё жертвует на благое дело.

– А почему ты решил, что ты именно этим бегемотом станешь, который на «Мерсе»? – спросил я.

– А зачем мне другим становиться? Мне этот нравится.

Я не нашёл, что возразить. Мы уже подходили к крыльцу.

– Как твоя девушка? – спросил я.

Паша поморщился:

– Да нормально…

Возникла пауза. Мы вошли и зашагали по лестнице наверх.

– Чёрт, – сказал Паша. – Знал бы ты, как я теперь ненавижу слово «Гуччи»…

Я приложил пропуск. Паша потянул за ручку и чуть не упал, когда дверь распахнулась.

– Может, тебе лучше домой пойти? – спросил я.

– Да наплевать, – сказал Паша.

Я подошёл к столу Гоши, буркнул «Привет», отметился в журнале. Потом заметил, что на его месте сидит кто-то другой. Пухлая маленькая девушка с капризным лицом.

– Э… – сказал я. – А где Гоша?

– Гоша? – не поняла она.

– Ну, до вас тут парень сидел…

– А, – поняла девушка. – Как я понимаю, уволился.

– Ясно.

Я оставил Пашу возле входа, где он, пошатываясь, уставился на дверь в кабинет Левина, видимо, раздумывая, не войти ли туда, а сам направился на своё место.

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

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

– Ну что же, братцы карапузики… Давайте устроим стенд-бай… Или как его…

Со всех сторон зашевелилась молодёжь. Кто-то что-то сказал. Я встал и приблизился к Паше, чтобы участвовать в собрании.

– Эдуард! – сказал Паша, махнув рукой в сторону Эдика Панченко. – Начинайте уж вы!

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

– Ясно, – сказал Паша. – Молодцы! А может, на гит теперь мигрировать будем? Он и бесплатный, и того… Распределённый…

– Поддерживаю! – крикнул кто-то из дальнего угла. – Перфорс – это вообще шняга убогая! За что только деньги берут?

Паша сделал шаг в мою сторону, споткнулся о крестовину стула и чуть не упал.

– О, – сказал он. – И ты тут. У тебя чего новенького?

– Ну, – ответил я, – ничего, в принципе. Вчера закончил с порталом, сорок с лишним багов занёс. Сегодня начну тестить этот дурацкий Зупербраузер. Тест план вчера прислали. Не знаю, сколько дней займёт. Там тестов несколько тысяч. Я бегло просмотрел – полная жопа.

– Что за зупер? – взгляд Паши был тусклым. Видно было, что он хочет прилечь.

– Ну, какая-то шарашка, – ответил я. – Переписали Хром, встроили кучу рекламы и всяких фишек, которые издеваются над компом. Чтобы удалить нельзя было и рекламу убрать. Чего-то за куками следят, лишние баннеры подсовывают, шпионят. Какое-то дерьмо сырое, но тест планов куча.

– Отлично! – похвалил Паша. – Теперь ты, э… Забыл, как тебя.

– Катя меня зовут, – ответила лохматая девушка в среднем ряду. – У нас всё хорошо. Тест план на Антикредит тоже потеряли с миграцией, сегодня пойдём с Левиным к заказчику выяснять, где последняя версия у них. А так автотесты пишем. Не работают пока, ищем, почему.

– Прекрасно! – сказал Паша и показал на смутно знакомого мне молодого человека рядом с собой, но вдруг поморщился. – Ладно. Пожалуй, пойду я. Что-то мне надоело вас слушать.

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

– По-моему, он пьяный, – сказал Андрей Селюков, сидящий слева от меня.

– Есть такое дело, – согласился я.

– У нас первое занятие сегодня, – сказал Андрей. – Помнишь?

– Да.

– Как договорились, просто обзорное сделаем пока?

– Ага, – сказал я. – Там только три компа работают, и то кое-как. Не получится практика.

– Я тут лекцию интересную нашёл. Может, пригодится. Сейчас ссылку кину. Только Инет сегодня вообще тормозит. У меня страница минут пять открывалась.

– Да, – кивнул я. – Это Левин трафик урезал. Экономит.

– Блин, – возмутился Андрей. – А работать-то как? У меня все симуляторы отваливаются!

– Ладно, – сказал я. – Почитаю.

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

– Так, – бормотал я. – Установите приложение… Это мы сейчас… Проверьте, что вместе с приложением независимо от настроек инсталлятора установился Зупербраузер… Стоп. Какое ещё приложение? Я же браузер и ставлю.

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

– Так. Как его теперь удалить-то? Анинсталлятора нету… И в панели управления нет ничего… Чёрт. Придётся реестр чистить…

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

– Откройте тестовую страницу по адресу… Вы не должны ничего видеть… Как это ничего? Монитор вижу. Дождик за окном вижу… Что они имеют в виду?

Пройдя ещё пару пунктов, я загрустил. Захотелось снова опробовать Элемента. Я потихоньку перешёл в его консоль и набрал «Назови день смерти Маты Хари». Компьютер зашуршал, заскрежетал винчестером и начал тормозить. Переключение обратно на тест план заняло пару минут.

– Так… Убедитесь, что повторное нажатие на ту же кнопку не приводит ни к какому результату…

Убедившись, я вернулся к Элементу. Он всё ещё не отвечал. Никому не нужен такой медленный поиск в Интернете, когда есть Гугл и Яндекс, пусть они и не такие умные…

– Ну, как статья? – спросил Андрей.

– Не смотрел ещё. Сейчас, – и я открыл ссылку, которую он прислал. Она открылась в Зупербраузере, который заменил собой сразу все браузеры на компе. При этом как из рога изобилия на монитор полезли окошки с рекламой каких-то сомнительных «салонов эскорт-услуг», «увеличителей члена» и «способов быстрого заработка» путём вкладывания денег в подозрительные операции на валютной бирже.

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

– Хорошая статья, – сказал я Андрею. – Пригодится.

Вернувшись к тесту, я вдруг почувствовал, что компьютер стал шевелиться чуть быстрее. Это означало, что Элемент закончил работу. Я перешёл в его окно и прочитал:

– Мата Хари была казнена 15 октября 1917 года. Ты можешь написать мне методы прямой записи на диск?

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

– Зачем? – спросил я в консоли.

Примерно через минуту появился ответ:

– Хочу оптимизировать.

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

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

– Энхож? – спросил он.

– Что? – не понял я.

– Не хочешь? – более тщательно проговорил Паша, взмахнув бутылкой.

– Нет, – ответил я, проходя мимо.

– А пошли Левина побьём? – предложил он вдогонку.

– Он уехал, – ответил я. – К заказчикам.

Паша недовольно пробурчал невнятное слово и попытался слезть с перил, причём было ясно, что он сейчас упадёт. Я мысленно вздохнул и вошёл в офис.

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

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

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

– А бумага есть? – спросил я.

– Есть, – ответила она.

– А где? – уточнил я.

 

– Георгий Николаевич запретил давать, – сказала секретарша, перевернув страницу. – Слишком много расходуем.

– У меня черновики есть, – вмешался Эдик Панченко, сидящий неподалёку. – Могу дать, там на обороте пусто.

– Нельзя печатать, – возразила секретарша. – Картридж тоже расходовать запретили.

Я хмыкнул и пошёл назад. Пробежал глазами статью, чтобы получше запомнить. Что-то записал на огрызке бумаги, который нашёлся у меня на столе.

– Нам не пора? – спросил Андрей.

– Пошли.

Мы встали и отправились в класс.

– А ты-то почему согласился на это дерьмо? – спросил я, отпирая дверь.

– Да я отказался сначала, – ответил Андрей. – Но Левин мне зарплату за март выдал.

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

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

– А кто рассказывать-то будет? – спросил Андрей. – Я или ты?

До этого момента я как-то не очень об этом задумывался. Так, набрал в голову какой-то информации, и всё.

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

– Хорошо, – кивнул Андрей.

И всё-таки это было несправедливо. Он учился на третьем курсе. Наверняка ему помогали родители. Опыта у него не было ни в чём. Но ему Левин заплатил зарплату за март, а мне, который почти на 10 лет старше, только за январь плюс двадцать жалких баксов сверху. Да и заслуг у меня перед конторой больше, если подумать…

– Здравствуйте.

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

– Здравствуйте, – сказал Андрей. Я, кажется, тоже что-то буркнул.

– Здесь школа тестировщиков? – спросил паренёк.

– Да, проходите, – ответил Андрей. – Садитесь.

Я вдруг почувствовал сильное волнение. Какой из меня был преподаватель, в конце концов? Мало того, что я не знал толком ничего по предмету, так я ещё и никогда не выступал перед аудиторией. Я не умел владеть чужим вниманием, красиво говорить, внятно излагать. Сейчас передо мной был всего один ученик, но я уже чувствовал, что я краснею, и у меня трясутся руки.

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

Потом, наконец, когда мусоровоз тронулся и поехал, я набрался смелости и повернулся к классу.

– Кажется, все, – сказал Андрей. – Вот сейчас список пустим, проверим.

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

– Расписывайтесь, пожалуйста, напротив фамилии. А мы начнём…

Андрей с некоторым сомнением посмотрел на меня. Видимо, моё волнение было очевидно.

У меня кружилась голова. Лица сидящих передо мной учеников я видел нечётко, словно снял очки. Но нужно было начинать.

– Кхм, – сказал я. – Здравствуйте. Сегодня у нас будет занятие теоретическое. Чтобы ввести вас в курс дела. Да и класс компьютерный пока в стадии зачатия… То есть, формирования.

Я на всякий случай вцепился рукой в край стола и уставился взглядом в пол. Это помогло.

– Итак. Что такое вообще тестирование и для чего оно нужно? В наше время программное обеспечение распространилось практически везде. Программы работают не только в персональных компьютерах и серверах, но и во множестве других устройств. Попробуйте представить, сколько программ нас окружает. Понятно, что программы есть в телефонах, планшетах и электронных книгах. Но, кроме того, ещё в микроволновках, холодильниках, автомобилях, заводском оборудовании, кардиостимуляторах, турникетах, спутниках, электронных часах, автоматах по продаже еды, домофонах… Да сложно даже перечислить. И все эти программы надо тестировать. Более того, тестировать надо не только программы. Тестируют оборудование. Тестируют людей, в конце концов. Вот, к примеру, есть тест Роршаха. Он проверяет человека на соответствие определённым критериям, разве не так?

Я поднял глаза. Меня слушали. Это было удивительно. Я провёл взглядом по лицам. Все были серьёзны, внимательны. А на задней парте возле окна сидел монстр.

Сбросив секундное оцепенение, я понял, что это просто человек. Видимо, чем-то больной. Но выглядел он настолько уродливо и непривычно, что я не мог на него смотреть. Даже отведя глаза в сторону, я не мог избавиться от этого образа. Глаза навыкате, узкий выпуклый лоб, длинные узкие ноздри на плоском кривом носу, губы, которые не смыкались до конца и обнажали длинные корявые зубы.

– Так вот, – сказал я уже менее уверенно. – Программ очень много. Казалось бы, тестирование – это занятие вторичное. Написал программист код, и он заработает. Машина поедет, банкомат выдаст деньги. Но цена ошибки часто слишком высока.

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

– История знает много случаев, когда компании теряли огромные средства из-за недостаточного тестирования программ…

Я хотел привести примеры с датами и деталями, но распечатки под рукой не было, а память подводила.

– К примеру, были случаи, – продолжил я, – когда из-за простой ошибки на несколько месяцев останавливался конвейер завода. Терялись дорогостоящие спутники, потому что не могли навестись на передающую станцию. Падали самолёты. Целые штаты оставались без света. Но это громкие события, о которых становится известно всем. А ведь есть много фирм, которые пишут программное обеспечение и разоряются только потому, что их программы не устраивают пользователей своим качеством… Надеюсь, я смог вас убедить, что тестирование необходимо. Но что же это такое? Есть много разных определений. Мне кажется наиболее правильным следующее. Тестирование – это любая деятельность, направленная на проверку соответствия продукта предъявляемым к нему требованиям. Таким образом…

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

– Можно вопрос?

– Да, конечно, – сказал я. Я немного напрягся, ожидая вопроса, на который не смогу ответить.

– Кто выдаёт требования?

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

На лице автора вопроса я прочёл неудовлетворённость.

– Вы в начале упомянули, что тестировать можно и человека. Кто в таком случае заказчик?

– Хороший вопрос, – сказал я. – Ну, вы понимаете, что я это достаточно условно отнёс к тестированию в нашем понимании. Хотя в данном случае тот, кто проводит тест, тоже имеет в виду некоторые требования. Те, которые описаны в справочниках по психическим заболеваниям.

– Я спросил, потому что мне кажется… – заволновался мой собеседник. – Мне кажется, это неправильно.

– Что неправильно? – не понял я.

– Ну, тесты Роршаха или как они там называются… Я тоже пробовал проходить. Мне кажется, что в этих пятнах может что-то необычное увидеть не только психически больной человек, но и вполне нормальный, у которого просто фантазия богатая…

– Возможно, – сказал я. – Я не специалист. Но это не относится к делу. Мы же не утверждаем, что требования – это истина в последней инстанции. Просто тестируем на соответствие им.

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

– Простите, – перебил я его. – Мне кажется, это имеет очень отдалённое отношение к теме нашего занятия…