Майк Мак-Кай - Хьюстон, 2015: Мисс Неопределённость
Университет? Ну да. Папашка всё уговаривал меня идти учиться на авиационного инженера, натурально, с дальним прицелом в освоение космоса. Я посетил пару-тройку раз папино рабочее место в космическом центре имени Линдона Б. Джонсона. Честно сказать, меня не впечатлило. Отец разрабатывал, монтировал, а потом обслуживал фильтрационные системы в том самом огромном бассейне, где тренируются астронавты. Бассейн только запустили в эксплуатацию, так что мальчик по очистке бассейнов с двумя инженерскими дипломами очень гордился своей работой. А я почуял как-то: человеческие полёты в космос — кончаются.
Хотя… Первый толчок был не в девяностых, а на десять лет раньше. В моей детской памяти навсегда застрял эпизод, как мой папа плачет, глядя на картинку «CNN». Я сам-то был пятилетним сопляком, и для меня искривлённое белое облако на экране телевизора выглядело как шаловливая буква «Y» из книжек Доктора Сьюза[116]. Но я просёк твёрдо: учительницам начальных классов не место на околоземной орбите.
А в 1997, как пришло время выбирать будущую профессию, я про космос имел уже вполне определённое мнение. Спутники для погоды, навигации и связи — это да. Человек на Марсе — возможно. Только, сдаётся мне, с Марсом будет так же, как с Луной. Покажут запуск по телевидению. Через полтора года, ещё взволнованный репортаж: «Маленький шажок человека, гигантский прыжок человечества!» Вогнали в красную марсианскую пыль древки соответствующих флагов. Сфоткались — на память и для обложки «Time». Достаточно, господа астронавты, сворачивайте комедию!
Ещё не запустили Международную Космическую Станцию, а доктора наук уже вымучивали орбитальные «эксперименты». Как растёт пшеница в невесомости? Сколько сперматозоидов произведёт самец мушки-дрозофилы? Хорошо ли в невесомости горит свечка? Как поджечь только свечку, а не всю станцию? А самое главное: сколько двуногие подопытные могут там летать? Что с ними бывает, когда (и если) вернутся на Землю? В папином бассейне непрерывно тренировались будущие хомячки-астронавты. Как настоящие домашние хомячки тренируются в колесе.
В средней школе я писал «Голодного Питона» на «Бэйсике», а в старших классах — кросс-компилятор с «Бэйсика» в «Питон» — на «С++»[117]. Стукнуло шестнадцать, и я отправился в университет Райса[118] на день открытых дверей. Первым на пути попался факультет Computer Science[119].
После университета — покатил сплошной вин. В конце девяностых звонко рухнули «дот-комы», но меня совсем не коснулось. Когда я выпускался из университета, шок уже прошёл, и за настоящими программистами началась откровенная охота. Компании наелись «дот-комовскими» кодерами, у коих не код, а набор взаимоисключающих ошибок. Также безжалостно вышибали излишне умных, кто массив отсортировать не может, не выдав на-гора две тысячи строчек объектно-ориентированной зауми, где не то что автор, а сам чёрт ноги переломает. Бизнесу нужны программисты-прагматики.
Представьте аукцион в психбольнице. Сто тысяч в год! — Услышу ли я: сто тридцать? Спасибо, сэр! — Услышу ли я: сто шестьдесят? Спасибо, мэм! — Сто шестьдесят — раз! — Сто шестьдесят — два! — Сто шестьдесят — три! — Продано! — Лот уходит HR-леди с искусственными бриллиантами в колье. Поздравляю, мэм!
На весёлых аукционах я продавался регулярно, в среднем каждые полтора года, и по всё большим ценам. А космос? Спасибо, летайте без меня. Как «Колумбия» приземлилась — в курсе? То-то.
Ты скажешь: программист! Ничего себе, вин! Пришёл Глобальный Кризис, и никому не нужны программисты. Так повезло, мой вин — продолжается. В сентябре 2014, я получил двенадцатимесячный контракт на разработку прикладной системы искусственного интеллекта. Трах! Мячик совместился в Пространстве-Времени с битой, чуть более половины миллисекунды испытывал вполне релятивистское ускорение в двенадцать тысяч «g», — и улетел далеко за трибуны, разбив кому-то лобовое стекло на парковке.
Худощавый человек, на десяток лет меня старше, с эйнштейновской шевелюрой, блеснул полукруглыми очками и протянул руку. Акцент — явно европейский: «Гьик Гарденер. Математик-алгоритмист».
Сделанная в Америке программа распознавания речи у меня в голове — выполнила аварийный останов: «Вы сказали: гик?»
«Никлауса Вирта как-то спросили: как правильно произносить ваше имя? На что он ответил: можете звать меня по фамилии, „Ви-ирт“, а можете — по значению „Во-орт“.[120] Я не Вирт, так что называй меня гиком».
Быстро установили, Гьик — тоже новичок в проекте и подписал контракт двумя днями ранее. Не особо общаясь, мы проработали неделю, и наступила пятница. Жара стояла страшная, поэтому после работы решили осесть в баре и степенно переждать знаменитые хьюстонские пробки за парой бокалов не менее знаменитого «Шайнер Бок»[121].
«Что ты думаешь про проект?» — спросил Гьик.
Я отхлебнул ледяное пиво: «Проект как проект. Бывает хуже».
«Задание отобрали у индусов, ты в курсе?»
«Ещё бы! Ты заглядывал в модули связи с базой данных? Бангалорский говнокод, причём самая говнистая разновидность».
«Как ты думаешь, почему проект перетащили в США?» — Гьик приподнял бокал, вроде бы салютуя моей оценке переданного кода.
«Откуда я знаю: почему? Либо качество не устраивает, либо сроки поджимают».
«True[122]. Качество и сроки. Этого я и боюсь».
«Чего тут бояться? Мы — консультанты. Если в Бангалоре вдруг научатся клепать приличный код за ту же цену, да ещё вовремя — нам конец. Только вряд ли эта страшная катастрофа случится при нашей жизни. Гораздо более вероятно, мы проиграем Третью Мировую злобным зеленокожим парням в летающих блюдцах».
«На Бангалор мне начихать. Я про качество и сроки, причём, и то, и другое — одновременно. Что конкретно должна делать наша система?»
Походило на какой-то непонятный скандинавский розыгрыш: «Ты так шутишь, Гьик? EGOS. Система оптимизации электросетей[123]. Монстр будет оптимизировать веерные отключения. Могу заверить, наш код не умеет пускать баллистические ракеты или облучать сограждан модулированными микроволнами. Однако, не забывай надевать шапочку из фольги перед сном».
Гьик задумчиво покачал пиво в бокале. «Давно ты видел веерные отключения?»
«В жизни не видел. Просто отключения — бывают. Аварийные, если ураган. Или плановые, если где-то ремонт. Но чтобы специально выключать электричество в разных районах города — я не припомню. По-моему, последний раз такое делали во время Первой Мировой».
«Если веерных отключений не бывает, зачем писать систему оптимизации?»
«Скажем, террористы взорвали пару-тройку электростанций, и электричества не хватает. Или сверхкрупный метеорит прилетел. На всякий такой маловероятный случай».
«Ты правильно сказал: маловероятный случай. Отличное пиво. Главное — не подхватить ангину», — Гьик сделал пару осторожных глотков и замолчал секунд на тридцать. Я так держать паузу не умею и вряд ли когда научусь.
Наконец, Гьик кашлянул и сказал: «Прикинь. Ты высокопоставленный федеральный чиновник. Тебе приказали сделать систему оптимизации веерных отключений. Система не нужна на каждый день, просто предосторожность. Неважно, когда EGOS вступит в строй, и хорошо ли оптимизирует. Веерных отключений нет и не предвидится, а вероятность атаки террористов на несколько электростанций сразу — просто ничтожна. Каков будет твой бизнес-план?»
«Не спрашивай меня про бизнес-планы, я ненавижу их писать».
«Ну всё-таки?»
«Принцип ВКР. Время, Качество, Ресурс. Время и Качество — по барабану. Следовательно, боремся за Ресурс, то есть баблос. Бангалор, однозначно. Натурально, раз система правительственная, руководство проектом и проверка качества — в Америке. Я найму грамотных альфа-тестеров на год, чтоб обеспечить минимально-приемлемый уровень говнокода. Ну и индусскую говнодокументацию нужно перелопатить, это два технических писателя и один редактор-корректор, на три месяца. Я ничего не упустил?»
«Ты ещё код кропаешь? Становись руководителем проекта! Итак, проект ушёл в Бангалор. Два года — ковырялись потихоньку. Внезапно, начальник тебе звонит: разворот оверштаг! Система нужна срочно. В ноябре 2015 EGOS должна заработать! Причём не просто заработать, а как швейцарские часы. Сколько будет стоить — абсолютно неважно. Ты просишь дополнительно сорок миллионов — и получаешь, без вопросов».
«Раз заказчик платит настоящие бабки, немедленно увольняем индусов и переводим всю разработку в США. Нанимаем акул трудового рынка, вроде нас с тобой… Опаньки! Ты хочешь сказать…»
Гьик ещё раз отхлебнул пиво. Помолчал. Дал процессу в моей голове докрутиться до точки синхронизации. Потом выдал: «True. Именно это я и хочу сказать…»