Старое место работы. Все сборы позади. Последний рабочий день. Осталось сдать ноутбук, предварительно подчистив данные на нем. Закрываешь крышку. Все, ты готов к последнему шагу: к пьянке с теперь уже бывшими коллегами и, возможно, друзьями. К тебе смущенно подходит близкий коллега и спрашивает: "ну и куда ты теперь?". И ты объясняешь ему, куда. Попутно помогают тебе раскупорить шампанское или пиво. И вот ты уже наливаешь себе бокал и понимаешь, что завтра ты уже здесь работать не будешь. Тебе грустно, но надо двигаться дальше, ведь это твой выбор...


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


Новое место работы. Тебе дают новенький ноутбук, о которым ты только мечтал. Показывают новое рабочее место и знакомят с командой. Все очень приветливые и приятные люди. Не коллектив, а сказка. Садишься за удобное кресло. Первое задание. Ты в предвкушении. Открываешь крышку ноутбука, читаешь его. Ничего не понятно. Новый язык, новый продукт, все новое. Настраивать окружение надо как минимум день, а то и больше. Сложность зашкаливает. Но ты справляешься и решаешь задачи одну за одной. Все работает как часы, инструменты удобные и мощные. Ты радуешься, что работаешь в команде профессионалов и используешь самые модные и надежные инструменты. Единственный вопрос, который ты себе задаешь: WTF? Почему в других местах все по-другому?


Знакомо такое? И мне тоже нет.


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


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


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


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


А все рассуждения насчет ума и интеллекта ничего не стоят. Что с того, что кто-то мудак и написал мудацкий код? Можно показывать на это пальцем и ругаться. Мир этого не заметит. Лишь мы сами меняем то, что вокруг. Меняем этот мир.


Так какая разница, с чего начинать?

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


  1. dipsy
    27.10.2018 06:11

    Так какая разница с чего начинать?
    А на новую работу вы уходите, потому что там ноутбук новее и коллектив приветливей? Или всё-таки несколько иная мотивация $$$? А на старой работе начальство видимо не готово вас настолько смотивировать, хотя по итогу экономия получится отрицательная, скорее всего, с потерями на интеграцию нового сотрудника в процесс.


    1. dom3d
      27.10.2018 10:27

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


      1. roscomtheend
        29.10.2018 09:58

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


        1. dom3d
          29.10.2018 10:55

          Вы правы, конечно.
          У меня были разные варианты и новое начальство и завершение работ по большому контракту…


    1. Stas911
      27.10.2018 17:19
      +6

      Дык это известный прикол. Думаю в 99% случаев никто не будет заморачиваться мотивацией уходящего сотрудника и просто наймут нового за 1.5 ставки прошлого.


      1. IgorRJ
        28.10.2018 02:00

        Так это же готовый бизнес-план. Устраиваем ротацию себя любимых и получаем профит!


        1. putnik
          28.10.2018 05:55
          +2

          Многие потому и меняют работу каждые пару лет, что проще выбить себе 1,5 ставки при смене работы, чем оставаясь на том же месте. Но есть и обратная сторона — HR'ы не очень любят, когда у вас каждый год-два новое место работы.


    1. 0xd34df00d
      27.10.2018 19:27

      Потому что там технологический стек новее и мне есть чему поучиться в интересной мне области.


  1. evocatus
    27.10.2018 10:21

    Насчёт «с чего начинать» объясняет хорошая русская пословица: «с кем поведёшься, от того и наберёшься».


  1. s_suhanov
    27.10.2018 10:49

    https://habr.com/company/wrike/blog/427505/
    Хорошая попытка. Но нет. :)


  1. Zettabyte
    27.10.2018 11:01
    +7

    Для завершения трилогии осталось написать «Презумпцию безразличия/пофигизма», в которой рассказать, что хауноу присутствует в окружающей жизни из-за того, что тот или иной разработчик забил на какую-либо деталь(-и).

    А в заключении предложить не обращать на него внимания как в целом, так и в частности, потому что сегодня — суббота. Тем самым цикл «good / bad / neutral» замкнётся :)


  1. Xop
    27.10.2018 13:46
    +3

    Знакомо такое? И мне тоже нет.

    Странно, но мне это как раз знакомо.


  1. third112
    27.10.2018 14:04

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


    Факт, что в кодинге, т.е. в реализации готовых алгоритмов в программы, трудно (м.б. невозможно) однозначно определить многие базовые вещи: нпр., наилучший стиль программирования, наилучший ЯП и т.д. В алгоритмике (и в математике) гораздо точнее: был Евклид и был Эратосфен, они сделали свои алгоритмы задолго до появления ЭВМ, и до сих пор никому не удалось переплюнуть. М.б. и сейчас такой, лучше которого никто не сможет сделать?


    1. Stas911
      27.10.2018 17:21

      А уж когда встает выбор использования сторонних сервисов — так вообще туши свет


    1. GeMir
      28.10.2018 00:27

      и был Эратосфен […] до сих пор никому не удалось переплюнуть
      Это решето-то Эратосфена не «переплюнули»?
      Разве что для относительно небольших простых чисел ;)


      1. third112
        28.10.2018 18:40

        Да, это математическая традиция: чтобы не быть слишком многословным приходится использовать нестрогие слова — вроде «переплюнуть»;) Конечно, аудитория вправе потребовать разъяснений. Разъясняю: подразумевал значение решета Эратосфена для математики и CS. Его, это значение, трудно переоценить, нпр., для начала можно посмотреть список источников в вики — сколько всего вокруг наверчено.


  1. javamain
    27.10.2018 14:07
    -12

    Бабло конечно очень сильный матив поменять место работы. Но нужно вспоминать и о старении организма при перемене места работы. Я заходил на свою старую работу и там все как всегда… народ почти не постарел.
    Да и надо понимать, что на работе годами оттачивают набор тулзов для программирования. Шаг в сторону — побег, прыжок — попытка улететь.
    Ни кому не хочется что-то менять все за постоянство. Если на работе хорошо, то что же ее менять. Просто надо просить прибавки упирая на то что инфляция не стоит на месте, продукты в магазине дорожают. За частую и на старой месте работы после просьбы прибавки можно получить для себя новую роль.


    1. Stas911
      27.10.2018 17:22
      +8

      Мои глаза…


    1. boblenin
      27.10.2018 19:44
      +3

      Упор на то, что «инфляция и продукты» работает в обе стороны. Вы серьезно считаете, что это сильная позиция при торге? Как часто вам удавалось получить скажем 20% прибавки используя такую аргументацию?


    1. SongOfBird
      28.10.2018 10:10
      -1

      Для повышение платы вы должны доказать что ваши знания и навыки выросли и вы приносите компании больше денег. Аргумент по инфляции не сильно прибавит вам зарплату. Хотя возможно я ошибаюсь?


      1. Skerrigan
        28.10.2018 11:33
        +2

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

        И теперь, барабанная дробь: а какого фига требуется еще что-либо, чтобы просто сохранять тот же ППС на этой работе за N-«выполненных задач»?

        И прежде чем дадите мне ответ, прошу сразу задуматься — «а откуда тогда работодатель будет брать те самые 1,5 ставки для нового сотрудника»?!
        Да как раз вот оттуда — цену за услуги он то поднял, а «вам» (фигурально выражаясь) с каждым днем получается он стал платить все меньше и меньше за вашу «одну и ту же работу» (sic!)

        P.S. В противном случае, при «типичной-абсурдной экстраполяции» мы будем иметь, что «надо будет через N-лет уже нести слитки золота в фирму, и все равно это будет оплачиваться 500гр хлеба — а фигу иначе давать прибавку то?!»


      1. qw1
        28.10.2018 11:34
        +1

        А если знания и навыки НЕ выросли, но из-за инфляции зарплата стала ниже рыночной?

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


        1. yudinetz
          29.10.2018 15:12

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


          1. roscomtheend
            29.10.2018 16:59

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


    1. roscomtheend
      29.10.2018 10:09

      > старении организма при перемене места работы

      Что? Это откуда такое?

      > Ни кому не хочется что-то менять все за постоянство

      Точнее — некоторым, а некоторых не корми, а дай перемен.

      > надо просить прибавки упирая на то что инфляция не стоит на месте

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

      > можно получить для себя новую роль

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

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

      PPS. Ого! 30 минут на редактирование.


  1. Zenitchik
    27.10.2018 16:22
    +2

    > Я заходил на свою старую работу и там все как всегда… народ почти не постарел.

    «Я забыл в кругу ровесников сколько лет пройдено».

    Иллюзия это.


  1. Stas911
    27.10.2018 17:24

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


    1. boblenin
      27.10.2018 19:45
      +5

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


  1. roman_kashitsyn
    27.10.2018 17:24

    Что, Гриша, тоскуешь по Яндексу? О чём статья-то? Я ничего не понял.


    P.S. А, это ответ на другую статью, которая тоже ни о чём. Извини тогда. Как тебе Erlang после C++?


    1. gridem Автор
      27.10.2018 18:22
      +5

      Что, Гриша, тоскуешь по Яндексу?

      По коллегам.


      О чём статья-то? Я ничего не понял.

      Статья о том, что везде говнокодеры.


      Как тебе Erlang после C++?

      Эрланг — отличный. Уникальный язык. Все никак не соберусь написать отдельную статью.


  1. yorko
    27.10.2018 19:20
    +4

    1. gridem Автор
      27.10.2018 21:33
      +3

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


      1. s_suhanov
        28.10.2018 15:11

        Действительно просто казалось.


  1. gshamshurin
    27.10.2018 20:53
    +3

    Мне кажется, для «ответов» под каждой статьёй есть раздел «комментарии».

    Представьте, что у Вас нет полноправного аккаунта и Вы запостили эту статью в «песочницу».
    Как думаете, Вам бы выдали за неё приглашение?
    В ней есть хоть крупица полезной информации по теме хабов, которые Вы указали?


    1. gridem Автор
      27.10.2018 21:36
      +4

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


      Как вы думаете, смогли бы вы выжить в этой ситуации?


  1. YourChief
    27.10.2018 22:00
    -2

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

    Безумие — это точное повторение одного и того же действия. Раз за разом, в надежде на изменение. Это есть безумие.
    — Альберт Эйнштейн


  1. FreeBa
    28.10.2018 01:59
    +1

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

    Сначала, как затравку, тебе начинает кидать в лицо NPE маппер EF, особенно если дело касается дат, которые являются value-типом и не могут быть null (нет MSSQL не застрахован от этого), вроде бы пустяк, мелочь. С кем не бывает. Поднимаемся на следующий уровень абстракций и бац — .net заявляет что это "?? ??????? ????" фраза на русском и переубедить его весьма не просто, может быть я подзабыл родной язык, но это не похоже даже на глаголицу, которую пользовали наши предки (возможно баг в Unicode 6.0, но я далеко не эксперт).

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

    Это не плохо и не хорошо, просто так есть.


    1. gridem Автор
      28.10.2018 02:54

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


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


    1. qw1
      28.10.2018 10:00

      Сначала, как затравку, тебе начинает кидать в лицо NPE маппер EF, особенно если дело касается дат, которые являются value-типом и не могут быть null
      Вообще никогда не было с этим проблем, что code first, что database first, EF и генерирует код с DateTime?, и обратно, из моделей/классов создаёт разный тип столбца для DateTime? и DateTime
      .net заявляет что это фраза на русском
      Неужели есть функция определения языка сообщения? )))


      1. FreeBa
        28.10.2018 15:16

        Неужели есть функция определения языка сообщения? )))

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


    1. ainoneko
      29.10.2018 10:19

      Поднимаемся на следующий уровень абстракций и бац — .net заявляет что это "?? ??????? ????" фраза на русском
      Проблемы индейцев, но не Апачей?


  1. corochoone
    28.10.2018 02:49
    -2

    Да, к сожалению, так у нас программисты обычно и работают. Накодил и свалил. Я сам не программист, а админ, но иногда админы, как бы это странно не звучало, учат разработчиков как нужно разрабатывать. Проблема в том, что у нас (как и у большинства) много кодеров, но мало программистов. Почему-то забыли, что программирование — это искусство построения красивых АЛГОРИТМОВ. Не запись алгоритмов на каком-то языке программирования — это кодирование, а именно построение алгоритмов. Да, кодировать тоже надо уметь: уметь оформить код, писать комментарии, делать код понятным другим людям, но всё же… Давече, разбираясь с неким PHP-framework'ом задал вопрос нашим разрабам: как лучше организовать расширение предполагаемого продукта: задействовать хуки в коде или оперировать регистрацией событий через базу данных? Спросил нескольких людей, но ни один из них не смог чётко и грамотно объяснить плюсы и минусы и рассказать о best practice по этому вопросу. Разработчики на PHP могут попросить установить им node, потому что они хотят работать с Gulp, но при этом не могут догадаться, что при получении 500-ки нужно для начала почитать логи веб-сервера, а не кричать «админы помогите» у меня площадка не работает! Тему можно было бы продолжить…


    1. s_suhanov
      28.10.2018 15:13

      Тему можно было бы продолжить…
      Но явно не стОит. )))


      1. corochoone
        28.10.2018 19:18
        +1

        Угу. Тему читают в остновном разрабы — это видно! Вон как заминусовали — обидно админ написал! :)


  1. fpinger
    28.10.2018 04:11
    +1

    Крылья, ноги. Главное — хвост!

    Каждое существо своё страдание создаёт через своё сознание. Но мы уверены, что сознание других существ создаёт наше страдание.


    1. Kutak
      28.10.2018 04:51
      +1

      Пелевинщина какая-то. Нет никакого страдания. Как нет и никаких существ. Есть бабочка, видящая сон обо всём этом.


      1. fpinger
        28.10.2018 05:07

        Вы ответили как бабочка или как сосуд наполненный счастьем?


        1. Nepherhotep
          28.10.2018 05:31

          Он скорее пони в данной ситуации.


          1. Kutak
            28.10.2018 17:23

            Хе-хе, все до женитьбы кони, а после — пони.


        1. Kutak
          28.10.2018 17:22

          Вы ответили как бабочка или как сосуд наполненный счастьем?

          Как Чжуан-Цзы, которому во сне казалось, что он бабочка.


  1. xinQ
    28.10.2018 21:16

    То, что мы делаем всегда трактовки будущей цели с требуемыми компромиссами по ее реализации во времемени между результатами работы членов команды при субъективных приоритетах руководства в части финансовой и технической составляющих при неизвестном переменном давлении внешнего окружения, поэтому представления каждого об этом мире субъективны и туманны, а мир кажется не идеальным, но именно поэтому хочется свои задачи осуществлять лучше, разумнее и понятнее, давая от этого надежду другим стать немного лучше, ориентируясь в первую очередь на ближнее окружение …
    Как итог: но то, что мы потом имеем, это факт биологической неизменяемости как человека, так и социума, поэтому как говорят «надежда умирает последней», – сказала Надежда и умерла…


  1. Egorkkk
    29.10.2018 11:28

    олег за всё берётся смело
    всё превращается в говно
    а если за говно берётся
    то просто тратит меньше сил