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

В какой-то момент времени каждый программист, будь он самоучка или переполненный знаниями выпускник профильного вуза, вступает в мир коммерческой разработки. Это когда за деньги реально работающий для людей проект пишешь, а не поделку на коленке для себя. Серьёзная контора, взрослые серьёзные опытнейшие высокооплачиваемые программисты, корпящие над сложными и не до конца понятными новичкам задачами. Так и я, преисполненный ожиданиями, переступал порог первой в жизни it контры.

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

В курилке прелестно разговорились с двумя длинноволосыми сотрудниками о бабах и кодинге. Мальчики как-то уж очень тихие, домашние и немного гламурные, гики одним словом. Ближе к обеду появился еще один персонаж. Шумный, харизматичный, напоказ грубый и дружелюбный Андрюха. Умный, все время радостный, самодовольный и опытный.

— Понимаешь, Серый, тут надо пахать. Вот как я! — Обдал он меня похмельным перегаром пополам с сигаретным дымом на перекуре. Я откуда такой опытный? Я пашу не переставая, код пишу, тестирую, верстаю. Отсюда эти все знания.

Я этот совет с собой всю карьеру тащил, серьёзно. Позже даже мем такой появился — пиши код, бл%@ть. А гуру через пять минут заснул в нашем общем кабинете напротив меня и захрапел. Спасали наушники, так как только-только начал болеть классикой полутяжелого рока.

Андрей великолепно оттенял загадочно-отстраненную, холодную, но весьма добрую где-то глубоко внутри, стриженную под Малыша из Карлсона блондиночку Аньку, которой я исподтишка любовался. Аня даже «доброе утро» говорила так, будто к камеру к смертникам-унтерменшам заходила в форме убер-фюрера SS по каким-то своим, палаческим надобностям. Но по факту была добрейшей души человеком. В общем, классическая женщина, хоть и программист — загадочная и непонятная как море.

Позже вышел с больничного еще один коллега. Худющий, позитивнейший, опытнейший из всех нас Витек. Его «Ииииииии! кто же это сделал?» сопровождалось крайне комедийной мимикой и обычно значила нахождение очередного [wtf?]. Вы не знаете что это такое? Просто запомните — это единица измерения сложности проекта, сюрпризности архитектуры и противоречивости требований. Ну нередко этот самый возглас в общем звучал. И мы его тоже иногда переняли.

А в особенности переняла надсмотрщица за этим зоопарком, наш менеджер и тестировщица в одном флаконе, Танечка. Самый позитивный персонаж в этой вселенной, по иному с нами рельзя было. Представляете качество тестирования проектов, если там на семь калек-разработчиков был один тестировщик — Таня? И представляете как ей же за прорвавшиеся через нее же баги напрямую полоскают мозги забугорные заказчики / начальство? Я поначалу не представлял. В общем, укротителем у нас была очень милая, вечно всем, даже вновь обнаруженным багом, довольная, улыбчивая даже в грозу Таня.

— А знаете как мы за поездом на который опоздали гнались? — весело, задорно, с улыбкой говорила она. — В пургу по гололеду.
И я представлял как такая же позитивная Таня с улыбочкой бежит навстречу летящему снегу за невидимым уже за три метра поездом и улыбаюсь. А Таня к тому моменту уже заканчивает:
— Ну на такси мы поезд не догнали, а застряли на сутки, нас солдатики вытаскивали. Наржались. — Ну вот в этом-то как раз никто и не сомневался. — О, чуть с вами, говорунами, не забыла. Сережа, там баг есть.
Ну кто бы сомневался. Я, как самый неопытный и неаккуратный от нее это слышал чаще других.
— Да, Таня, я им сейчас напишу, — обреченно вздохнул я.
Я старался, но мне были нужны ошибки на которых учиться. ie6 стал моим злейшим врагом. Тонкости this яваскрипта и отсутствие полиморфизма в статике php я запомнил навсегда. Необходимость индексации таблиц в меня вбил 38-часовый марафон над базой лихорадящего под растущей нагрузкой сайта. Так я учился аккуратности и вдумчивости.

Мы тогда все сидели на винде (не путать с винтом!), ругали Zend Studio за переезд на Eclipse, юзали всевозможные панели, PhpMyAdmin, Denwer и FTP(s). Какие-то ущербные баг-трекеры наполовину в Excell. Никаких CVS. Страшный SSH изредка.

Но я учился не только этому. Я учился предугадывать отмену самых идиотских требований заказчика. Я учился сцепив зубы делать закругленные углы на кнопочках, раз это так важно. Я узнал цену пикселя и оттенка от дизайнеров, я познал цену ошибок документации и ответственности за чужие баги в 3-rd party software и за выбрыки используемого на пределе возможностей или просто плохонького железа.

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

Я наконец-то возненавидел Билла люто и оправданно — за всю линейку ie. Даже WinAPI не так меня бесил в период десктопной разработки. Я ненавидел и любил php — за его нелогичность и за то, что это был мой основной инструмент. Как можно не любить язык, на котором пишешь?

А еще я познал весь страх, всю боль и ненависть бескомпромиссного кровавого аутсорса с забугорным посредником.

Вы знаете что такое аутсорс? Знатоки английского вам скажут, что это переводится как «код наружу», что может означать в том числе и выдачу исходного кода продукта компании — заказчику. Плюньте им в рожу, ничего они не знают. Аутсорс — это когда всем пофиг.

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

У нас был только один заказчик, мы даже якобы были его дочерней компанией, а потому позволяли вылазить на голову. Потому что… [барабанная дробь]… владельцам дочерней компании-исполнителя (нашей) вааще на все глубоко пофиг пока платят бабки. В техпроцесс они были вовлечены чуть менее чем нисколько и вся их роль сводилась к снятии маржи с нашей зп.

И, как следствие, программистам пофиг на качество — поскорее выдать проект на гора — косо, криво, лишь бы живо. Под давлением чужого менеджмента, при недостаточном тестировании, в состоянии перманентного цейтнота, и при полном попустительстве родного менеджмента.

Бал в конторе правили разгильдяйство, некомпетентность и очковтирательство. Перманентно похмельный Андрюха считался самым ценным разработчиком, поскольку имел самый продвинутый имитатор бурной деятельности, а ещё умел вовремя задвинуть слащавую верноподданейшую речь перед лицом начальства. Данный персонаж не редкость для не-IT контор, но мне повстречался крайне толковый и харизматичный экземпляр, способный на существование даже в занятом реальной работой коллективе программистов. И он вроде тоже любил кодинг.

Принципиальная ущербность системы: невозможность писать хоть сколько нибудь хороший код. Написать что-то хорошо получается только случайно. Зачем так жить?

Просто приходить на работу с 8 до 17 за зарплату? Ну кое-кто работал и так, к примеру Аня. Она оказалась интереснейшим человеком, увлеченной туристкой, велосипедисткой, знала кучу интересных людей, исходила пешком весь Крым и пол-Алтая, а в Байкале и Белом море мыла колеса своего велика. Южный берег Крыма знала лучше чем содержимое своих кухонных шкафчиков.
— Аня, подскажи плиз что за место в Крыму — Чердак?
— Серый, завал с работой, давай потом.
— Творишь?
Но она отморозилась, что было очень очень странно. Поскольку единственным способом добиться от Аньки проявления чуточки интереса и дружелюбия — было расспросить ее о местах, в которых она побывала.
— Уже нет, разве что в духовке. — Соврала она несколько часов спустя. — Слава богу.
— Не любишь кодинг? — с сомнением спросил я. Как это можно не любить?
— Люблю, но только в рабочее время.
— А вне рабочего времени что нравится?
— Не кодить.
Но вот работала она даже не то чтобы неувлеченно или просто за зарплату — нет, она болела своими проектами и остро переживала ошибки и неудачные решения. Но не хотела учить ничего нового и не любила кодинг по-настоящему. Я даже представить не могу как можно работать в этой профессии без любви к ней.

Ведь даже табуретку собирать без любви грустно. А вы попробуйте полюбить табуретку, если она на костылях и с рулём от велосипеда. Думаете преувеличиваю? Да скорее преуменьшаю и недоговариваю, аналогии всегда лживы. Ох знали бы вы насколько криво сделаны сайты, программы, иногда даже оборудование, которым вы пользуетесь каждый день.

Мы с Аней какое-то время работали над парными проектами, там сдружились немного. Парные? Ну это когда из-за сео приходится делать зеркала, но разные. SEO? Потом.
Так что что Аня любит, а чтот нет я чуть знаю. Кататься и поездки — любит. А кодить может, но нет, не любит.

«Качек» Витя — все по классике, кличка за субтильность — он же «кто же это сделал», был единственным настоящим программистом среди нас. Очень внимательный и предупредительный с клиентом, он выдавал на-гора самый качественный код и лучшую верстку. Он писал какой-то жутковатый фреймворк на PEAR-классах и лучше всех разбирался в Линуксе. Гуру. К тому же в свободное от работы время делал сайты какой-то канадской конторе и нам иногда подработку подкидывал. Так я учился рапид-разработке после работы и матерному английскому при спорах с заказчиком — витиной конторой-посредником из Канады. С нашим официальным голландским полуначальством спорить получалось не особо.

Слава цифровым богам, грянул кризис. Вот тут наши хозяева завелись и наша шарашка начала вяло и неумело трепыхаться в поисках заказов. Но местный рынок нищ, а за бугром клиента надо ещё поискать.

На всякий случай нас начали дрючить тимбилдингом, корпоративным духом и прочими модными методологиями. Андрюха аж слюной заходился в верноподданейших изречениях, иногда на застольях. Мы теперь по утрам скрамились — становились кружком и со всеми делились что именно вчера не сделал и почему. И что не сделаю сегодня. Скажите — секта? Не, аджайл, во всей своей красе.

Все эти телодвижения ожидаемо ни к чему не привели — поздно пить боржоми когда печень рассосалась. Контора так и не обросла новыми заказчиками, а старые и сами вроде лопнули. Я, слава Торвальдсу, попал под сокращение. Но не нервничал, так как к тому моменту я уже набрался опыта в этой самой коммерческой разработке, которая от программирования отличается как городской бой от стендовой стрельбы. Ведь само по себе программирование — это как непрекращающаяся контрольная по высшей математике. Но капризный заказчик привносит в процесс элементы гопака, стриптиза, экзорцизма и горящий велосипед. С математикой у меня и так все было неплохо, а вот гопак и экзорцизм таки пришлось подтянуть.

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


  1. exe_com
    26.12.2017 23:11

    Годная история, когда-то был точно в такой же «своей первой конторе», но вроде до сих пор они живы(и как и раньше слегка на плаву) и да с перегаром на работу и иногда поспать на рабочем месте — это была моя роль :)


    1. Juiceee
      28.12.2017 15:42

      Андрюха! Ты?! Не ожидал, не ожидал :-)


  1. Lamaster
    26.12.2017 23:52

    Это как непрекращающаяся контрольная по высшей математике

    Внезапно лучшее определение первых 3 лет коммерческой разработки.


  1. lBaltazar
    27.12.2017 10:28

    Ведь даже табуретку собирать без любви грустно.


    Обожаю работающих с запалом, любовью, душой.

    Насрут, например, такому в душу, потом он и выдаёт на гору свою вселенскую улюблённость.

    Надо не любить, а (уметь) работать.


    1. phgrey Автор
      27.12.2017 10:59

      я правильно понял, что работающие без души вам ближе, так как к ним в душу срать неопасно?


      1. poxvuibr
        27.12.2017 11:12

        Скорее потому, что качество их работы не зависит от эмоционального состояния.


        1. AllexIn
          27.12.2017 21:57
          +1

          Я люблю свою работу. Но даже если мне не нравится заказчик и/или проект и/или у меня плохое настроение — это не скажется на качестве результата. Во всяком случае насколько я могу судить — качество примерно на одном уровне колеблется и любовь тут никакой особой роли не играет.
          В конце концов одно из первых чему учишься в коммерческой разработке — делать то что надо, а не то что хочется.


          1. Neikist
            27.12.2017 22:14

            Это до особо эпического клиента, имхо. Когда понимаешь заранее что то что ты делаешь никому не нужно, и либо не будет использоваться, либо будет просто полностью выброшено и переписано (без предпосылок заранее, подключился новый заместитель руководителя поддепартамента департамента подразделения филиала организации и сказал что у них все по другому, и нужно все сделать абсолютно по другому), когда чтобы со стороны заказчика ответили на вопрос нужно сначала несколько дней подряд писать письма на которые не получишь ответа, а потом эскалировать до руководства, когда представители заказчика начинают спорить о том что строка «attachment_data» это валидное base64binary значение, когда постановка задач просто письмо с перепиской полусотни человек между собой без конкретного результата, когда тебя дергают звонками примерно раз в 20-30 минут, когда костыли уже перестаешь считать и даже не дергаешься переделать по нормальному, потому что на этой неделе надо успеть еще 20 никому не нужных задач… В общем накипело, наверно если бы я не любил программировать я бы не терял мотивацию в вышеописанных условиях.


        1. phgrey Автор
          27.12.2017 23:29

          Ну этому я как раз там и научился. Хотите холодного профи с холодным сердцем? С восьми до пяти он весь ваш. Но полуночный дебаггер — только для тех, кто не мешает эмоционально привязываться к проету


  1. CyberKastaneda
    27.12.2017 10:45
    -1

    Статья носит исключительно литературный характер, ни один технарь так бы не написал, нужно быть уж очень начитанным художественной литературой, чтоб в статье на хабре прорабатывать персонажей. Впрочем плюсанул :)


    1. Maccimo
      27.12.2017 21:25

      Что мешает технарю быть «начитанным художественной литературой»?


      1. AllexIn
        27.12.2017 21:58

        Вот тоже интересно. С детства читаю много и залпом. Это не мешает работать на чисто технических специальностях.


  1. phgrey Автор
    27.12.2017 11:06

    Все проще: технарь-графоман


    1. vvzvlad
      27.12.2017 18:40

      Но красиво же. Фотографий действующих лиц не хватает. Особенно интересно посмотреть было бы на Аню


      1. phgrey Автор
        27.12.2017 18:43

        use imagination, Luke

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


        1. vvzvlad
          27.12.2017 18:47

          *очень хотелось бы посмотреть на фотографию, которая очень похожа на выдуманную Аню.


  1. shomnest
    27.12.2017 12:44

    Подобрать обложку и иллюстрации и можно издавать.
    Надеюсь ваш код настолько же хорош как и слог)
    Было интересно — спасибо.


  1. shram1488
    27.12.2017 14:51

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


  1. pushal
    27.12.2017 14:51

    программирование — это как непрекращающаяся контрольная по высшей математике

    Очень актуально для бэкенда


    1. Alexeyslav
      28.12.2017 22:38

      И не только по математике, а ещё по фокусничеству.


  1. miga
    27.12.2017 18:14

    Справедливости ради стоит отметить, что работа в IT не сводится только к вкалыванию на галерах аутсорса.


    1. phgrey Автор
      27.12.2017 18:17

      согласен. планирую сделать еще парочку рассказов о других испробованных вариантах


  1. tangro
    28.12.2017 00:23

    Я вот что-то совершенно не помню «грянувшего кризиса». В моей реальности ИТ-проектов, работы, программистов, фирм и всего прочего всегда становилось только больше. Те, кто прогорали, делали это исключительно из-за личного идиотизма руководства.


    1. phgrey Автор
      28.12.2017 00:28

      тест на возраст?


      1. tangro
        28.12.2017 01:39

        Не знаю, возможно. Я в коммерческой разработке где-то 16 лет. Когда был «кризис»? Если Вы о «крахе доткомов» в 2000-ом году, то да, его я ещё не застал.


        1. phgrey Автор
          28.12.2017 22:55

          Имел в виду вот этот, в наши окраины он докатился вроде в 2009. Я правильно понимаю, что вы к тому моменту слишком крепко стояли на ногах чтобы его заметить?


          1. tangro
            29.12.2017 13:14

            Мне тот период запомнился тем, что повалились все, кто занимался в ИТ чем-то бестолковым (казино, спам, кино-реклама). При этом фирмы, которые занимались нормальными вещами (сети, телеком, финансы, медицина) как работали, так и продолжили себе (ну может на пару месяцев приостановили на всякий случай найм новых сотрудников — чисто для перестраховки). Тот кризис был просто напоминанием, что если ты живёшь в воздушном замке, то он может в любой момент рухнуть. «Реальное» ИТ он мало затронул.


            1. phgrey Автор
              29.12.2017 13:25

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


  1. 380365
    28.12.2017 14:01

    Какую-то вы очень страшную антиутопию нарисовали, «Безумный Макс» отдыхает. Это не «горящий велосипед» — там ещё какая-то надежда возможна. Это больше похоже на ад, описанный в рассказе «Timeout, или Вечерняя Москва», где надо было охлаждать бронзовую сковородку обнажёнными ягодицами.