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

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

Фобии — это зло, как в жизни, так и в работе. Потому что предмет страха — выдуманный, а сам страх — настоящий. И последствия страхов вполне реальные.

В этой статье — истории реальных программистов и их профессиональных фобий, которые мешали им жить и работать в свое удовольствие. Люди реальные, имена вымышленные.

Константин


У Кости проблемы с уверенностью в себе. Программистом он стал недавно, раньше был сисадмином, хоть и имел высшее инженерное образование.

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

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

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

Потом Костя ушел на другую работу, и фобия ушла вместе с ним.

Здесь начальник был вполне адекватный, правда, он не сразу рассмотрел, что с Костей что-то не так. Думал, просто особенность какая-то — слишком много Костя тратит времени на раздумья об оптимальном способе решения задачи.

Норм на эту тему вроде нет, но думать 8 часов о том, каким из трех известных способов лучше решить задачу, а потом сделать за 1 час решение — вроде бы перебор. И это при том, что все три варианта Косте известны и понятны, и оптимальность всех трех решений примерно равна.

Помогало Косте «раступить» прямое указание реализовать какой-то определенный вариант. Но такой подход не нравился начальнику — не хотел он быть нянькой при программистах.

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

Начальник, как и коллеги, были близки к решению, что Костя — просто скучный, депрессивный, туповатый задрот, и надо гнать его в шею.

Однако, решили дать ему еще один шанс. А точнее — себе дать шанс разобраться в Косте. Создали правильную атмосферу, в которой тот начал раскрываться, и в конце концов рассказал историю о своем первом наставнике. Хотя, Костя не считал ее чем-то выдающимся.

Начальник после рассказа Кости фобию уловил, и попробовал изменить свое поведение. Он понял, почему Костя так долго выбирает вариант решения — по инерции, на подсознательном уровне, боится, что его опять втопчут в землю, если он выберет «не тот» вариант.

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

Меры начальником были предприняты несложные.

Во-первых, он долго и обстоятельно с Костей разговаривал. Объяснял то, что не удосужился рассказать первый наставник.

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

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

В-третьих, стал ежедневно наблюдать за Костей — и лично, и через решенные задачи в трекере. Просто для того, чтобы поймать момент, когда тот опять окажется во власти фобии.

В результате, за 1-2 месяца, фобия ушла, и Костя стал полноценным участником команды. А через некоторое время — лучшим в команде.

Геннадий


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

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

Так получилось, что свои продукты Гена часто распространял, в основном бесплатно, и с открытым кодом. Было это в те времена, когда программисты-потребители еще заглядывали внутрь того, что скачали, клонировали или форкнули.

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

Любую работу, большую и маленькую, Гена должен был делать хорошо — так, чтобы при распространении любой программист мог сказать: написано толково и со вкусом.

Вот эти самые слова — оценки других программистов — стали для Гены наркотиком. Он почти не писал код «для клиента», или «для решения задачи клиента» — он писал код для получения лайков от программистов. Почти все его решения были максимально абстрактными, отторгаемыми, легко применимыми в других решениях и у других клиентов.

Самое странное, что у Гены получалось. Он создал десятки решений, каждое из которых, с одной стороны, полностью (и даже с избытком) удовлетворяло потребности заказчика, а с другой стороны — становилось хитом при бесплатном распространении среди программистов.

Но потом у Гены начались трудности — он не мог больше писать «просто код». У каждого клиента, на каждом проекте и в каждом продукте, есть задачи, которые решаются просто, если не мудрить. И решаются сложно, если мудрить, пытаясь сделать красивое, абстрактное решение, подходящее всем.

Проблема усугублялась тем, что Гена не публиковал все подряд — на это не хватало ни сил, ни времени. Просто выложить код в открытый доступ — недостаточно для получения лайков, нужно еще применять определенные усилия для продвижения, независимо от площадки. В результате у Гены образовалась очередь из решений, которые были рождены для всего мира, а пользовался ими один клиент.

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

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

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

Проблема усугублялась при смене места работы. Пул решений, которые Гена не успел опубликовать, оставалась на предыдущей работе — нарушать чьи-либо права Гена не хотел. Все попытки рассказать своим преемникам о крутизне оставленных решений заканчивались неудачей — новые программисты предпочитали выкинуть универсальные решения Геннадия и создать свои. Не крутые, не изящные, не абстрактные, но свои. Оно и понятно — программистам платили за создание своего кода, а не за использование чужого. Да и немного подняться в глазах начальства, поливая говном продукты своего предшественника, совсем не грех.

Фобию Геннадия вылечила сама жизнь. После нескольких переходов между компаниями соотношение между опубликованными и потерянными для сообщества решениями стало угрожающим — 1 к 9. Гена понял, что потратил годы жизни зря. Не совсем зря, конечно — опыт-то остался, и когда перед ним стояла задача создать универсальный компонент, равных Геннадию не было. Но таких задач было, на разных работах, от 10 до 50 %.

Остальные задачи он перестал решать абстрактно. Точнее, он придумал для себя другой уровень абстракции — личный опыт. Не обязательно создавать именно решение, осязаемый продукт, который можно кому-то дать прямо сейчас. Продуктом является личный опыт решения такой задачи, который появлялся у Гены, ведь на воспроизведение своего кода нужно намного меньше времени, чем на его создание в первый раз.

В итоге, по собственной оценке Геннадия, его суммарная эффективность выросла в 3-5 раз. В эту цифру включались как абстрактные компоненты, так и контекстно-зависимые решения.

Но самое важное — у Геннадия пропала очередь на публикацию универсальных решений. Да, создавать их он стал меньше. Но публиковал 100 %. Он просто перестал делать решения, которые не мог сразу опубликовать.

В итоге, общее количество универсальных решений, дошедших до публикации и, следовательно, собравших для Геннадия лайки, выросло в 2-3 раза, потому что исчезла воронка потерь (1 к 9).

Аркадий


Аркадий — продукт 20 века. Предыдущие пациенты тоже родились в прошлом тысячелетии, но Аркадий успел в нем прожить целую жизнь, и встретил новый век уже взрослым, сформировавшимся человеком. Он писал код, когда еще не было интернета, мобильных телефонов и на предприятиях почти не было компьютеров. В те времена программистов и продуктов было настолько мало, что код можно было читать, как журналы — ждать очередного выпуска, смаковать, обсуждать (только в офлайне, разумеется).

Во времена становления Аркадия, как программиста, и задачи были другими — более фундаментальными, жизненными и осмысленными. В те времена компании не заказывали себе то, что модно — только то, что действительно нужно. Уровень владения технологиями тоже требовался совсем другой — нужно было знать все. Хотя, конечно, выбор в те времена был более скудным. Но без ассемблера было не обойтись, тогда даже драйвера приходилось писать самостоятельно, не говоря об интерфейсах обмена данными.

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

В 21 веке Аркадий столкнулся с неприятной для себя тенденцией — чем дальше, тем меньше его понимали другие программисты, которые становились все более узкими специалистами и, если можно так сказать, потребителями. Когда возникала новая задача, программисты бросались искать готовые компоненты. Причем такие, на освоение которых нужно как можно меньше времени. Чем лучше справка по API и проще создание вызов компонента, тем лучше. И самое непонятное для Аркадия — программисты больше вообще не смотрят код. Просто компонуют продукт из готовых решений, минимальными усилиями делают сборку, и в продакшн.

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

Реальность современного мира IT создала достаточно большой разрыв между Аркадием и остальными программистами — они перестали понимать друг друга. Что, как и почему делает Аркаша, никто не понимал уже давно. Его решения были масштабными, сложными технически и методически, с высоким уровнем изоляции компонентов и глубоким философским смыслом.

Уже давно не было людей, которые понимали его решения целиком, даже со стороны пользовательского интерфейса, не говоря уже о коде, который смотрели только единицы, и то только при возникновении ошибок.

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

Да, только Аркадию этого никто не объяснил. Или объяснил, но он не понял. Или понял, но не принял. Или принял, но забыл. Не суть важно.

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

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

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

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

Каждый раз, убеждаясь, что мир не соответствует его ожиданиям, Аркадий удивляется и возмущается. Но со стороны видно — в душе удивления уже нет, или почти нет. Удивление наигранное, не настоящее.

Аркадий со временем свыкается с мыслью о том, что люди вокруг не соответствуют его ожиданиям, а он сам — не такой, как они. И вот эту свою непохожесть он и пытается сохранить, оттого и продолжает картинно удивляться, досконально разбираться в чужих решениях (даже если не будет их использовать), и требовать от других соответствия его критериям и подходам. Говоря проще, Аркаша пытается сохранить свою фобию, хотя давно понял — под ней давно нет никакой почвы. Фобии — они такие, с самозащитой.

Резюме


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

Фобии — сложные и опасные, потому что не видны. Человек может выглядеть вполне прилично, хорошо и эффективно работать, улыбаться и быть нормальным участником команды, но в то же время иметь фобию, и страдать от нее.

Если вы понаблюдаете за окружающими и, конечно, собой, то можете заметить признаки фобий. Главный признак — важность. Задачи, действия, атрибута, ритуала, подхода, реакции, хоть чего. Когда есть фобия, есть важность.

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

Если ситуация стала лучше — отлично, вы не ошиблись. Если не стала — верните как было, и наблюдайте снова.

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

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

Но для правильного руководителя работа с фобиями — это настоящий клад, потому что открывается почти прямой доступ к мотивациям человека. Особенно, если руководитель сможет помочь человеку в преодолении фобии — такое не забывается никогда, как исцеление от какой-нибудь страшной болезни.

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


  1. ToSHiC
    11.03.2018 22:31

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


    1. nmivan Автор
      11.03.2018 23:24

      Да, со стороны именно так и кажется. Но вблизи жизнь Аркадиев далеко не так радостна, как издалека.


      1. khim
        12.03.2018 01:57

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

        Это не значит что у него появилась фобия. Это значит, что его профессия более невостребована. А востребована другая, смежная профессия — авиаремонтника.


        1. nmivan Автор
          12.03.2018 07:09
          -1

          Его профессия — такая же, как у нас, он программист. Невероятно востребованный. Но несчастный оттого, что мир не такой, как он привык и хочет.


          1. africaunite
            12.03.2018 11:01

            Из статьи я сделал вывод, что Вам очень везло с коллегами ;)
            Фобии у них, можно сказать, конструктивные, и то, что страхи, заставляющие (в конечном итоге) двигаться, делают жизнь немного неуютной — это фича, а не баг.


            Если говорить про фобии (раздутые до комплексов, временами), которые делают профессионала, особенно из нашей области, несчастным — чаще всего замечал боязнь быть неправым.


            Знание о том, что с ошибкой не запустится часто применяется не только при взаимодествии с компьютером, но и с другими людьми. И чем меньше ресурсов на полноценные "сессии", чем дефицитнее общение с человеком, тем с большой вероятностью время будет потрачено на продавливание своего "кода", попытки успеть доказать, что это не я дурак.


      1. ToshiruWang
        12.03.2018 09:46

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


    1. bond1768
      12.03.2018 01:57

      Аркадий просто любитель велосипедов. ) Он принципиально не юзает API гугл карт, он сам создает понятные только ему алгоритмы вычисления расстояний и координат.


      1. nmivan Автор
        12.03.2018 07:10
        +1

        Нет, не так. Он использует API гугл карт, и знает их не хуже, чем разработчики из гугла. И сам создает решения уровня гугл карт. Не вместо гугл карт, а их уровня.


        1. Whuthering
          13.03.2018 13:34

          Вот только в мире есть уже тысячи разработчиков, знакомых с гугл-картами и с тем, как с ними работать, плюс у Гугл-карт хорошая документация.
          С разработками «Аркадиев» все обычно обстоит не так уж и радужно.


          1. DexterHD
            13.03.2018 13:41

            Ни чего что Гугл Карты разработали Аркадии?? :)


            1. Whuthering
              13.03.2018 13:53

              Аркадии Аркадиям рознь.
              Иными словами, «аркадьичать» нужно там, где это уместно и экономически обосновано, о чем я писал в комменте чуть ниже.


              1. nmivan Автор
                14.03.2018 07:35
                +1

                Похоже, Аркадий теперь — имя нарицательное.


      1. Whuthering
        13.03.2018 13:03

        Можно сказать, что Аркадий понимает в разработке, но не понимает в менеджменте и бизнесе. Что в большинстве случаев заказчикам не надо делать «фундаментально» и «глубоко», бизнесу надо чтобы продукт работал как надо, был поддерживаемым и требуемый функционал имлементировался в приемлемые сроки. Поэтому Аркадий не понимает остальную команду, а остальная команда не понимает Аркадия.


    1. SerafimArts
      12.03.2018 02:45

      Будучи из «поколения пепси» наблюдаю обратную картину, что «Аркадии» не хотят ничему учиться и пытаются делать так, как делали живя без интернета. Решение может и получается довольно эффективным (за счёт велосипедостроения), но не поддерживаемым, не читаемым и не масштабируемым. Методы на 500 строк, глобальные переменные везде, где можно и нельзя и прочая «радость».

      Может и не те люди мне попадались, но очень часто, но описанный в статье типаж — ни разу.


      1. nmivan Автор
        12.03.2018 07:11

        Ну, Аркадий совсем не такой, как вы описали. Про велосипеды там речи нет.


        1. snp
          12.03.2018 12:12
          +1

          Аркадию, скорее, надо менять окружение, искать равных себе и заниматься каким-то rocket science. Искать работу в организациях, где думают не в масштабах месяцев, а в масштабах лет.


          Так что это вряд ли фобия :) Скорее недостаточно подходящее место он себе выбрал.


        1. SerafimArts
          12.03.2018 14:35

          Не такой, в последнем абзаце я и написал об этом. Именно таких не встречал ни разу.


      1. mspain
        13.03.2018 11:42

        «Методы на 500 строк, глобальные переменные везде, где можно и нельзя и прочая «радость».»

        Вам тут много раз повторяют, что Аркаша не такой, а вот по мне так вылитый он. :) Ещё могу дополнить портрет: возраст за 45, познания ограничиваются например анси си 89-го года разлива, и/или Перлом + CGI, Oracle 8-9, CentOS 5-6 единственная и неповторимая ОС и/или NT4. Любит длинные монологи про «молодёжь (т.е. моложе 35л) работать не хочет» и ковыряться с ламповыми усилителями/программируемыми калькуляторами или на крайний случай ДВК. Что самое грустное, часто занимают руководящие должности в силу солидности :)


        1. Whuthering
          13.03.2018 13:00

          А еще бывает, когда «Аркадии» пусть и не на руководящих должностях, но их в проекте большинство. Вот тогда код в код продукта реально страшно заглядывать, а на все противоречия ответы вида «тут так принято» или «молчи, щенок, я воевал» :)


        1. DexterHD
          13.03.2018 13:43
          +1

          Линус Торвальдс — типичный Аркаша… Или нет??


        1. africaunite
          13.03.2018 16:39

          Т.е. Вам достаточно одного атрибута, возраста, чтобы убедить собаку в том, что она баран?


        1. tarasovsk
          14.03.2018 07:32
          +1

          45 лет это те, кто в институте уже работал на и на ЕС1033 и на 286-ых, а выпускался при 486DX2-66… :-). Но они друг другу рознь. Многим ничего не мешает говорить: Я закончил программировать году эдак в 97-ом, так что расскажи поподробнее… Главное не иметь фобию «боюсь показаться дураком».


          1. africaunite
            14.03.2018 09:37

            Все так и есть, я из тех и могу сказать, что закончил программировать в ~97 (хотя все еще тут).
            Но, судя по комменту, многие "молодые" (на самом деле не только) программисты имеют низкую культуру написания кода ;).


            Получают на вход функции обсуждения конкретный объект и если у того атрибут age>40 — можно первым делом переопределить все его параметры. Кроме ID, в надежде, что, если объект передавали по ссылке, вызывающая сторона подмены не заметит.


    1. dim2r
      12.03.2018 13:11

      Аркадий — это художник, который продавал картины, а потом стал маляром и стал продавать израсходованное время и краску.


  1. Inobelar
    11.03.2018 23:23

    > Чего боятся программисты?

    Как насчёт потери зрения, рук или альцгеймер / рак?


    1. nmivan Автор
      11.03.2018 23:23

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


    1. Revertis
      12.03.2018 14:58

      Альцгеймера можете не бояться. Все исследования говорят о том, что чем больше человек работает головой, тем меньше вероятность этой болезни.


  1. reversecode
    11.03.2018 23:26

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


    1. nmivan Автор
      11.03.2018 23:31
      +1

      А вы это высмеяли

      Жаль, если у вас такое впечатление сложилось. Все герои — мои друзья больше 15 лет. Они прочитают эту статью.


    1. ZarAndrey
      13.03.2018 10:28
      +1

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


  1. sshmakov
    12.03.2018 00:01

    А что же, про бетон продолжения не будет?


    1. nmivan Автор
      12.03.2018 07:11

      А там что-то недосказанным осталось?


      1. sshmakov
        12.03.2018 09:54

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


        1. nmivan Автор
          13.03.2018 10:27

          Хорошо, поставлю в план. Спасибо.


  1. murminathor
    12.03.2018 00:27

    Но для правильного руководителя работа с фобиями — это настоящий клад, потому что открывается почти прямой доступ к мотивациям человека.
    Потому что можно «расширить и углубить»(с)


  1. try1975
    12.03.2018 00:34

    То есть описанные вами люди работают не так, ка требует рынок сейчас? А каков ваш идеальный специалист?


    1. nmivan Автор
      12.03.2018 00:34

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


      1. try1975
        12.03.2018 00:43

        Вот и я об этом. Всё меняется. Требования к специалисту тоже меняются. По моим наблюдениям бизнес платит либо за сокращение издержек, либо за дополнительную прибыль. И моя задача, как специалиста, обеспечить бизнесу такую возможность, постоянно совершенствуя навыки. Одна проблема — область знаний расширяется, и есть постоянный выбор — либо вширь (а значит неглубоко) — либо вглубь, что несет риски специализации. Поэтому мой выбор — сохранять гибкость, углубляя знания основ, но быть в курсе прогресса, пробуя его на зуб. Но так печально, что большие системы делаются всё большими коллективами…


    1. VolCh
      12.03.2018 00:36

      *массовый рынок


  1. AirLight
    12.03.2018 00:35

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


    1. nmivan Автор
      12.03.2018 00:37

      Вот интересно, такой страх только у программистов? У меня есть строители, знакомые и родственники. Не припомню, чтобы кто-то из них боялся, что рухнет дом, который они построили. Знакомые хирурги боятся только инструмент забыть внутри.


      1. Ckpyt
        12.03.2018 08:57
        +1

        У строителя плита в процессе сборки дома не меняет свои характеристики резким и непредвиденным образом :-(


        1. Rigidus
          12.03.2018 09:13

          Ну почему же. Когда на первом этаже прорубили несущую, чтобы сделать вход в магазин…


          1. Ckpyt
            12.03.2018 10:59

            А потом может быть так:
            Обрушение дома в Междуреченске
            Нельзя так делать без перерасчета проекта. А это, как мне рассказывали, геммороя до хрена.
            П.с. что-то по запросу «обрушение дома» как-то очень до… [много] видео высыпалось… Кажется, я так фобию заработаю :-)


        1. ToshiruWang
          12.03.2018 09:51

          Когда это строитель-архитектор-всё-в-одном при строительстве частного дома, то у него плита легко меняет форму под изменившуюся площадь без пересчёта характеристик. И спят такие, что удивительно, вполне нормально. Это случай когда заметили, а сколько он такого наворотил сам?
          С другой стороны нет знакомых архитекторов, которые бы проектировали что-то серьёзное — там могут быть и бессонные ночи и терзания «всё ли предусмотрел» (мне так кажется).


          1. Ckpyt
            12.03.2018 10:41

            Ну дык продукт «под себя» тоже легко меняет характеристики. И тоже, вполне себе нормально работает… Да и сайты-одностраничники очень тяжело сделать нерабочими.

            С другой стороны, у меня отчим — архитектор. И он был в ужасе от последней работы. Потому что строили там, наплевав на все ГОСТы. Слишком маленькие конурки получались при максимально разнесенных несущих.
            И ничего, запас по прочности сделали и норм — стоит себе домик со студиями меньше, чем у меня комната…


      1. kmk
        13.03.2018 10:29

        Имхо, вы сами ответили на свой вопрос.
        У строителей, как правило, весь проект рассчитан на бумаге от начала до конца — откуда может появится страх, если ты знаешь все?
        А вот программисты редко планируют, чаще «строят» на лету и не придерживаются каких либо принципов проектирования. Такой подход неизбежно приведет к каше в проекте, в котором тяжело отслеживать зависимости и тяжело понимать к чему приведет новое изменение — отсюда и страх — «а не пропустил ли я что-то».


        1. nmivan Автор
          13.03.2018 10:32

          У строителей, как правило, весь проект рассчитан на бумаге от начала до конца

          Мы с вами каких-то разных строителей видели. Некоторые из них и писать-то не умеют, как дядя Толя, с которым я работал на стройке. У него не было никакой документации, он просто строил. Сначала из целых кирпичей, потом из битых, когда целые кончились. Потому что оплата за кубометры построенных стен. В итоге сделал окно не в том месте, на метр ниже запланированного. Получил в тыкву от мастера. Мастер всем бил в тыкву, кто не так работает. Например, водителю бетономешалки дал в тыкву, когда показалось, что тот по дороге где-то слил часть бетона.


        1. Disbeleiver
          14.03.2018 07:31

          Программисты планируют и проектируют. Строят на лету «разработчики» с аджайлом и без ТЗ. И строят они из кусков, которые спроектировали программисты.


          1. DexterHD
            14.03.2018 09:15

            Дядька Боб Мартин в таком случае «разработчик» который строит из кусков которые спроектировали «программисты»?? :D


    1. arilou_camper
      12.03.2018 02:39

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


    1. elegorod
      13.03.2018 18:40

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

      Как отвалится, так и пофиксим. Ну посидят пользователи немного без одной нужной страницы, это же не конец света. Не медицинское оборудование разрабатываем, никто не умрёт.

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


  1. Viacheslav01
    12.03.2018 00:59

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

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

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

    П.С. а вообще я боюсь ядерной войны и это не шутка


    1. Skycaptain
      12.03.2018 06:15
      -1

      Чаще всего, мое imho, банальная нехватка времени. всего самому не разработать и во все исходники не вникнуть.


      1. snp
        12.03.2018 12:18

        Угу. «Некогда нам топоры точить! Мы тут лес рубим» :)


    1. agmt
      12.03.2018 20:09

      Мне кажется, в 2018 на большинстве проектов у программиста нет времени во всём досконально разобраться, да и не требует большинство методологий этого. Если есть возможность прогнать на большом наборе тестовых данных, то лучше прогнать и не усложнять. Но нужно чутьё: где можно тяп-ляп, а где лучше прочитать документацию (или даже осознать, где могут быть опасные места и под них написать тест).
      Собственно, для того и создают API, чтобы быстро использовать, а не разбираться в нюансах (потому что самому написать выйдет быстрее, чем досконально разобраться).

      Пояснение области применимости моих размышлений: есть TCP, многие им пользуются. Очень маловероятно, что всем так уж нужно досконально знать каждый параметр, но неплохо бы знать, что они есть и где почитать, какой подкрутить, в случае возникновения проблем.


    1. sun_zilog
      14.03.2018 07:32

      «прочитали доки и вперед», — это еще неплохо, хуже когда прочитали «C++ за 24 часа», приправили SO и вперед.


  1. vtvz_ru
    12.03.2018 01:02

    Скажу про себя. Эти фобии больше зависят от проекта, чем от человека:
    Фобия выкатить в релиз. Каждый раз боюсь выкатывать новую версию кода в релиз. Особенно если правок произошло достаточно много с момента последнего деплоя. Лечится частыми и мелкими релизами, тестированием изменений другим человеком и автоматические тесты жизненно важных частей системы. Хотя, фобия часто остается. Особенно, когда ты единственный кодер и вся ответственность на тебе.
    Фобия что-то менять в коде. Обычно прослеживается в монолитных сложных спагетти системах. Тут естественно поможет TDD, что улучшит качество кода в разы, компонентный подход и нормальное наименование переменных/функций/классов/namespace'ов/п.р… Про комментарии не говорю, потому что хорошая архитектура и грамотно написанный код намного лучше любых комментариев.
    Страх брать сложные задачи. Не всегда это последствия лени. Пожалуй, это скорее последствия первых двух фобий, когда ты просто боишься сломать все, что уже сделано. Особенно, если можешь получить от этого втык. Лекарства все те же: тесты, хорошая архитектура и чистый код.
    Это то, с чем столкнулся я. Сказать честно, думал, что в статье речь пойдет о подобном. Но нет. Тут все намного глубже.
    Если говорить о подобных психологических моментах, то сейчас я боюсь работать с другими людьми. Всю свою карьеру работаю один удаленно. Ни разу не работал в команде. Если вдруг начальство решит взять еще одного человека, я даже не представляю, как я ему буду объяснять, что творится в моем коде.


    1. try1975
      12.03.2018 01:23

      Вы не один такой)) И о нас не пишут


    1. arheops
      12.03.2018 01:25

      Последнее довольно быстро лечится. Правда, сложно найти человека, которому вообще интересно, что внутри ;)


    1. ToSHiC
      12.03.2018 09:22

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

      У разработчиков (точнее SRE) Гугла есть так называемый бюджет на ошибки, почитайте вот тут: landing.google.com/sre/book/chapters/embracing-risk.html


      1. 0x0FFF
        12.03.2018 15:02

        Выкатывать хотфиксы сразу в прод — а вы рисковый. С точки зрения SRE, сначала безусловно делается rollback к предыдущему релизу, а уж потом анализ причин поломки, исправления и т.д. Roll forward — только для чего-то не очень критичного.


        1. f0rk
          12.03.2018 16:34

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


        1. ToSHiC
          12.03.2018 17:17

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


    1. Fedcomp
      12.03.2018 10:36

      >и автоматические тесты жизненно важных частей системы

      >Хотя, фобия часто остается. Особенно, когда ты единственный кодер и вся ответственность на тебе.


      Так тестировать надо не только жизненно важные части системы, а побольше. Тогда и зависимости можно без страха обновлять.


      1. vtvz_ru
        13.03.2018 13:09

        Все бы ничего, но если ты один кодер/верстальщик/дизайнер/тестер на весь проект, то времени и сил тестить "побольше" как-то совсем нет.


        1. VolCh
          13.03.2018 15:56

          А бояться время есть? ) А если серьёзно, то наверняка же тестируется хоть как-то, если не мелкий баг-фикс.


          1. vtvz_ru
            13.03.2018 18:03

            А на "бояться" как-то время не уходит. В проект только недавно внедрили автоматическое тестирование, а кодовая база уже немаленькая. Поэтому тестами покрываются сначала самые важные части системы, без которых функционирование сервиса будет совсем невозможным (Unit тестирование, тестирование API и п.р.); тестирование очень хрупких частей, изменение которых может повлечь за собой неадекватную реакцию на действия пользователей (в нашем случае — это тестирование правильного распределения прав доступа); а потом на то, что сломалось, стараюсь написать тест и поправить ошибку. Естественно, при внедрении новых функций стараюсь писать тесты, если это необходимо.


            1. VolCh
              14.03.2018 11:28

              Я про обычное, ручное тестирование.


              1. vtvz_ru
                14.03.2018 20:47

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


  1. crea7or
    12.03.2018 01:58

    Судя по последним веяниям большинство программистов боятся память сами выделять, а у вас это ерунда какая-то.


    1. robert_ayrapetyan
      12.03.2018 02:17

      Еще боятся, что очередной баг окажется тем самым «багом компиллятора», ну все же знают что такого в реальной жизни не встречается, а потом бац — реально баг компиллятора, вот это жуть жутьчайшая!


      1. VolCh
        13.03.2018 15:57

        segfault в php-fpm к ним относится? )


  1. moonster
    12.03.2018 02:22

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


  1. africaunite
    12.03.2018 02:23

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

    Не уверен, что имееется в виду под бессмысленной оптимизацией, но уверен, что со стороны не видно, или легко забыть, что код обязательно читают. Пусть это будут не другие коллеги, но это будешь другой ты. Ты сам через 3 месяца или через год, но ты обязательно окажешься тем человеком, который видит этот код как в первый раз в жизни.


  1. Letsrock85
    12.03.2018 07:14

    Сильная типизация в совокупности с функциональным программированием захватит мир и мы все(почти) окажемся Аркадием!


  1. Grinch997
    12.03.2018 07:14

    я вообще по жизни ссыкун


    1. Skerrigan
      12.03.2018 08:50

      Ну хз, если хватает смелости это заявить публично, то думаю вы все же в данном тезисе не совсем правы.

      P.S. Мне тут задница нашептывает, что это возможно такой юмор с вашей стороны… ну, в принципе он удачный ;)


  1. micrddrgn
    12.03.2018 07:14

    У меня сложилось так, что с самого начала своей недолгой карьеры на подавляющем большинстве проектов я работал один, отвечая либо за весь проект либо за какую-то составную часть проекта (клиент, сервер и т.п.). Следовательно, отвечая за свою часть проекта, у меня все под контролем: я знаю какой код за что отвечает, я вижу как добавить новый функционал, при необходимости я свободно могу провести рефакторинг. Весь проект у меня в голове, сам принимаю все решения и за все отвечаю. Работаю в таком ключе от проекта к проекту достаточно продолжительное время. После чего меня закидывают на проект в качестве рядового, где над его частью, за которую обычно отвечал я сам, работает команда, потому что проект большой, работы больше, сроки меньше. Отсюда у меня сразу возник дискомфорт от отсутствия свободы, которую я обычно имел, работая один. Более того, мне пришлось столкнуться с чьим-то мнением и чьим-то кодом, что далеко не всегда совпадали с моими представлениями о том, что и как делать. Я потерял всю ту власть, которая у меня обычно была, и теперь приходилось ее делить. Вернувшись после этого в одиночное плавание я почувствовал облегчение и свободу, руки творца были развязаны. После нескольких таких переходов между командными и сольными проектами, у меня выработалась «фобия» работы в команде и появилось много вопросов, как я к этому пришел. То ли это первые годы работы в одиночку? То ли непомерное эго, что мне нужно с кем-то делить свою прелесть? То ли это выход из зоны абсолютного комфорта? Может быть неудачные команды? Может быть влияет мой личный характер, где один из плюсов работы программистом для меня это минимум общения с людьми? Или это все вместе? Главный мой вопрос в том, стоит ли бороться с этой фобией, терпеть, мириться и искоренять, или наоборот пользоваться этим и работать с полной отдачей там, где комфортно? Интересно, сталкивался ли кто-то с этим еще.


    1. kimisa
      12.03.2018 08:32

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


    1. michael_vostrikov
      12.03.2018 11:02

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


  1. saag
    12.03.2018 08:10

    остаться на обочине, впрочем это касается не только программистов


  1. 2creker
    12.03.2018 08:18

    Старости)


  1. hdfan2
    12.03.2018 08:33

    У Аркадия, по-моему, не фобия, а просто иной стиль работы. Конечно, если довести его до крайности, то (как и любая крайность) он становится контрпродуктивным. С другой стороны, противоположный стиль (ни во что не вникаем и на каждый чих ищем подходящий проект и тут же делаем зависимость) тоже ни к чему хорошему не приводит (см. left-pad).

    У меня фобия простая и основана на большом и весьма болезненном опыте — боязнь что-либо менять в своём проекте (не добавлять, а именно менять поведение, даже при исправлении багов). Ибо опыт подсказывает, что даже небольшие и, казалось бы, совершенно невинные изменения обязательно что-нибудь ломают, что может (и так часто было) вылиться в потери денег, и очень больших (к счастью, не моих, а фирмы, но всё равно неудобно). Так что очень часто, видя откровенную кривизну (или просто плохо написанный код, часто тобой же N-цать лет назад), усилием воли подавляешь зуд в руках и произносишь классическое: «Солнце точно всходит? Точно заходит? Ну так и не трогай».


    1. zhuravlev_oe
      13.03.2018 09:07

      Если боитесь менять существующий код, может просто связность высока и поэтому потерян контроль над кодом? Я за собой именно эту проблему замечал — стоит усложнить взаимодействие объектов в коде, всё приплыли — сам не понимаю как мой собственный код работает :)


  1. CrazyFizik
    12.03.2018 09:20

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


    Доктор, все плохо?


    1. alexs0ff
      12.03.2018 09:25

      Видно у Вас однообразные проекты.


      1. CrazyFizik
        12.03.2018 09:37

        Хз, не жалуюсь: CAD'ы и EDA, ERP'ы там всякие, симуляторы, около-SCADA и даже системное ПО. О! Даже в игрострой как-то заглядывал, пару раз.


        1. alexs0ff
          12.03.2018 09:41

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


          1. CrazyFizik
            12.03.2018 09:47

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


  1. geminirff
    12.03.2018 10:05

    А всё же. Не боимся ли мы остаться без Аркадиев? Используя аналогию выше. Про авиаконструкторов: Да, массово нужны авиаремонтники, но раз в 30 лет понадобиться и Главный конструктор. А он сейчас «нерентабельный», отчасти высмеиваемый. Вот фобию у него обнаружили.


    1. CrazyFizik
      12.03.2018 10:16

      Вообще авиаконструкторы нужны не раз в 30 лет, а каждый день. Просто не все умеют или хотят клеить самолетики.


      А том то и пичалька.


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


      У железячников аналогичная ситуацию: Любят ставить ПЛИС туда, где один транзистор справится :-)


      В железячной


      1. geminirff
        12.03.2018 10:45
        +2

        Тоже не «Аркадий». С сожалению.

        Но как-то сохранить инженерную культуру нужно пытаться. Эта важная задача бизнеса, и/или государства. (А то конкуренты-то борют.)

        Радует уже то, что руководители стали разбирать эти ситуации, а не делать скорые выводы о «туповатом задроте». Поэтому «неистово плюсую». И рекомендую Аркадия пересадить на участок ответственных (server side / hi load) работ, или отвести роль наставника. Если самооценка не окончательно загублена.


  1. perfect_genius
    12.03.2018 10:49

    А ещё программисты боятся автоматизации программирования, но не очень сильно, т.к. до этого далеко, не так ли?


    1. geminirff
      12.03.2018 11:33

      Нет, не бояться … Просто будут делать это другим способом, на других языках. Возможно с сильной типизацией и в функциональной парадигме (как Letsrock85 ;). Наверняка больше времени будут тратить на выбор архитектуры ПО, в которой учтут прогнозируемые изменения условий эксплуатации, или ещё какие-нибудь требования «высокого порядка». Будут применять системы формального доказательства алгоритмов, симуляцию поведения системы в целом. Надеюсь, это будет просто и массово, как сейчас можно встретить склейку чужих и не проведенных библиотек. Будут, конечно, и framework’и, и SaaS’ы.

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

      Хотя … если честно. То какую-то большую часть «нынешнего программирования» действительно можно отобрать у человека. А для кого-то это «и хлеб, и масло»….


      1. perfect_genius
        12.03.2018 12:12

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


  1. zharikovpro
    12.03.2018 12:30

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

    Мало какой, и это хорошо. Ведь работа руководителя не в том, чтобы лечить фобии, а в том чтобы руководить. Для эффективной работы с фобиями есть профильные специалисты — психологи/психотерапевты/психиатры.


    1. africaunite
      12.03.2018 12:37

      А с людьми, в Вашей модели, руководитель работает?


      1. zharikovpro
        12.03.2018 12:39

        Работает, в том числе лично общается. Но не «лечит» фобии. Кстати, тут нужно понимать что «фобия» это не то что «лечится» обычным разговором по душам. Если помогает обычный разговор — ну это опасения, некоторые страхи. Но точно не фобии. И два месяца на это обычно не нужно.


        1. africaunite
          12.03.2018 13:21

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


          1. vozhd99
            12.03.2018 13:57
            +1

            А давно ли низкая самооценка и нерешительность из-за этого; перфекционизм и прокрастинация из-за этого; взгляд на жизнь — стали фобиями? :)

            Хороший руководитель, вероятно, может помочь в каждой из ситуации, если у него есть на это ресурсы и желание. Его главная задача собрать команду и получить от неё результат.


            1. africaunite
              12.03.2018 14:16

              Про первое — не знаю ;). Но не осуждаю автора за художественный прием.


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


    1. nmivan Автор
      12.03.2018 22:18

      Если заменить руководителя на лидера, все равно останетесь при своем мнении?


      1. zharikovpro
        13.03.2018 00:30

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


        Иван Крылов, Щука и кот


  1. Marui
    12.03.2018 17:46

    Я боюсь, что когда-нибудь проснусь утром. Откроу черновик изменений в стандарте Java 25 и не запомню. Тупа не запомню, как раньше, как в молодости! И будет
    image


    1. nmivan Автор
      12.03.2018 22:16

      Мне кажется, этого не бояться надо, а радоваться. Поскорее бы нашлась реальная причина так сказать про программирование.


    1. SerJook
      13.03.2018 16:41

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


  1. vyatsek
    12.03.2018 19:54
    +1

    Аркадий это один из нормальных разработчиков, в отличии от фреймворк девелоперов, которые тащат 100500 зависимостей, для решения какой то простой задачи. А когда проект из начального перерастает в легаси начинается бег на костылях по фреймворкам.


    1. nmivan Автор
      12.03.2018 22:15

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


  1. Simt11
    12.03.2018 22:02
    +1

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


    1. nmivan Автор
      12.03.2018 22:03

      Таких мало, я за жизнь видел двоих. Но сейчас этому учат — например, эмоциональный интеллект. Хотя, это, наверное, не то.


      1. zhuravlev_oe
        13.03.2018 09:11

        Понятие эмоционального интеллекта появилось не вчера. Но сам эмоциональный интеллект у всех людей развит по-разному. Как и логический, как и творческий.


    1. JediPhilosopher
      13.03.2018 16:36

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


  1. Serg_iv
    12.03.2018 22:04
    +1

    Нигде не встречал (включая МВА), чтобы руководителей целенаправленно учили работать с фобиями. Психологическое образование не подходит, там совсем другой тип взаимодействия.
    Интересно, насколько может быть востребовано такое обучение?


    1. nmivan Автор
      12.03.2018 22:06

      Если вспомнить, что фобиям подвержены процентов 100 людей, то такое обучение было бы полезно. Востребовано — вряд ли, т.к. это более высокий уровень для руководителя, чем просто указания раздавать.


  1. sonar200
    12.03.2018 22:06
    +1

    Довелось мне после колледжа (лето 2012г.) устроиться в небольшую конторку, где я работал по сути сам по себе и без наставника. По началу, пару месяцев, казалось довольно классным, что никто не сидит рядом и не критикует мои решения и код. Потом начало закрадываться сомнение в правильности происходящего, постоянно казалось, что код хоть и работает правильно, но решение не верно/не оптимально/есть способы проще и лучше и т.д. Так продолжалось месяцев 6 и даже начали проявляться следы депрессии и постоянных переработок, потому что результаты каждого реализованного решения оставляли чувство недоделанности и приходилось сидеть до 2-3 ночи, с целью переписать, отрефакторить и сделать лучше, дабы удовлетворить своего внутреннего перфекциониста. Переломный момент наступил в марте 2013, когда окончательно задолбавшись, взял сначала больничный на 2 недели, а после ещё и отпуск на 2 недели. За эти 4 недели сбросил всё, что накопилось за 8 месяцев, переосмыслил подход к работе, начал активно лазать по гитхабу, хабру, скачивать открытые проекты с целью изучения кода и того как его надо писать, какие решения лучше создавать, если задача изначально узконаправлена и не предполагает каких-то будущих интеграций. После отпуска пообщался с начальством, наняли ещё 1 программиста, с которым в паре мы уже более активно принимали конкретные решения и способы их реализации, плюс работали друг для друга своего рода стоп-кранами, чтобы не усложнять простое и не вгонять себя в дебри никому не нужной работы. Как итог данной перезагрузки, сейчас четко по задачам определяю стоит ли делать какое-то универсальное решение или же хватит узконаправленного на конкретную задачу, полностью избавился от чувства собственного несовершенства, не скажу, что всегда пишу хороший и оптимальный код, но это меня уже тревожит в намного меньшей степени, чем было по началу


    1. nmivan Автор
      12.03.2018 22:14

      Ваша история похожа на историю Геннадия, так?


      1. sonar200
        14.03.2018 13:17

        Похожа, но к сожалению свои работы не выкладываю :(


  1. stanislavmachel
    12.03.2018 23:21
    +1

    Спасибо автору за статью. От себя хотелось бы добавить, что есть еще одна самая страшная фобия программиста. Такой фобией является проэкт с стршной архитектурой вместе с говнокодом и старыми бывалыми «прогаммистами», которые верят в свой шикарный код, который трудно майнтейнить, а тем более расширять. Сам попал в такую команду и к сожелению самой большой проблемой стал не проэкт, а люди, которые ничего не хотят менять. К счатью со мной оказался единомышленик, но вдвоем столкнуть проэкт с места, где все написано не правильно(в голове возникает мысль, это писали какие-то школьники) столкнуть с места задача не подъемная. В общем говнокод и говнокодеры — это самое страшное, а также «программисты», которые занимаются самообманом и верят в свой s.t.u.p.i.d. код.


    1. zhuravlev_oe
      13.03.2018 09:13

      Картинку с Винни-Пухом чуть выше видели?


      1. stanislavmachel
        13.03.2018 14:17

        Жалко Винни:)


    1. Viacheslav01
      13.03.2018 15:11

      Хм… встречал я такое, только с обратной стороны, когда пришла пара супер крутых умников и стала нам наш «говнокод» выправлять, год пыхтели, выкатили и все встало, просто намертво. Т.к. все их правильные и модные подходы не учли кучи вещей, которые в изолированном состоянии проблем не вызывают и флажков в тестах не поднимают. В общем после их улучшений остальные 30 человек полгода старались заставить систему работать хотя бы как раньше. А не любители говнокода просто пошли дальше, с чувством выполненого долга.

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


      1. vsvasya
        14.03.2018 10:03
        +2

        Безумно интересны такие случаи. Можете рассказать подробности?


  1. helgisbox
    13.03.2018 14:49

    Фобии Аркадия — мне ближе всего. Как же я стар… вот ведь.


  1. botyaslonim
    13.03.2018 15:39

    Моя фобия — что я буду делать после 45? Когда ты ищешь работу в 35, уже некоторые косятся на «возраст»…


    1. JediPhilosopher
      13.03.2018 16:55

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


    1. snp
      14.03.2018 13:15

      Косятся, потому что эффективные менеджеры хотят сэкономить на зарплате.


    1. sonar200
      14.03.2018 13:24
      +1

      У нас в компании полгода назад взяли мужчину 52 лет. За 6 месяцев никто ни разу не пожалел о данном решении, а молодым, <30 лет, форы даёт будь здоров :) Как он сам говорит: «первые 45 лет жизни набирался опыта, теперь пришло время по настоящему поработать» :)


  1. degs
    13.03.2018 16:59

    Я бы пожалуй с Аркадием в разведку пошел проект написал. Побольше бы таких, с фобиями или без.


  1. Durimar123
    13.03.2018 19:26
    +1

    >Геннадий был толковым программистом…

    image