Иван Шкодкин

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

Вот например: зная, на каком языке программирования вы пишете — я могу сказать: откуда вы пришли, как долго вы шли, как сильно бесил и радовал вас ваш язык, куда вы придёте. Я прекрасно помню свой первый язык программирования в 4 года: это был молоток. Я помню, как молотком превратил цилиндр высотомера боевого самолёта в кубик (дед откуда-то принёс с военного аэродорома неподалёку).

1. Начало

Молоток — это был волшебный инструмент. Я мог запрограммировать любой предмет в кубик или плоскость. Я мог творить чудеса забивания гвоздей и битья стёкол. Соседи вокруг орали:
— Угомоните своего пацана! От его безобразий нет никакого покоя!
Но мама мне всегда отвечала:
— Сынок, если ты взял в руки молоток — забей гвоздь по самую шляпку!
И я забивал!

Пришло время идти в школу. Мне повезло: в нашем городке была замечательная школа, при которой был компьютерный кружок. Там стояли БК и «Корветы», была локальная сеть и принтер «Роботрон-100». Но, как всегда, школа была приблатнённая, и попасть туда было не просто. Каким-то образом я туда попал. Прям начиная с 1 сентября я сел за БК. Там я познакомился с «Школьницей». В жизни я встречал разные языки, но этот я не забуду никогда. Я учил «Школьницу» мигать экраном, а она меня циклам. Я научил «Школьницу» говорить «Привет, мир!», а она меня консольному вводу. Но были и противные дети. Их родители бывали за границей и им купили Эппл Лиза 2. Они относились ко всем надменно, смотрели на остальных сверху вниз. И однажды, кто-то из класса написал гениальную программу, которая в ответ на ввод имени выводила фразу: «Пиши код, Ваня! Пиши!» и меня как пронзило молнией. С того момента, чтобы я не делал — я писал код.

Я писал код в голове, когда шёл в школу и возвращался из неё. Я писал код, когда шёл в магазин, выносил мусор или пылесосил ковёр. Я это делал всё время. Даже традиционные бабушки у подъезда, когда я проходил мимо них — мудро замечали: «А этот парень умеет писать код!»

Пролетела школа быстро, на одном дыхании, и вот в выпускном классе кому-то из наших мажоров родители привезли IBM XT. Скорость работы, улучшенные графические характеристики. И звуковая плата Adlib на шине ISA… Я понял, что эта машина захватит мир. Придя к родителям я твёрдо заявил, что буду работать летом, делать что угодно, но мне нужна эта машина. Родители перепугались моей возбуждённости, но справедливо решили, что мне надо дать шанс и пообещали добавить часть денег, даже с учётом того, что на дворе стояли лихие 90-е.

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

Универ пролетел, как один день. И уже за полгода до окончания — на кафедру начали прибывать один за другим торговцы чёрным деревом. Они всё высматривали, вынюхивали, выбирали студентов потолковей. И вот, в день получения диплома один такой респектабельный мужчина подходит ко мне, вручает визитку и спрашивает:
— Сынок, ты уже думал о своём будущем?

На визитке значилось «Галера Продакшн лимитед». Довольный босс в приличном пиджаке, за левым плечом дом, за правым шикарное авто, и просто номер телефона. Я подумал, почему бы и не пуркуа?

2. Галера

Как только я переступил порог галеры на меня сразу же накинулся продакт менеджер:
-Ты что здесь стоишь, нуб? Я тебе бабки плачу! А ну пошёл шкодить быстрее!..

Я подумал, что это была не очень хорошая идея — не успел устроиться на работу и в первый же день на меня наорали.

У нас был большой ОпенСпейс. Справа от меня сидел смуглый парень из такой же провинции. Он приветствовал меня первый:
— Привет, меня зовут Саня Банин. И все меня зовут Баня.
— Привет, меня зовут Иван Шкодкин, и все меня зовут Иван Шкодкин — ответил я.
Впрочем, мы был похожи на двух идиотов, потому что у каждого на груди висел бейдж. Галерная корпоративная этика, будь она не ладна.

День начинался с митинга. Мы заучивали речёвки, пели тупые песни, повторяли всякую дрянь из раза в раз и на все вопросы отвечали: «Да, понятно, сделаю». В какой-то момент я подумал, что на самом деле это не такое уж и плохое место: печеньки, чай, спортивные мероприятия. Просто нужно делать в срок и во время, всё что от тебя требуют. Однажды наш менеджер дал задание оптимизировать время сборки проекта. Я как-то не думал особо над тем, как это сделать быстро. Просто пару скриптов, распараллеливание, да машину Бани подключил. Проект собрался в разы быстрее о чём тут же доложил старшему.
— Ты что идиот? Ты думаешь мы тут сами не догадались, как это быстрее сделать? Да нас всех уволят! Ну ка немедленно разобрал кластер и вернулся к прежней схеме!
Видимо, я очень испугал того менеджера, потому что меня сразу же перевели в другой отдел. Вечером попивая пивко яблочно-виноградный сок в кафешке я сказал об этом своим коллегам.
— Меня переводят из тестировщиков в продакшен. Это совсем другая страна. — В зале образовалась гробовая тишина… Кто-то из зала сказал:
— Послушай моего доброго совета: когда выкатите деплой в продакшен — не геройствуй. Просто говори, что ты разраб, а не спец по техподдержке.
Вечер закончился в тишине.

3. Продакт

С самого первого дня в продакт-службе было жарко. Как раз готовился очередной большой деплой. Мы с Баней прибыли к новому начальнику, и он нас с ходу начал учить жизни:
-Значит так, мальчики. У меня в отделе только 2 правила. Первое. При любой возможности запускайте тесты. Модульные, интеграционные, какие угодно!
Тут врывается его помощница с криками, что все сервера перегружены, и надо подрубать ещё. Шеф отдал команды закупить серверов в облаках Амазона, да не скупиться.
Смотря на него, я вполголоса заметил Бане: «Похоже, шеф у нас толковый».
Шеф тут же отреагировал и вернулся к нам:
— Да, у меня в отделе 2 правила. Первое — тесты. И второе — не вздумайте сделать какую-нибудь глупость, типа самостоятельно запилить фичу или провести агрессивную оптимизацию. Я вас обоих собственными руками задушу.

Чем мне нравилось в продакшене, так это всегда было чем заняться. Шефу постоянно чудилось, что замечены каке-то баги в софте. Он постоянно говорил:
— Всем стоп. Смотрите логи!
Мы так и делали. У нас в отделе работали лучшие парни и девушки страны. Баня из Арзамаса, Коля из Черняховска, Лера из… Я не помню откуда была Лера.

И вот настал день релиза.
Внезапно, начали трещать все телефоны саппорта. Гневные комментарии на форуме поддержки рвались с силой гранат. Авиабомбами прошлись обзоры в профильной прессе. Это был ад.

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

Новый год

В каждый предстоящий новый год на галере раздавали премии. И наказывали. Меня, как ни странно поощрили довольно приличной премией. Был большой банкетный зал, Самый Главный вызывал всех по списку и вручал конвертики. Подошла моя очередь, я пожал руку Самому и он мне задал вопрос:
— Говорят, твой баг волшебным образом спас всё облако от тотального падения? Хотел бы я взглянуть на твой код…
Блин. Да кто же ему это рассказал?! Открываю планшет, показываю это место. На что главнюк реагирует расширением глаз и замечает: «Ну сынок… Ну ты и бракодел…». Говорят, этот глюк сохранил фирме не один десяток миллионов рублей, по крайней мере — фирма увеличила операционную прибыль.
На выходе меня встречает наш шеф, весь зарос, упитый и неопрятный.
— Тебе дали премию? Тебе? Косячнику? Оберонщику? Не читавшему «Совершенный код» Стива МакКонелла?
— Да, дали.
— Ну это же просто превосходно!
И окосевший шеф начал заваливаться на бок. Он стал обладателем золотой недали.

Что делать? Взял его за плечо и пошли в кафе для программистов неподалёку. Там уже набилась всякая публика, визжащая и кричащая, готовая встретить новый год через пару часов. Нам двоим отчего-то было не весело. Перенесённый стресс, напряжённая работа — сказывались на каждой части тела. Мы сидели за столиком с симпатичными барышнями и потихоньку завязался разговор.

Девушка:
— Мальчики, а на чём вы программируете?
— Я люблю на ФриПаскале, — шеф
— А я на Обероне, — сказал я.

Вторая девушка посмотрела на меня, как на идиота.
— Ты адекватный? Там даже дженериков нет?! Там строки как встроенный тип отсутствуют?! Да что с тобой?

Шеф встал, и обратился ко мне: «Пойдём подышим воздухом. Что-то душно здесь».
В кафе решили уже не возвращаться. Сверху лениво и редко падал новогодний снег, вдали стрелял салют и раздавались радостные крики.

— Ну зачем ты ей сказал, что программируешь на Обероне?
— Вы сами, Александр Николаевич, первый начали. Про FreePascal на весь зал сказали…
Шеф продолжал философствовать но свободную тему:
— Нет, ну ты слышал? Эджайл то, эджайл сё, эджайл сделает вам релиз! Ты слышал?! РЕЛИЗ! Да ни черта эйджайл не поможет. Так поцелуйте же меня в мою старую волосатую задницу!

В-общем, не нравилось ему, когда FreePascal называли «паскакаль», как и мне, когда про Оберон говорили, что его поезд ушёл.

4. Своя фирма

Я решил в какой-то момент, что стоит организовать свою фирму с каким-нибудь незатейлевым названием.

Я пытался выигрывать тендеры, участвовать в конкурсах, но всё как-то не пёрло. Оказывается, быть руководителем — совсем не просто. И я уже начал подумывать о том, что галера — это было тёплое место.

И тут я узнаю, что бывший шеф — вышел на корпоративную пенсию. Я ему рассказал, показал про свою затею, он поморщился и сказал:
— Ландо. Только не надейся, что я тебя буду называть шеф!
— Да, шеф! — ответил я.
И дело пошло на лад. Он знал очень многое из того, что не знал я. Не сказать, чтобы мы заработали миллион, но кое-что зарабатывать начали. Но всё-равно всё закончилось плохо. Из-за проклятого Обамы курс рубля просел, цены выросли, настал кризис и поднятие с колен завершилось. Деятельность фирмы пришлось приостановить, шеф пошёл на другую галеру. Жаль, а ведь какие были планы…

5. Занавес

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

Эх… Пойду включу свой ZX-Spectrum!)

Плюшка для настроения: music.yandex.ru/album/3175/track/10216

P.S. Огромная благодарность Роберту Земекису и его команде за вдохновение.

Источник: habr.com