Никитюк Владимир : другие произведения.

Мост в прошлое

Самиздат: [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь|Техвопросы]
Ссылки:
Школа кожевенного мастерства: сумки, ремни своими руками
 Ваша оценка:

  Жизнь Андрея была проста и понятна. Он работал на крупном государственном предприятии и считался довольно перспективным сотрудником. Платили ему неплохо, и по служебной лестнице он постепенно продвигался.
  
  Однажды Надя спросила, чем он занимается на работе. Андрей ответил правдиво, но уклончиво: разрабатывает программы для компьютеров, управляющих сложными техническими объектами. А когда он отказался рассказать более подробно, жена обозвала его перестраховщиком.
  
  Что ж, какой есть... Программист и обязан быть перестраховщиком... Во всех отношениях...
  
  Самое забавное, что начальник лаборатории тоже не раз звал Андрея перестраховщиком. Хотя совершенно по другой причине...
  
  Дело в том, что Андрей был убеждён, что для компьютерных программ главное - надёжность. По крайней мере таких, какие разрабатывались у них в проектном институте.
  
  Ведь 'железки', которыми они управляли, - это не персональные компьютеры, которые при зависании или неправильной работе легко можно перезапустить. Даже небольшой сбой в работе 'железок' может иметь очень неприятные последствия. Вплоть до аварийных...
  
  К сожалению, ничего даром не даётся. Чтобы сделать программу повышенной надёжности, нужны дополнительные усилия. Ну и дополнительное время, конечно...
  
  Затраченные усилия - это личное дело самого работника. Нравится ему выламываться на работе - пусть выламывается. Нравится работать по вечерам - пусть работает. Тем более что инженеру, в отличие от рабочего, никто лишние часы оплачивать не обязан...
  
  А вот если из-за каких-то надуманных (с точки зрения начальства) проблем с надёжностью под угрозу ставятся сроки выполнения - это уже серьёзно...
  
  Правда, совсем уж вопиющих срывов Андрей пока что не допускал. Он хорошо умел концентрировать свои усилия - и в последний момент всё-таки успевал. Ну или почти успевал - в таких случаях пару-тройку дней с грехом пополам могли простить...
  
  Поэтому отношение к нему было всё-таки двойственное. С одной стороны, ему спокойно можно было поручить самую сложную работу, - и быть уверенным, что она в конце концом будет сделана. С другой стороны, многие боялись, что когда-нибудь он всё-таки не успеет...
  
  * * *
  
  К сожалению, так в конце концов и вышло. Даже ещё хуже...
  
  Из их лаборатории уволился молодой сотрудник. Он сумел устроиться работать в частную фирму, где платили гораздо больше, чем на госпредприятии.
  
  Уговаривать его передумать было бесполезно: когда он озвучил, сколько будет получать на новом рабочем месте, начальник лаборатории лишь горестно покачал головой. Таких денег предприятие платить просто не могло...
  
  Что ж, дело житейское... Такие случаи отнюдь не были редкостью.
  
   Но имелся в этой истории один неприятный момент. Ушедший сотрудник возглавлял довольно важный программный проект - и теперь его надо было кем-то заменить.
  
  Занять это место предложили Андрею. И он почти не раздумывая согласился.
  
  Ситуация облегчалась тем, что Андрей в этом проекте уже участвовал, разрабатывая в нём два достаточно сложных программных модуля. Казалось бы, новые обязанности не особенно его стеснят, - надо будет только дополнительно контролировать, как идёт работа у остальных сотрудников. Даже задачу им ставить не надо - это было сделано уходящим руководителем.
  
  Так, в принципе, Андрей и поступил. Сконцентрировавшись на разработке собственного программного обеспечения, он 'краем глаза' наблюдал за работой остальных исполнителей.
  
  Нет, нельзя сказать, что он совсем не участвовал в работе своих товарищей. Когда у них возникали серьёзные проблемы, он им помогал (всё-таки квалификация у него была повыше, чем у остальных). А вот по существу в их работу не вмешивался.
  
  Такой стиль руководства всех устраивал.
  
  Прошло несколько месяцев. Работа за персональными компьютерами кончилась. Теперь предстояло потрудиться на стенде, представлявшем из себя специальное помещение, где был смонтирован имитатор той 'железки', которой требовалось управлять. Нужно было проверить совместную работу созданных программ с этим имитатором.
  
  И только теперь Андрей понял, что стиль его руководства был, мягко говоря, не совсем правилен.
  
  * * *
  
  Первые две недели работы на стенде Андрей посвятил отладке собственных программ. Остальные сотрудники появились на стенде чуть позже... Впрочем, об этих сотрудниках следовало рассказать чуть более подробно.
  
  Все трое были молодыми - две девушки и один парень.
  
  Про девушек Андрей не мог сказать ничего плохого: они имели неплохую подготовку и честно старались сделать всё как можно лучше. Единственное, чего им не хватало, - опыта. Но это дело наживное...
  
  А вот с парнем были определённые проблемы... Усердия-то у него было немеряно, - но что-то объяснить ему было очень трудно. Не сразу он понимал, что ему говорили... В сочетании с невероятным упрямством это делало общение с ним довольно непростым...
  
  Нет, в конце концов удавалось озадачить и его... Но в ходе работы у этого товарища возникала масса вопросов, на которые Андрею приходилось терпеливо отвечать.
  
  В конце концов работа на стенде была выполнена. Но, к сожалению, не совсем вовремя...
  
  За срыв сроков в этот раз наказали не очень сильно, так практически все отделы, изготавливавшие смежные проекты, тоже их сорвали. Внушение, конечно, сделали, - куда ж без этого?
  
  Наступил следующий этап - отладка программ совместно с реальной аппаратурой. Для этого надо было ехать в другой город...
  
  * * *
  
  Поначалу всё шло неплохо. Андрей быстро отладил свои собственные модули. Началось подключение к реальной аппаратуре того, что сделали остальные сотрудники.
  
  А вот с этим были проблемы. Все эти программы содержали существенные изъяны, не заметные на стенде, но проявившиеся при реальной работе.
  
  Андрей не торопился упрекать своих товарищей. Они работали под его руководством, и если он недостаточно проконтролировал их работу, то это была в первую очередь его вина. Тем более что в конце концов все программные модули были настроены.
  
  И всё равно проблемы остались. При прогоне на реальных режимах периодически происходили сбои.
  
  Андрей чуть не свихнулся. Он многократно проверил все программы - и те, что сделал сам, и те, что разработали остальные сотрудники. Каждая из них по отдельности работала как часы - а вот все вместе они стабильно работать отказывались.
  
  Андрей отправил своих коллег домой - в этих поисках они не могли ему помочь.
  
  И принялся решать самую трудную головоломку в своей жизни.
  
  * * *
  
  Задача была действительно трудная. Несколько часов нормальной работы - и вдруг сбой! И совершенно непонятно, что произошло...
  
  В принципе, план его работы был понятен. Надо было найти хоть какой-то след возникающей ошибки. Хоть какую-то 'ниточку', потянув за которую, можно найти причину возникающего безобразия.
  
  Стандартный отладчик здесь не годился - он не рассчитан на встроенное программное обеспечение, работающее в режиме реального времени...
  
  Но был ещё один способ - примитивный, но надёжный: расставить везде отладочную печать, выводящую в специальные файлы всё, что происходит в программе. А после очередного сбоя просмотреть выведенную информацию и узнать, что же там случилось.
  
  Но ничего не выходило... Программа завершала свою работу слишком быстро, не успевая вывести причину возникшего сбоя.
  
  В принципе понятно почему. Чтобы отладочная печать сработала, надо было поставить её в одном-единственном месте: там, где уже пошло что-то не так - но ещё не произошло ничего, приводящего к аварийному завершению программы. Какие-то ничтожные доли секунды... Несколько строк программного текста из тысяч других...
  
  Расставить отладочную печать буквально везде? Это было нереально. Во-первых, это заняло бы слишком много времени. Даже страшно подумать, сколько... А во-вторых, 'утяжелённая' таким образом программа просто не успевала бы делать то, что ей полагалось.
  
  Оставалось одно - руководствуясь собственной интуицией, делать всё новые и новые попытки. Рассчитывая на то, что в конце концов повезёт...
  
  * * *
  
  Усилия Андрея не пропали даром: 'ниточку' найти всё-таки удалось. 'Потянуть' за неё и обнаружить саму ошибку после этого было делом техники...
  
  Оказалось, что она притаилась в базовой части программы, которая была написана года два назад и считалась полностью отлаженной.
  
  Вообще-то это было странным: базовая часть была задействована и в других проектах - а они работали без замечаний. Но, подумав, Андрей понял, в чём здесь дело: новый проект был гораздо сложнее предыдущих - значит и вероятность неправильной работы базовой части в нём была гораздо больше.
  
  Значит, сбой возможен и в старых проектах... Только вероятность его очень мала...
  
  Сбои стали реже, но не прекратились. Андрей предположил, что в базовой части есть ещё одна ошибка, - и оказался прав.
  
  А когда он занимался поиском третьей ошибки, ситуация вдруг резко изменилась. И отнюдь не в лучшую сторону...
  
  * * *
  
  Трое сотрудников, вернувшихся в Петербург, озвучили совершенно другой вариант происходящего. Что в их программах практически не было ошибок - вот они и вернулись первыми. А в программах Андрея ошибок было очень много - вот он и задержался.
  
  Эта ситуация оказалась возможной потому, что Андрей не любил 'катить бочку' на своих коллег. Он, конечно, проинформировал в своё время начальство, в каких именно программах было найдено наибольшее количество ошибок - но сделал это в максимально мягкой форме. А те, кто охаивал его в Петербурге, как потом выяснилось, в выражениях не стеснялись.
  
  Про ошибки в базовой части программного обеспечения Андрей сообщал, но в самой общей форме. Чтобы говорить об этом подробно, надо было разобраться в вопросе до конца. Вот сдаст проект, приедет домой, - и напишет подробный отчёт о возникших проблемах. И главное - даст чёткие рекомендации, как с этими проблемами бороться...
  
  Но тут Андрей просчитался. Начальство в Петербурге почему-то решило, что все разговоры о скрытых ошибках - это попытки запутать ситуацию и тем самым уйти от ответственности.
  
  В общем-то всё это было не так страшно - и происки сотрудников, и непонимание начальства. Фатальную роль сыграло ещё одно событие...
  
  * * *
  
  Дело в том, что проблемы были не только у того проектного института, где работал Андрей. Рядом трудились представители ещё нескольких предприятий. Каждое из них делало свой кусок работы.
  
  К счастью, перестроечникам и реформаторам не удалось в своё время погубить до конца российскую промышленность. Большинству предприятий всё-таки удалось пережить и перестройку, и 'лихие девяностые', и 'скудные нулевые'. Но, конечно, с определёнными жертвами. К сожалению, их потенциал был уже не совсем тот, что в советские времена.
  
  Поэтому нет ничего удивительного, что намеченные сроки сдачи оказались слишком оптимистичными. Все понимали, что их надо немного отодвинуть. Потому что - если смотреть реально - сделать свою работу в срок никто не успевал.
  
  Бюрократическая логика имеет свои законы. Все сразу виноватыми быть не могут. Если сроки будут перенесены - значит, у такого безобразия должны быть конкретные виновники.
  
  Чтобы их найти, решено было сделать масштабное испытание сделанной работы. Запустить несколько реальных рабочих режимов и посмотреть, у кого именно возникнут проблемы.
  
  Так что момент был очень ответственный. Каждый из участников сдачи переживал, как бы виновником не назначили именно его предприятие.
  
  * * *
  
  Андрей тоже не находил себе места. Если бы этот запуск был хотя бы на недельку попозже! Тогда Андрей успел бы довести свою 'чистку' программ до конца и уже не боялся бы никаких проверок.
  
  Но нет, не повезло. Прогон состоялся - и программа Андрея всё-таки повела себя не так, как нужно. В самом конце.
  
  И его питерское начальство решило, что пора принимать меры.
  
  * * *
  
  Руководителя проекта, место которого занял Андрей, удалось переманить обратно. Как именно, никто не знал. То ли у предприятия всё же нашлись нужные деньги, то ли новое место оказалось не таким хорошим, как ожидалось.
  
  Вернувшийся сотрудник сразу же был восстановлен в статусе руководителя проекта. И в этом качестве послан в командировку - спасать ситуацию.
  
  С одной стороны, это было немного обидно. Ведь Андрей решил почти все возникшие проблемы - и всё-таки его сумели сделать виноватым!
  
  С другой стороны, положа руку на сердце, он действительно был во многом виноват. Если бы он лучше руководил трудовым процессом и не пускал работу сотрудников на самотёк, со стенда проект ушёл бы в гораздо лучшем состоянии. Первый этап работ, сделанных в командировке, был бы выполнен гораздо быстрее, - и было бы больше времени для поиска 'головоломных' ошибок. Так что сейчас бы он был 'на коне'.
  
  Эти рассуждения смирили Андрея с возникшей ситуацией - и он с головой погрузился в работу.
  
  * * *
  
  Впрочем, новый руководитель (или старый - с какой точки зрения посмотреть) был не только хорошим специалистом, но и очень тактичным человеком. Он высоко оценил всё сделанное Андреем.
  
  В две головы они быстро завершили оставшуюся работу - и вернулись домой.
  
  Андрею казалось, что в принципе ничего страшного не произошло. Никаких обвинений в адрес их института не прозвучало (нашлись более виноватые предприятия). Проект в конце концов предъявлен.
  
  То, что Андрея отстранили от руководства проектом, было грустно, но не смертельно. Он надеялся, что уж второе-то место в коллективе исполнителей за ним останется. Андрей считал, что так будет даже лучше: больше времени останется на реализацию его идей по повышению надёжности программного обеспечения.
  
  В реальности всё вышло не так. Андрей даже не представлял, насколько негативный образ был ему создан, пока он отсутствовал. Его полностью отстранили от этой работы. Не помогла даже положительная характеристика, данная новым руководителем: начальник отдела просто решил, что тот проявляет неуместную тактичность.
  
  С реализацией идей по надёжности тоже ничего не вышло. Начальство решило, что это надуманная проблема. И заниматься этим совершенно нет времени.
  
  Так что Андрея загрузили текущей работой: мелкой, непрестижной и неинтересной.
  
  Через два месяца судьба преподнесла ему ещё один 'сюрприз' - во время очередной перетарификации его понизили в должности. Так что движение вверх кончилось. Началось движение вниз...
  
  * * *
  
  Андрей шёл домой. Шёл густой мокрый снег. И на душе было тоскливо-тоскливо.
  
  'Вот если бы была возможность всё переиграть! - с тоской подумал он. - Теперь-то я знаю, как тогда следовало поступать! Знаю... Но что толку? Уже поздно...'.
  
  Тут Андрей почувствовал, что у него начинает кружиться голова. С большим трудом он дошёл до ближайшей скамейки около какого-то дома. Сел - и будто провалился в чёрную бездну...
  
  * * *
  
  Сознание возвращалось медленно.
  
  Ещё не открывая глаз, Андрей заметил много странного. Во-первых, было тепло. И не просто тепло. Такое ощущение, что его освещали ласковые лучи утреннего солнца.
  
  Во-вторых, запахи. И шум деревьев. Как будто он оказался в каком-то сказочном саду.
  
  Вот и глаза удалось открыть. Андрей посмотрел вокруг - и опешил. Он сидел на берегу моря в очень удобном кресле. Над головой шумели деревья совершенно незнакомого вида.
  
  'Я что, умираю? - в панике подумал Андрей. - Уже и предсмертные галлюцинации начались!'
  
  'Вовсе нет! - раздался у него в голове ироничный голос. - Пока что вы находитесь вне времени и пространства. А я хочу задать вам один-единственный вопрос: вы действительно хотите переиграть? Вернуться к тому моменту, когда вас назначили руководителем проекта?'
  
  Можно ли осуждать Андрея за то, что он, не раздумывая, ответил 'Да'?
  
  В тот же миг голова у него вновь закружилась. И он снова потерял сознание. А очнувшись, обнаружил, что лежит на своей кровати, а рядом истошно звонит будильник.
  
  Он действительно перенёсся в прошлое. В тот день, который ему пообещали.
  
  * * *
  
  А дальше началась настоящая сказка.
  
  Зная, какой путь ему предстоит проделать, Андрей аккуратно избежал всех ошибок прошлого. Сразу же взял под жёсткий контроль работу остальных членов группы. Добился того, что работы на стенде их отдел закончил раньше всех - причём с высочайшем уровнем качества.
  
  Пока остальные отделы доканчивали свою часть работы, он тоже зря времени не терял, - устранял коварные ошибки в базовом программном обеспечении. А потом сразу же доложил об этом всем своим начальникам, вызвав у них сначала шок, а потом, - вздох облегчения.
  
  Работа в командировке вообще прошла на 'ура'.
  
  Конечно, это не означало, что ему было совсем уж легко. Работать приходилось ого-го сколько! Но, когда становилось особенно трудно, Андрей вспоминал события 'дубля-1' - и силы у него появлялись прямо-таки чудесным образом!
  
  Нет ничего удивительного в том, что в тот самый день, когда в 'первой реальности' его понизили в должности, во 'второй реальности' произошло прямо противоположное.
  
  Андрей стал начальником лаборатории...
  
  * * *
  
  Первые два месяца он был по-настоящему счастлив. Денег теперь он получал значительно больше, да и моральный фактор значил немало...
  
  Потом, правда, на душе начал появляться какой-то неприятный осадок: у Андрея появилось ощущение, что всё-таки он поступил неправильно. У него была возможность переиграть - но ведь у других-то такой возможности не было!
  
  А ещё через месяц Андрей окончательно понял, что занял не своё место. Его лаборатория вела несколько важных проектов - но теперь у Андрея не было 'воспоминаний из прошлого'.
  
  В общем, он не проработал в этой должности даже года. Его сняли за полный развал работы.
  
  Не желания, не сил бороться больше не было...
  
  И потекли тоскливые дни - без надежды и перспективы.
  
  Иногда Андрей думал, что было бы лучше, если бы он в тот вечер не возвратился в прошлое...
  
  * * *
  
  Андрей шёл домой. Шёл густой мокрый снег. И на душе было тоскливо-тоскливо.
  
  'Вот если бы была возможность всё переиграть! - с тоской подумал он. - Теперь-то я знаю, как тогда следовало поступать! Знаю... Но что толку? Уже поздно...'.
  
  'Нет! - подумал он. - Глупо желать такого! Глупо - и нечестно!'
  
  Тут Андрей почувствовал, что у него начинает кружиться голова. Но он колоссальным усилием воли взял себя в руки. И сознания не потерял. Так что вопрос о возврате в прошлое так и не был ему задан.
  
  * * *
  
  Нет, он не будет впадать в уныние!
  
  С этого дня Андрей снова начал путь наверх.
  
  Через два года о его неудаче забыли, через три - поручили новый проект. И уж в нём-то не было допущено ни одной старой ошибки!
  
  Но это уже - тема для другого рассказа...
 Ваша оценка:

Связаться с программистом сайта.

Новые книги авторов СИ, вышедшие из печати:
О.Болдырева "Крадуш. Чужие души" М.Николаев "Вторжение на Землю"

Как попасть в этoт список

Кожевенное мастерство | Сайт "Художники" | Доска об'явлений "Книги"