Моя первая работа

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

    В какой-то момент времени каждый программист, будь он самоучка или переполненный знаниями выпускник профильного вуза, вступает в мир коммерческой разработки. Это когда за деньги реально работающий для людей проект пишешь, а не поделку на коленке для себя. Серьёзная контора, взрослые серьёзные опытнейшие высокооплачиваемые программисты, корпящие над сложными и не до конца понятными новичкам задачами. Так и я, преисполненный ожиданиями, переступал порог первой в жизни 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-классах и лучше всех разбирался в Линуксе. Гуру. К тому же в свободное от работы время делал сайты какой-то канадской конторе и нам иногда подработку подкидывал. Так я учился рапид-разработке после работы и матерному английскому при спорах с заказчиком — витиной конторой-посредником из Канады. С нашим официальным голландским полуначальством спорить получалось не особо.

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

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

    Все эти телодвижения ожидаемо ни к чему не привели — поздно пить боржоми когда печень рассосалась. Контора так и не обросла новыми заказчиками, а старые и сами вроде лопнули. Я, слава Торвальдсу, попал под сокращение. Но не нервничал, так как к тому моменту я уже набрался опыта в этой самой коммерческой разработке, которая от программирования отличается как городской бой от стендовой стрельбы. Ведь само по себе программирование — это как непрекращающаяся контрольная по высшей математике. Но капризный заказчик привносит в процесс элементы гопака, стриптиза, экзорцизма и горящий велосипед. С математикой у меня и так все было неплохо, а вот гопак и экзорцизм таки пришлось подтянуть.
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 31

      +3
      Годная история, когда-то был точно в такой же «своей первой конторе», но вроде до сих пор они живы(и как и раньше слегка на плаву) и да с перегаром на работу и иногда поспать на рабочем месте — это была моя роль :)
        0
        Андрюха! Ты?! Не ожидал, не ожидал :-)
        +7
        Это как непрекращающаяся контрольная по высшей математике

        Внезапно лучшее определение первых 3 лет коммерческой разработки.
        • UFO just landed and posted this here
            +6

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

              +9

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

                +1
                Я люблю свою работу. Но даже если мне не нравится заказчик и/или проект и/или у меня плохое настроение — это не скажется на качестве результата. Во всяком случае насколько я могу судить — качество примерно на одном уровне колеблется и любовь тут никакой особой роли не играет.
                В конце концов одно из первых чему учишься в коммерческой разработке — делать то что надо, а не то что хочется.
                  0
                  Это до особо эпического клиента, имхо. Когда понимаешь заранее что то что ты делаешь никому не нужно, и либо не будет использоваться, либо будет просто полностью выброшено и переписано (без предпосылок заранее, подключился новый заместитель руководителя поддепартамента департамента подразделения филиала организации и сказал что у них все по другому, и нужно все сделать абсолютно по другому), когда чтобы со стороны заказчика ответили на вопрос нужно сначала несколько дней подряд писать письма на которые не получишь ответа, а потом эскалировать до руководства, когда представители заказчика начинают спорить о том что строка «attachment_data» это валидное base64binary значение, когда постановка задач просто письмо с перепиской полусотни человек между собой без конкретного результата, когда тебя дергают звонками примерно раз в 20-30 минут, когда костыли уже перестаешь считать и даже не дергаешься переделать по нормальному, потому что на этой неделе надо успеть еще 20 никому не нужных задач… В общем накипело, наверно если бы я не любил программировать я бы не терял мотивацию в вышеописанных условиях.
                  +1
                  Ну этому я как раз там и научился. Хотите холодного профи с холодным сердцем? С восьми до пяти он весь ваш. Но полуночный дебаггер — только для тех, кто не мешает эмоционально привязываться к проету
              +1
              Статья носит исключительно литературный характер, ни один технарь так бы не написал, нужно быть уж очень начитанным художественной литературой, чтоб в статье на хабре прорабатывать персонажей. Впрочем плюсанул :)
                +3
                Что мешает технарю быть «начитанным художественной литературой»?
                  0
                  Вот тоже интересно. С детства читаю много и залпом. Это не мешает работать на чисто технических специальностях.
                +7

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

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

                    меня и так грызет совесть, что я людей без их на то согласие в рассказ всунул без привычной ремарки «все выдумано и не имеет ...»
                      –1
                      *очень хотелось бы посмотреть на фотографию, которая очень похожа на выдуманную Аню.
                  +2
                  Подобрать обложку и иллюстрации и можно издавать.
                  Надеюсь ваш код настолько же хорош как и слог)
                  Было интересно — спасибо.
                    0
                    Я так впервые попал в рекламное агентсво, кроме меня еще был айтишник, закончивший какой то вуз, корчивший из себя что то, но мог только плагины и тему на джумлу ставить, что в принципе и от меня как оказалось требуется, предложения использовать нормальные системы и технологии отклонялись без причины, пару месяцев посидев, ушел на фриланс набираться опыта и развиваться
                      0
                      программирование — это как непрекращающаяся контрольная по высшей математике

                      Очень актуально для бэкенда
                        0
                        И не только по математике, а ещё по фокусничеству.
                        +1
                        Справедливости ради стоит отметить, что работа в IT не сводится только к вкалыванию на галерах аутсорса.
                          0
                          согласен. планирую сделать еще парочку рассказов о других испробованных вариантах
                          +1
                          Я вот что-то совершенно не помню «грянувшего кризиса». В моей реальности ИТ-проектов, работы, программистов, фирм и всего прочего всегда становилось только больше. Те, кто прогорали, делали это исключительно из-за личного идиотизма руководства.
                            0
                            тест на возраст?
                              +2
                              Не знаю, возможно. Я в коммерческой разработке где-то 16 лет. Когда был «кризис»? Если Вы о «крахе доткомов» в 2000-ом году, то да, его я ещё не застал.
                                0
                                Имел в виду вот этот, в наши окраины он докатился вроде в 2009. Я правильно понимаю, что вы к тому моменту слишком крепко стояли на ногах чтобы его заметить?
                                  0
                                  Мне тот период запомнился тем, что повалились все, кто занимался в ИТ чем-то бестолковым (казино, спам, кино-реклама). При этом фирмы, которые занимались нормальными вещами (сети, телеком, финансы, медицина) как работали, так и продолжили себе (ну может на пару месяцев приостановили на всякий случай найм новых сотрудников — чисто для перестраховки). Тот кризис был просто напоминанием, что если ты живёшь в воздушном замке, то он может в любой момент рухнуть. «Реальное» ИТ он мало затронул.
                                    0
                                    Согласен, все справедливо, причем для любого кризиса имхо. И да, я вроде и намекал на нежиспособность конкретно данной схемы работы для более-менее тяжелых условий.
                            0
                            Какую-то вы очень страшную антиутопию нарисовали, «Безумный Макс» отдыхает. Это не «горящий велосипед» — там ещё какая-то надежда возможна. Это больше похоже на ад, описанный в рассказе «Timeout, или Вечерняя Москва», где надо было охлаждать бронзовую сковородку обнажёнными ягодицами.
                              0
                              Мы теперь по утрам скрамились — становились кружком и со всеми делились что именно вчера не сделал и почему. И что не сделаю сегодня. Скажите — секта? Не, аджайл, во всей своей красе.

                              Это шедевр! :)


                              http://programming-motherfucker.com/

                                0
                                Вкусно, но мало. Пара замечаний: excel с одной l; аутсорс — не «код наружу», а, скорее, «внешний источник»
                                P.S. Не понял шутку про велосипед

                                Only users with full accounts can post comments. Log in, please.