Программисты съели мой мозг.

Вспомнились несколько разных случаев.

- Как-то объяснял двум Senior Software Developer’ам, которые проработали в компаниях разрабатывающих security по крайней мере по нескольку лет, что такое битовые операции.

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

- Как-то было, что за 4 часа переписал код, который другой разработчик писал две недели. Причем за это время уменьшил объем код в 16 раз, не потеряв функциональности и не ухудшив читабельности.

- Помогал другому senior software developer’у пофиксить баг – поставить в нужном месте скобку. Причем, компилятор указывал, где должна быть вставлена скобка и что ее там не хватает.

- Хоть не о разработчиках, но тоже хорошо. Работал с заказчиком (который технарь и достаточно долго ведет IT бизнес), который считал, что в проекте можно исправить ВСЕ ошибки.

- И тоже не о программистах. На конференции видел sales, который на Palm не знал как перейти в Launcher (аналог Program Files для Windows). При этом он продавал сложную систему (включая Palm клиента) и должен был отвечать на вопросы.

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

44 Responses to “Программисты съели мой мозг.”

  1. Anonymous says:

    Не кушайте моск другим и вам его, может быть, оставят.

  2. Каждый имеет право немного потупить. Чем выше экспертиза, тем более заметны становятся тупняки :)

    Согласен, это шедевр: “Хоть не о разработчиках, но тоже хорошо. Работал с заказчиком (который технарь и достаточно долго ведет IT бизнес), который считал, что в проекте можно исправить ВСЕ ошибки.”

    • Victor Ronin says:

      Ну под тупление попадает заказчик (из описанных)

      Честно говоря остальные случае, скорее клинические.

  3. VladimirZ says:

    “Хоть не о разработчиках, но тоже хорошо. Работал с заказчиком (который технарь и достаточно долго ведет IT бизнес), который считал, что в проекте можно исправить ВСЕ ошибки.”

    Однозначно можно за бесконечный ресурс :)

    • И за бесконечное количество времени. Хотя обычно стоит вопрос: исправить ВСЕ ошибки к определенному времени :)

    • Victor Ronin says:

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

  4. point says:

    Похоже, мантра “починить ВСЕ баги” очень распространена :)
    Главное не допустить, чтобы это стало поводом невыплаты за уже проделанную работу. Именно так получилось у меня.

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

  5. rssh says:

    А у меня чуть ли не каждый новый контрагент смотря на сроки – говорит: “О, они либеральные: сделаем быстрее”. А потом эти либеральные сроки срывает.

    • Victor Ronin says:

      Таких надо убивать пока они маленькие.
      Собирайте статистику, показывайте ее им после каждой фразы про либеральность.

      Кстати, agile вам поможет.

      • rssh says:

        ну где-то так и происходит ;) [тем более первый проект с кем-то новым это как правило небольшой pilot]. Но тот факт что если люди раньше с нами не работали, то скорее всего они срывают сроки – пугает :) [непонятно - а как же все остальные]

        • Victor Ronin says:

          Вообще IT в этом смысле странная отрасль. Думаю не так много других областей где-то 70-80% проектов выбиваются из сроков и стоимости и поэтому все это считают фактически нормой.

          • point says:

            Потому что IT — это в основном custom-решенеия. Зачастую уникальные для своей предметной области.

            При серийном производстве, например автомобилей, достаточно легко рассчитать стоимость производства, сроки, качество и т.д. Т.к. тех процесс меняется достаточно медленно, и наработки по ведению бизнеса в этой сфере накапливались десятилетиями.

            Еще один нюанс: получаемый IT продукт очень мягкий и податливый. Вставить очередную фичу обычно не составляет огромного труда. Если продолжать аналогию с автомобилестроением, поставить еше 2 колеса машине вряд ли получится.
            Отсюда желания улучшить, “углУбить”, расширить (зачастую во вред) приносят отставания от графиков, выход за пределы бюджета…

            • Victor Ronin says:

              Само-собой.

              Но, все же IT не единственная такая область
              а) Custom
              б) Податливая

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

              Кстати, еще одна важная особенность, которая играет тут роль – достаточно высокие ожидания к качеству продукта.

  6. Slava says:

    Мне нравится, когда заказчик настолько расфокусирован на проекте, что иногда спрашивает в духе:
    - “Так на чем мы остановились?”, в то время работа идет над проблемой, которую он лоббировал (доказывал необходимость) 2 недели
    - “… . Ой забыл, как же он называется”, интересно, когда забывают, как называется сам проект.

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

    • Victor Ronin says:

      Ну, тут я не согласен.

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

  7. Anton Naumov says:

    как хорошо, господа, что погоны Senior Developer’a раздают всем, кому ни попадя — эти люди делают наши услуги очень дорогими, работу с нами — подарком, а завания… да кому интересны звания? хоть горшком назовите, вопрос только в обязанностях, отвественности и компенсации

    • meowth says:

      Плюсую :)

      Особенно радуют послужные списки в виде:
      - Junior — 6 месяцев
      - Senior — 2 года
      Меньше 4к$ на руки компенсации не хотят (Россия, default city). Естественно, бонусы типа кормежки, отпуска, проездов и т.п. обязаны присутствовать отдельно от суммы.

      Но при этом просишь сделать бранч в сорс-контроллере — “я не умею” )

      • Victor Ronin says:

        Кстати, постепенно это ситуация измениться. Когда рынок насыщается (перенасыщается), то все становится на свои места.

        • meowth says:

          Хорошо бы.
          Однако пока что я вижу, что рынок борется с перенасыщением так: разработку просто переносят в Украину и Белоруссию — объективно там девелоперы не такие охреневшие по части запросов, и соотношение “польза/(понты*компенсация)” выше

          • Victor Ronin says:

            Даже это должно слегка помочь.

            В конце концов любая индустрия устаканивается.

    • Victor Ronin says:

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

      Есть два минуса
      а) В толпе липовых Senior Developer’ов очень тяжело выделиться в момент когда работа еще не начала. Так, что вместо нас хороших, могут выбрать их тупых.
      б) Товарищи с липовыми погонами прививают заказчикам и менеджерам плохие привычки.

  8. Pavel says:

    А вот из моей практики:

    Заказчик пожаловался на сбой в работе софта, но отказался описывать что произошло т.к. “процесс который мы запускали – intellectual property, и по сему разглашению не подлежит”. И естественно никаких логов не предоставил.

  9. Pavel says:

    Может немного не в тему, но мозг был съеден качественно и без остатка.

    Заказчик жалуется на низкую производительность приложения, привлекает своих сисадминов которые быстро находят корень зла: “В Task Manager обнаружен System Idle Process который использует 99% ресурсов CPU”

  10. Anonymous says:

    “в проекте можно исправить ВСЕ ошибки” – это реально возможно, но стоит бешеных денег и многих лет. Можно доказать, что в проекте нет ошибок. Есть пример – но единственный :)

  11. Mark says:

    Один мой знакомый как-то выкинул то, что писалось другим программистом в течении полугода и за полдня заменил это известной библиотекой. При этом пропали все (ну может не все, но много) глюки, а скорость работы возросла в разы… Однако человек regexp-ы изобрести пытался.

    • Victor Ronin says:

      О да ;) ) Regexp’ы с нуля написать – это некисло.

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

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

  12. Pavel says:

    Взяли мы как-то на работу тестировщика для автоматизации тестирования. Не студент, 2 года опыт работы программистом.

    Первым его заданием была миграция автоматизированных тестов со старого (даже древнего) тестового пакета на новый. В старом пакете для скриптов использовался специфический язык, что-то типа языка описания состояний. Скрипт на этом языке состоит из блоков вот такой структуры:

    т.е. если все условия выполняются то перейти в другое состояние.

    Скрипты надо было перевести на Python.

    Новый специалист с энтузиазмом взялся за работу, трудился не покладая рук и обещая “завтра” показать кое-что работающее. Ни с кем не консультировался, от помощи отказывался. Через две недели начальство начало нервничать из-за отсутствия результатов и потребовало отчет о проделанной работе.

    Оказалось что товарисч взял старые скрипты и ПОПЫТАЛСЯ ЗАПУСТИТЬ ИХ В PYTHON. 2 недели было потрачено на эксперименты типа “а что будет если в конце каждой строки поставить точку с запятой”.

    На вопрос “как ты дошел до такой жизни” было отвечено что кто-то на офисе обмолвился что задача простая и старый язык похож на Python.

    Самое смешное что человек прошел испытательный срок и продолжил радовать нас новыми свежими идеями.

  13. Pavel says:

    Инженер-оптик получил задание:

    Спроектировать систему освещения в которойугол падения света будет равен углу отражения.

  14. Митька says:

    Идиотов везде хватает, не только в земле русской. Буквально вчера смотрел Топ Гир года эдак 2005-06. Кларксон гонял на обновленном (тогда в 2006) Doge Viper. Для тех кто в танке – вайпер двухместный. Так вот, и в инструкции, и в предупреждающих наклейках на козырьках, и на наклейках в дверных проемах было написано “Дети будут в большей безопасности если посадить их на заднее сиденье”. Кларксон завис на пару секунд, я даже подумал, что он выдаст классическое Задорновское “ну тупые!”, но кларксон политкорректно скривил рожу, и задал риторический вопрос “Интересно, а где они найдут заднее сиденье в двухместной машине?” Конечно, можно оправдать это тем, что наклейки на весь модельный ряд лепятся одинаковые, и инструкции тоже однотипные. Но весь дебилизм ситуации в том, что вайпер – машина совсем недешевая и очень сильно отличается от остального модельного ряда Dodge. Так что дизайнерам и проектировщикам можно было бы позаботиться о соответствии инструкций и наклеек реальному автомобилю.
    А вообще среди развитых стран, по степени концентрации дебилов США занимает ведущее место. А вообще, почитайте блоги русских эмигрантов в США. Разрыв мозга гарантирован!

    • Victor Ronin says:

      Да я и есть русский эммигрант в США, так что далеко ходить не надо, чтобы читать их блоги.

      С тем, что концентрация дебилов в США больше – готов спорить.

      Да, забавно что наклейка одна на все машины. Но врядли это кто-то делает специально. Так, что типичный недосмотр, а не дебилизм.

      Да и вообще, дебилизмом выглядят те вещи, которые мы плохо понимает. Условно говоря, когда в США на консерве пишут с одной стороны – открывать тут, а с другой стороны – открывать другую сторону. Звучит как дебилизм – и так догадаться можно. Но опять же, эту фразу не просто так выдумали.
      Какой-нибудь чудак открыл не с той стороны и открывая порезал себе … ну скажем палец. А потом судил компанию, о том, что она блин не предупреждает о том с какой стороны надо открывать. Компания даже суд выиграла, но почесала голову и решила, что им проще добавить еще одну надпись, чем судиться.

      • Митька says:

        Насчет концентрации не буду спорить, вам с места событий виднее :) Свое мнение я высказал исходя из тех же эмигрантских блогов. Может я не то читал? Но штатовскую народную забаву судиться со всеми подряд считаю натуральным дебилизмом.
        А вот универсальные наклейки на додж зря прилепили. Я подам на них в суд, потому что я хотел обезопасить своих детей, искал там задние сиденья пол дня, опоздал на работу и получил убытки! :D

        • Victor Ronin says:

          На самом деле возможность судиться – это очень даже хорошо. Условно говоря, купил кто-то ну скажем стиралку, подключил ее к электричеству, а она сгорела.
          Оказывается, что она должна подключаться не к сети 120В, а не 220В, а в документации это не написано.

          И скажем гарантия не покрывает включение в сеть с повышенным напряжение. В странах где судиться сложно – останется только горевать или идти бить морду продовцам (которые тоже особо не виноваты).

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

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

          Да и в целом судятся не все со всеми, а скажем 1% населения. Этого достаточно, чтобы фирмы думали о потенциальных последствия.

          • Митька says:

            Согласен. Если имеет место откровенное кидалово – только суд! Ну или комитет по защите прав потребителей (не знаю, есть в штатах подобная организация?).
            Но вспоминается один из классических образчиков маразма – надпись на макдональдсовских стаканах для кофе “Осторожно! Горячее!” А все из за одной тетки, которая якобы не знала, что кофе горячий. У этой тетки с головой все в порядке?

            • Victor Ronin says:

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

  15. Митька says:

    А вот из области 1С и другой околонаучной фантастики. Есть в России одна контора, называется Рарус. Заниматься поддержкой их конфигураций – одно удовольствие! (здесь должен быть бьющийся головой об стену смайлик)(а здесь блюющий смайлик) Перед открытием конфигуратора стоит хряпнуть стакан водяры, чтоб не так страшно было. О том, что этот код – сплошные макароны я промолчу. Создается впечатление, что код писали слепоглухонемые индусы. 1сники знают, что у всех объектов и форм есть стандартные обработчики типа ПриОткрыти, ПередЗаписью и т.д. В рарусе это интерпретировали по своему, и теперь не зависимо от того используется обработчик или нет, в КАЖДОМ вставлена заглушка:

    Процедура ПриОткрытии()
    // Зарезервировано
    КонецПроцедуры

Leave a Reply

Please enter word "captcha":