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

Вот например: зная, на каком языке программирования вы пишете — я могу сказать: откуда вы пришли, как долго вы шли, как сильно бесил и радовал вас ваш язык, куда вы придёте. Я прекрасно помню свой первый язык программирования в 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. Огромная благодарность Роберту Земекису и его команде за вдохновение.

Комментарии (19)


  1. mastergril
    26.06.2019 11:49

    Потрясающе! Читал на одном дыхании! Спасибо!


    1. prospero78su Автор
      26.06.2019 11:50

      И Вам спасибо за отзыв!)) Я старался, правда))


  1. SpiderEkb
    26.06.2019 11:50

    Вот например: зная, на каком языке программирования вы пишете — я могу сказать: откуда вы пришли, как долго вы шли, как сильно бесил и радовал вас ваш язык, куда вы придёте.


    И шо Вы скажете за человека, пишущего в основном на RPG, местами чуть на CL, где-то на С/С++ а когда приходится немного на Java? ;-)


    1. prospero78su Автор
      26.06.2019 12:51
      -2

      Вашу жизнь — живёте только Вы. Вы должны сами решить, кто Вы.
      Одно могу сказать точно: проживите свою жизнь так, чтобы Вы завидовали сами себе))
      Для меня RPG — это игры)), CL — вообще без вариантов.
      Если попробовать чуть более угадать, то Вы любите старые вещи и не любите резких телодвижений, избегаете кричащих цветов, звуков и других хипстеров)


      1. SpiderEkb
        26.06.2019 13:02

        Ну в некотором смысле таки да :-)

        RPG, CL — это языки на платформе IBM i (AS/400 которая). Там в концепции ILE поддерживаются COBOL, RPG, CL, C, C++, REXX (все это плотно увязано друг с другом — можно один PGM объект собирать из модулей, написанных на разных языках). Основной язык — RPG, но некоторые модули удобнее и естественнее писать на С/С++. И оба языка по-своему нравятся — и там и там есть свои плюсы и свои минусы.

        Ну иногда приходится еще вебсервисы под WAS делать — там Java, но ее плохо знаю и не очень люблю.

        А до этого работал в совершенно другой предметной области, там был С/С++ без вариантов.


  1. sbnur
    26.06.2019 12:05

    А если человек пишет на разных языках в зависимости от проекта, то что вы скажете?


    1. SpiderEkb
      26.06.2019 12:33

      Лично я скажу что это нормально. Когда это делается осознанно и человек понимает на каком языке эффективнее (как в плане скорости разработки, так и работы модуля) в данный момент решить поставленную задачу.
      Более того, скажу что иногда в рамках решения одной задачи применяется два-три языка.
      Правда, это должны быть языки с разными «уклонами» и владение ими должно быть на одинаково высоком уровне.


    1. prospero78su Автор
      26.06.2019 13:52

      Примерно тоже самое, что и о людях, которые могут разговаривать на разных языках — это здорово))


  1. dolovar
    26.06.2019 14:50

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


    1. prospero78su Автор
      26.06.2019 15:30

      Совершенно верно. Шкодкин просто один из. Миллионы таких и он не осознаёт тот факт, что он всего лишь Шкодкин. Он и не мнит себя Программистом. Этот человек просто живёт. Он не думает о том, чтобы создать что-то грандиозное, приобрести славу. Заработав миллионы — он не парится о собственном лимузине и продолжает ездить на общественном транспорте. Его мало задевают споры о том, какой молоток взять, что у молотка некрасивая ручка или слабый замах. Он просто забивает гвозди, старается как может. И в отточенности замаха и попадании по шляпке — он может поучить многих. Но не будет, он не осознаёт таких целей (в качестве долга или обязанности).
      Гораздо хуже, что многие вокруг, которые считающие Шкодкина кодером — сами даже не кодеры.
      И всё-таки он программист (но по другому). Если, например, Вас — он зацепил и не оставил равнодушным.
      Как говорила мама Шкодкина: «Если бы все были программистами — каждый бы написал стоящую программу. Не позволяй никому говорить, что ты пишешь говнокод до тех пор, пока этот кто-то не покажет что-нибудь достойное».

      В-общем, советую посмотреть оригинал))


      1. dolovar
        26.06.2019 15:43

        И всё-таки он программист (но по другому). Если, например, Вас — он зацепил и не оставил равнодушным))
        Напрасно фантазируете о собеседнике. Меня не зацепил, я не не понял смысл публикации этого текста, не нашел ни пользы, ни вреда. И вряд ли завтра вспомню очередное жизнеописание очередного кодера.
        Не позволяй никому говорить, что ты пишешь говнокод до тех пор, пока этот кто-то не покажет что-нибудь достойное
        Ad hominem относится к логическим ошибкам, а не к достойным дискуссии контраргументам.


        1. prospero78su Автор
          26.06.2019 16:31

          Шкодкин Вас зацепил. Вы же оставили здесь сообщение?!))
          Вы ищете ответы на вопросы, они мучают Вас. Вы желаете знать истину. Только по этой причине Вы открыли и прочитали этот текст. Но без ключа, очевидно, не поняли и потому взывая к объективности, как бы отодвигая свою точку зрения от себя к абстрактной справедливости — дали Ивану Шкодкину посредственную оценку.

          Я не фантазирую о собеседнике. Вы увидели то, что захотели увидеть.
          И это не совсем жизнеописание очередного кодера.
          В конце статьи явно указан тег «юмор» и приведена благодарность режиссёру оригинального произведения.
          То, что Вы не нашли ни пользы не вреда — пожалуй Вам тоже стоит перечитать тот свод логических ошибок, к которому Вы апеллируете, по крайней мере Ваши суждения подпадают под два с половиной случая:
          1) Вы не владеете всей информацией
          2) Вы упускаете важные детали
          3) Вы не можете оценить уровень информационной сложности выше, чем обладаете уровнем информационной сложности лично.

          Если Вы не узнали в этом тексте сплошные аллюзии на оригинальный фильм
          — тем более Вам надо его посмотреть))

          Вот и выросло поколение, которое не смотрело «Форест Гамп».

          Обвинять маму Фореста в незнании высоких материй, конечно, можно (и это даже соответствует истине). Она защищала своего сына как могла. Без оценки плохо или хорошо, грамотно или нет))

          Если будете смотреть этот фильм — обратите внимание на мужчину, который вставая с лавки заржал:«Представляете?! Мы сидели рядом с миллионером!»


          1. dolovar
            26.06.2019 17:05

            Шкодкин Вас зацепил… Вы ищете ответы на вопросы, они мучают Вас. Вы желаете знать истину. Только по этой причине Вы открыли и прочитали этот текст. Но без ключа, очевидно, не поняли… Вы не владеете всей информацией… Вы упускаете важные детали… Вы не можете оценить…
            Я не фантазирую о собеседнике.
            Вы то, вы это и, очевидно, вон то, но я не фантазирую про Вас…
            Эм, ну ладно, не претендую на ваше право придерживаться точки зрения, импонирующей вам.
            Вот и выросло поколение, которое не смотрело «Форест Гамп».
            Не претендую на ваше право ошибаться вновь и вновь.


  1. SbWereWolf
    26.06.2019 19:56

    сегодня случаем не пятница?
    «щёки впукли» — по русски будет «щёки впали», или это авторский стиль?


    1. ksr123
      26.06.2019 20:10

      Простите, конечно, но по-русски будет "по-русски".


    1. prospero78su Автор
      26.06.2019 21:15

      Авторский стиль.
      Я правильно понял, что "деплой", "продакшн", "баги" и "фичи" — это вполне по-русски и иронии при употреблении этих слов Вы не заметили?


  1. mactep3230
    26.06.2019 20:02

    Там стояли БК и «Корветы», была локальная сеть и принтер «Роботрон-100»

    Мелькнула мысль что сейчас будет история про БК и молоток )
    Вот например: зная, на каком языке программирования вы пишете — я могу сказать:...

    Думал, об этом что нибудь будет, мне было бы интереснее


    1. prospero78su Автор
      27.06.2019 07:52

      Где же Вы были раньше?))
      «Что-нибудь» да написал бы))


  1. JekaMas
    26.06.2019 21:42

    В какой раз убеждаюсь, что у ребят из Оберон (привет Новосибу и проектам Кронос) очень своя атмосфера, мало пригодная для современности, а иногда и нормальности(в смысле обычности).