Вот например: зная, на каком языке программирования вы пишете — я могу сказать: откуда вы пришли, как долго вы шли, как сильно бесил и радовал вас ваш язык, куда вы придёте. Я прекрасно помню свой первый язык программирования в 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)
SpiderEkb
26.06.2019 11:50Вот например: зная, на каком языке программирования вы пишете — я могу сказать: откуда вы пришли, как долго вы шли, как сильно бесил и радовал вас ваш язык, куда вы придёте.
И шо Вы скажете за человека, пишущего в основном на RPG, местами чуть на CL, где-то на С/С++ а когда приходится немного на Java? ;-)prospero78su Автор
26.06.2019 12:51-2Вашу жизнь — живёте только Вы. Вы должны сами решить, кто Вы.
Одно могу сказать точно: проживите свою жизнь так, чтобы Вы завидовали сами себе))
Для меня RPG — это игры)), CL — вообще без вариантов.
Если попробовать чуть более угадать, то Вы любите старые вещи и не любите резких телодвижений, избегаете кричащих цветов, звуков и других хипстеров)SpiderEkb
26.06.2019 13:02Ну в некотором смысле таки да :-)
RPG, CL — это языки на платформе IBM i (AS/400 которая). Там в концепции ILE поддерживаются COBOL, RPG, CL, C, C++, REXX (все это плотно увязано друг с другом — можно один PGM объект собирать из модулей, написанных на разных языках). Основной язык — RPG, но некоторые модули удобнее и естественнее писать на С/С++. И оба языка по-своему нравятся — и там и там есть свои плюсы и свои минусы.
Ну иногда приходится еще вебсервисы под WAS делать — там Java, но ее плохо знаю и не очень люблю.
А до этого работал в совершенно другой предметной области, там был С/С++ без вариантов.
sbnur
26.06.2019 12:05А если человек пишет на разных языках в зависимости от проекта, то что вы скажете?
SpiderEkb
26.06.2019 12:33Лично я скажу что это нормально. Когда это делается осознанно и человек понимает на каком языке эффективнее (как в плане скорости разработки, так и работы модуля) в данный момент решить поставленную задачу.
Более того, скажу что иногда в рамках решения одной задачи применяется два-три языка.
Правда, это должны быть языки с разными «уклонами» и владение ими должно быть на одинаково высоком уровне.
prospero78su Автор
26.06.2019 13:52Примерно тоже самое, что и о людях, которые могут разговаривать на разных языках — это здорово))
dolovar
26.06.2019 14:50Меня зовут Иван Шкодкин. Я
Между программой и кодом есть существенная разница. Шкодкин — кодер, а не программист. Он любуется взмахами молотка, не заботясь о том, что именно скрепляют забитые гвозди.работаюживу программистомprospero78su Автор
26.06.2019 15:30Совершенно верно. Шкодкин просто один из. Миллионы таких и он не осознаёт тот факт, что он всего лишь Шкодкин. Он и не мнит себя Программистом. Этот человек просто живёт. Он не думает о том, чтобы создать что-то грандиозное, приобрести славу. Заработав миллионы — он не парится о собственном лимузине и продолжает ездить на общественном транспорте. Его мало задевают споры о том, какой молоток взять, что у молотка некрасивая ручка или слабый замах. Он просто забивает гвозди, старается как может. И в отточенности замаха и попадании по шляпке — он может поучить многих. Но не будет, он не осознаёт таких целей (в качестве долга или обязанности).
Гораздо хуже, что многие вокруг, которые считающие Шкодкина кодером — сами даже не кодеры.
И всё-таки он программист (но по другому). Если, например, Вас — он зацепил и не оставил равнодушным.
Как говорила мама Шкодкина: «Если бы все были программистами — каждый бы написал стоящую программу. Не позволяй никому говорить, что ты пишешь говнокод до тех пор, пока этот кто-то не покажет что-нибудь достойное».
В-общем, советую посмотреть оригинал))dolovar
26.06.2019 15:43И всё-таки он программист (но по другому). Если, например, Вас — он зацепил и не оставил равнодушным))
Напрасно фантазируете о собеседнике. Меня не зацепил, я не не понял смысл публикации этого текста, не нашел ни пользы, ни вреда. И вряд ли завтра вспомню очередное жизнеописание очередного кодера.
Не позволяй никому говорить, что ты пишешь говнокод до тех пор, пока этот кто-то не покажет что-нибудь достойное
Ad hominem относится к логическим ошибкам, а не к достойным дискуссии контраргументам.prospero78su Автор
26.06.2019 16:31Шкодкин Вас зацепил. Вы же оставили здесь сообщение?!))
Вы ищете ответы на вопросы, они мучают Вас. Вы желаете знать истину. Только по этой причине Вы открыли и прочитали этот текст. Но без ключа, очевидно, не поняли и потому взывая к объективности, как бы отодвигая свою точку зрения от себя к абстрактной справедливости — дали Ивану Шкодкину посредственную оценку.
Я не фантазирую о собеседнике. Вы увидели то, что захотели увидеть.
И это не совсем жизнеописание очередного кодера.
В конце статьи явно указан тег «юмор» и приведена благодарность режиссёру оригинального произведения.
То, что Вы не нашли ни пользы не вреда — пожалуй Вам тоже стоит перечитать тот свод логических ошибок, к которому Вы апеллируете, по крайней мере Ваши суждения подпадают под два с половиной случая:
1) Вы не владеете всей информацией
2) Вы упускаете важные детали
3) Вы не можете оценить уровень информационной сложности выше, чем обладаете уровнем информационной сложности лично.
Если Вы не узнали в этом тексте сплошные аллюзии на оригинальный фильм
— тем более Вам надо его посмотреть))
Вот и выросло поколение, которое не смотрело «Форест Гамп».
Обвинять маму Фореста в незнании высоких материй, конечно, можно (и это даже соответствует истине). Она защищала своего сына как могла. Без оценки плохо или хорошо, грамотно или нет))
Если будете смотреть этот фильм — обратите внимание на мужчину, который вставая с лавки заржал:«Представляете?! Мы сидели рядом с миллионером!»dolovar
26.06.2019 17:05Шкодкин Вас зацепил… Вы ищете ответы на вопросы, они мучают Вас. Вы желаете знать истину. Только по этой причине Вы открыли и прочитали этот текст. Но без ключа, очевидно, не поняли… Вы не владеете всей информацией… Вы упускаете важные детали… Вы не можете оценить…
Вы то, вы это и, очевидно, вон то, но я не фантазирую про Вас…
Я не фантазирую о собеседнике.
Эм, ну ладно, не претендую на ваше право придерживаться точки зрения, импонирующей вам.
Вот и выросло поколение, которое не смотрело «Форест Гамп».
Не претендую на ваше право ошибаться вновь и вновь.
SbWereWolf
26.06.2019 19:56сегодня случаем не пятница?
«щёки впукли» — по русски будет «щёки впали», или это авторский стиль?prospero78su Автор
26.06.2019 21:15Авторский стиль.
Я правильно понял, что "деплой", "продакшн", "баги" и "фичи" — это вполне по-русски и иронии при употреблении этих слов Вы не заметили?
mactep3230
26.06.2019 20:02Там стояли БК и «Корветы», была локальная сеть и принтер «Роботрон-100»
Мелькнула мысль что сейчас будет история про БК и молоток )
Вот например: зная, на каком языке программирования вы пишете — я могу сказать:...
Думал, об этом что нибудь будет, мне было бы интереснее
JekaMas
26.06.2019 21:42В какой раз убеждаюсь, что у ребят из Оберон (привет Новосибу и проектам Кронос) очень своя атмосфера, мало пригодная для современности, а иногда и нормальности(в смысле обычности).
mastergril
Потрясающе! Читал на одном дыхании! Спасибо!
prospero78su Автор
И Вам спасибо за отзыв!)) Я старался, правда))