Катя заказала бокал вина, чем меня удивила. Раньше она не пила алкоголь днем и уж тем более не в середине недели, когда завтра на работу. Но не согласиться с ней я не мог — повод выпить действительно был, поэтому я решил ее поддержать и заказал бокал белого сухого.
— Расскажи мне еще о своей работе? — попросила она.
— А что ты хочешь узнать?
— Как проходит твой день?
— Ну, каждое утро я начинаю с бассейна. Я снял квартиру в жилом комплексе, где в цоколе есть бассейн. Мне нравится. Полчаса каждое утро дает отличный заряд бодрости. Потом еду на работу. Я получил права, купил машину — ну, ты об этом уже знаешь, — и теперь езжу на работу к восьми утра, специально попросил перенести график работы из-за пробок.
Я заметил еще кое-что. Едва я начинал говорить, Катя успокаивалась. Она расслаблялась, лицо становилось безмятежным, она улыбалась без настороженности. Словно чувствовала себя в безопасности. Поэтому я постарался подробно рассказать ей, как живу и работаю.
Я сказал, что, как только пришел в «Передовые технологии», основной моей задачей было вычищение исходных кодов в программах. Это была важная и нужная работа, которую никто не делал. Когда программисты пишут, то не обращают внимания на оставленный мусор. Внимательно его вычистить и не снести что-то важное для программы — и было моей работой. Поскольку у меня был доступ ко всем разработкам сразу, а не только к одному ПО, как у разработчиков, я мог видеть все ноу-хау смежных подразделений и быстро осмелел до того, что стал предлагать интегрировать одни решения в другие, чем вызвал бурю неудовольствия программистов, но одобрение со стороны руководства. В мое досье даже внесли, что я человек внимательный и инициативный. А если учесть, что я не делал ошибок, вычищал тщательно и с головой, то еще и аккуратный, но об этом написать забыли.
Руководитель предложил попробовать принять участие в разработке без повышения в должности, и я согласился, потому что это был неплохой шанс не только вырасти в карьере, но и позлить всю ту “недвижимость” в компании, которая вросла в кресло. Спустя полгода мне предложили должность разработчика, а еще через пару месяцев назначили старшим.
— Я не поняла, если честно, что ты там вычищал? Это ведь просто набор символов.
— Верно, но каждый символ составляет команду, которая реализует ту или иную задачу. Программный код — это вещь творческая, как, например, книга. Собственно, функция та же. Ты читаешь книгу, мозг обрабатывает информацию. Если эта книга — учебник, например, по математике, и в ней написано: «Выполните уравнение», ты берешь лист бумаги, ручку и начинаешь решать. Книга дала команду, ты выполняешь. Программа делает то же самое, только команды при ее запуске выполняет компьютер. Есть разные программы: одни сложнее, другие проще. Те, что совсем простые, устанавливаются на оборудовании, которое способно выполнять ограниченное число команд или вовсе не занимается вычислениями. Программа для СОРМ выполняет несколько простых функций — копирует трафик и передает его в хранилище или регистрирует трафик (например, оповещает, что абонент начал разговор) и осуществляет его ретрансляцию и запись. Так вот, когда программа разрабатывалась, у нее были задачи, и, исходя из них, писался код. Потом задачи становились другими: расширялись или сужались. Например, раньше программа позволяла только прослушать разговор, а теперь должна его записать и копию отправить в хранилище. Но ведь программист не переписывает программу целиком. Он влезает в конкретные области, которые запускали нужные механизмы, и дописывает то, что нужно для реализации новых функций. В результате там остаются ненужные ошметки и дубляжи, от этого программа тяжелее и неповоротливее, как любая вещь с мусором. Найти и вычистить — вот что я делал.
Я не думал, что Катю и в самом деле заинтересуют эти подробности. Одно дело — учеба: там много нового и интересного. Совсем другое — рабочие будни, где мало прекрасного, а больше рутины и нуднейших процессов. С той же очисткой кодов я умирал от тоски, потому что был вынужден читать коды, которые писались в 90-х, в самом начале пути, и никому из программистов не приходило в голову обновить те старые движки, которые исправно работали, но морально устарели. Чтобы не покоцать функционал, приходилось залезать в архивы и извлекать пыльные тома от руки написанных кодов, чтобы понять, что к чему относится.