Мы делили радости и горе с той поры, как встретились с тобой.

Ты как островок в открытом море, щедро мне подаренный судьбой.

Свой островок есть в любой конторе. Был он и в Кукарямбе, а назывался он «Сахалин». Заведовал им всесильный Филя, который был огромным косматым мужиком в драном свитере и неопрятной бородой, именно таким, каким в те годы представляли программистов — людей, имеющих какое‑либо отношение к офисной технике.

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

До поры до времени все было замечательно, сборки собирались, версии выкладывались и все, в том числе наш КуКаРя‑менеджмент, были счастливы. Так из морской пены родился наш продукт, основной частью которого была библиотека отрисовки картографического контента «Сахалин».

Филя был полноправным и единоличным, как бы это сейчас сказали, «владельцем» «Сахалина». Чужих в свой огород он не пускал, поскольку «Сахалин» представлял собой довольно сложное и запутанное существо, со множеством макросов, ассемблерных вставок и самогенерирующихся «чертей». Чтобы оценить степень отрешенности «Сахалина» от остального мира, стоит заметить, что собирался он только на Филиной машине. Еще, по слухам, он содержал где‑то в своих недрах тетрис, выполнявшийся прямо на видеокарте, но на все распросы Филя таинственно молчал, не подтверждая, но и не опровергая слухи.

И все бы было хорошо, если бы Филя не уехал однажды в Америку. Я даже помню этот пасмурный день, была среда, шел мерзкий питерский дождик. Филя пришел утром и с порога сказал:

— Баста, карапузики, кончились танцы!

— Что так? — не поняли мы.

— Уезжаю, господа!

— Куда?

— В Америку, куда еще?

И Филя уехал. А «Сахалин» остался.

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

Постепенно как‑то все стали забывать о существовании «Сахалина», поскольку добавления новых фич он не требовал, попадая таким, каким его оставил Филя, во все версии продуктов.

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

Вспомнив о «Сахалине», менеджмент предложил Филе в Америке подработать, но, по слухам, тот отказался.

«Ну и ладно, — сказал менеджмент, — мы сами».

Первые попытки пропатчить «Сахалин» не увенчались успехом. После полугода ковыряния в его потрохах он что‑то рисовал, надолго подлипая в ассемблерных вставках, часто падал, валя машину в синий экран. После очередного патча синий экран ушел, но вместо этого он стал слегка поджирать память в драйвере, так что после пяти суток работы всю машину приходилось перегружать, перегрузка апликухи не помогала.

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

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

Естественно, такая жизнь со временем стала реально всем мешать, и менеджмент принял непростое решение написать новый «Сахалин», а старый выбросить.

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

Месяца полтора спецы из «core» группы, мы их называли «кожура», кумекали, рисовали на стенах гигантские UML‑и с тысячами сущностей, писали документы, что‑то лабали ежедневно до десяти часов вечера и к концу второго месяца с большой помпой показали демку. Демка реализовывала примерно полпроцента того, что мог старый «Сахалин», использовала два десятка сторонних, «серых» библиотек и при работе грузила проц на сто процентов, чем, естественно, большого энтузиазма у народа не вызвала.

Дальше прожорливой демки дело с «Манхэттеном» не пошло, несмотря на то, что лид «кожуры» при каждом удобном случае говорил, что «Манхэттен» — это «будущее», и что «гибкость в нем сочетается со здравым смыслом». «Будущее» еще немного поваландали на митингах и забыли.

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

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

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

Казалось, что так будет вечно, пока в какой‑то момент «Сахалин» не перестал рисовать. То есть совсем. Это напоминало остановившиеся часы на стене дома в Хиросиме. «Сахалин» застыл в 16:46 по московскому времени, нарисовав в последний раз топографическую сетку и масштаб. Я точно не помню, чем тогда закончилась история, но помню, что через две недели у нас уже был новый начальник.

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

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

Жаль, что этого не видел Филя.