banner banner banner
Сын технологий. Роман в пяти годах и тридцати главах. Книга первая
Сын технологий. Роман в пяти годах и тридцати главах. Книга первая
Оценить:
Рейтинг: 0

Полная версия:

Сын технологий. Роман в пяти годах и тридцати главах. Книга первая

скачать книгу бесплатно


– Это кто?

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

– Давай отвечай, честно только!

Пришлось напомнить, кто такой Тоша, и Шура одобрил кандидатуру. Блёдер тут же заинтересовался, сможет ли Тоша работать на этих проектах дополнительно к работе в Корпорации, то есть фактически как на второй работе. Ответ на этот вопрос Андрей знал заранее.

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

– Э-э-э, а ты сам разве не проверяешь, э-э-э, после того как сделаешь?

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

– Э-э-э, а он сможет в перспективе, э-э-э, программировать? Хотя бы на таком уровне, э-э-э, как ты?

– Как я – вряд ли. Это же учиться долго. В общем, я спрошу, как он на это смотрит. А что у нас с офисом – сняли? Куда он ходить будет? Ко мне домой, что ли? Или тоже дома работать?

Про офис ответил Ишаков.

– Не сняли. Нечего пока снимать.

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

М-да… Ничего не понимаю… Говорили же, что квартиру будут снимать… А дома я буду работать только первое время… Неужели до сих пор нельзя было всё сделать?..

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

Дома он сел за компьютер и опять уткнулся в свои виртуальные комнаты. В комнате друзей незамедлительно поделился содержанием совещания. Тоши в комнате не было.

– Рассказал им про Тошу.

– Правильно, пускай Даше на машину зарабатывает.

Андрей рассмеялся.

– Ага, будет ко мне домой приходить работать. Сядет в другом углу комнаты, а обедать на кухне будет, ссобойки разогревать, которые ему Даша делает.

– Даша его не отпустит из Корпорации.

– Там ещё немец хотел, чтоб он в перспективе программировать научился. Хотя бы как я.

– Ну ничего себе «хотя бы»! Шура говорит, что ты вообще бог.

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

– А офисом что?

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

На этом общение в болталках не остановилось – объявилась Галина. Сначала она интересовалась работой, автошколой, потом заговорила про ремонт. Когда всё-таки будет ремонт, было совершенно непонятно. Сперва надо было отдать долг отцу и закончить автошколу, где предстояли расходы на бензин и бог знает на что ещё. Дальнейшее будущее виделось туманным и неопределённым, а сам ремонт – чем-то фантастическим, громоздким и неподъёмным. Андрей давно свыкся с обстановкой в квартире и не обращал на неё никакого внимания. Хотя от хорошей отделки, естественно, он бы не отказался.

– Не знаю. Мне по фиг на ремонт.

На эту фразу Галина отреагировала неожиданно.

– Понимаю. Когда я с тобой, мне тоже по фиг на ремонт.

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

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

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

– Да я бы сам поехал, если бы английский знал.

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

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

– Пошли ботанить английский.

– На фиг мне его ботанить, если я его и так знаю?

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

– Неожиданный поворот сюжета! А я двух слов связать не могу.

– Ну я вроде на простые темы нормально разговариваю.

– Придётся мне одному ходить.

– Да я тут и так занят, в автошколу вот хожу.

– А чего в универе не ходил?

– В универе я бухал и употреблял разнообразные вещества.

– Слушай, а что ты в Минске делаешь?

– В смысле?

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

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

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

– Да я просто думаю, что дальше делать. По жизни. Просто порассуждать, без задней мысли.

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

– Задайся какой-нибудь целью и иди к ней. И не думай, что делать дальше.

– Какой, например?

– Ну, не знаю. Например, трахнуть Скарлетт Йоханссон.

– Без бобла и карьеры этого не сделаешь. Деньги нужны как минимум, чтобы уехать в Америку. Всё на деньги завязано.

Андрею стало невыносимо.

– Пожалуйста, только не мой мозг.

Факультетский товарищ понимающе успокоился. По всей видимости, отправился обдумывать цель.

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

– Папа, а нас мировой финансовый кризис тоже коснётся?

– Нет, сынок, это он олигархов коснётся. А нам вообще пиздец!

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

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

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

– Ну и что это значит? «Возникнет необходимость поближе присмотреться». Уволят, что ли?

– Как что – присмотрятся поближе к людям, которые ни хрена не делают. Не уволят, просто присмотрятся поближе. Посмотрят-посмотрят – и всё.

– Да нет, похоже, не присмотрятся. Просто необходимость возникнет. Необходимость присмотреться поближе. А потом пройдёт.

– Точно, необходимость возникнет и пройдёт.

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

III

Увольнять же Андрея, похоже, никто не собирался, да и работы у него было выше крыши. Деваться было некуда, и он с прежним усердием продолжал разбираться с проектами. Рабочее место по-прежнему оставляло желать лучшего. Старое бабушкино кресло, оставшееся ещё от предыдущей хозяйки Эллы Яковлевны, постоянно ломалось. Андрей утомился подкручивать ему ножки, но покупать новое ему не хотелось. Он рассчитывал на то, что скоро будет офис, а домашнее кресло нужно будет приобретать в комплекте со всей остальной мебелью уже после общего ремонта квартиры. Монитор продолжал гаснуть, хотя кое-как и удалось приловчиться вмещать туда необходимые для работы программы.

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

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

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

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

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

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

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

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

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

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

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

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

Ну а Андрей занялся другим заданием – автоматизацией процесса сборки и развёртывания программ. Про процесс сборки нужно предварительно сказать несколько слов. Как создаётся, например, автомобиль? Отдельно собирается двигатель, отдельно – колёса, отдельно – электрические блоки, отдельно – кузов. Потом всё это скрепляется, сваривается, привинчивается – и получается готовый автомобиль. Ровно то же самое происходит с компьютерными программами. Сначала разрозненные фрагменты текста одной большой программы превращаются в отдельные составляющие блоки. Потом эти блоки собираются в более крупные блоки, те – в ещё более крупные и так далее. Кроме собственно текста программы, в процессе работы используются дополнительные блоки. Это могут быть как собственные разработки, так и коммерческая продукция третьих фирм, которые производят специализированные блоки разного предназначения и распространяют их по соответствующим лицензиям.

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

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

Затем сборка Про-системы попадала к клиентам на центральный компьютер больницы и начинался процесс развёртывания. Как располагаются на отдыхе, например, на природе? Распаковывают палатку, забивают колышки, разворачивают, натягивают, устанавливают. Собирают мангал из компактно сложенных запчастей. Откупоривают бутылки, разливают по рюмкам водочку, открывают банку с огурцами, раскладывают по пластиковым тарелочкам еду. Аналогичные процессы происходили и с Про-системой. Упакованная сборка вначале попадает на центральный компьютер, и там её распаковывают. Затем создаётся база данных и заполняется необходимой для работы начальной информацией, другими словами – инициализируется. Если база данных в больнице уже существует и активно используется, создавать её заново не нужно. Зато с ней нужно проделать процедуру обновления, чтобы она соответствовала последним изменениям Про-системы, которые появились в ней с момента предыдущего развёртывания. Другими словами, устанавливается новая версия Про-системы. После развёртывания Про-система подключается к базе данных. Если при этом база данных и Про-система физически располагаются на разных компьютерах, то нужно предварительно проверить, не закрыта ли возможность подключения одного компьютера к другому. Как правило, и база, и Про-система располагались на одном компьютере, но предусмотреть нужно было все возможные варианты. Были и другие нюансы. Например, процесс развёртывания слегка различался в зависимости от разновидности используемой операционной системы. И все эти моменты при автоматизации развёртывания нужно было учитывать.

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

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

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

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

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

IV

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

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

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

– Хотел спросить, как дела, и сказать, что иду спать. Решил, что ты не спишь ещё и работаешь. Программисты же поздно работают.

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

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

Чтобы выяснить, что и как нужно делать, он начал со звонка в своё домоуправление. Диспетчер сообщила пренеприятнейшее известие: все сантехники заняты до Нового года и занимаются установкой счётчиков другим жильцам. Тогда Андрей выждал два дня, пока у главного инженера наступит приёмный день, и отправился общаться с ним лично. Главный инженер записал телефон и пообещал, что в течение двух дней с Андреем свяжется подрядчик и договорится насчёт установки счётчиков.