Как мотивировать программистов

Интересная идея проскочила в блоге у Джеффа Артвуда про мотивацию опытных программистов.
Для начала пара картинок из комикса Geek Hero Comic:

Перевод: Привет, Рэндалл. Доктор сказал, что ты можешь слышать меня, несмотря на то, что выглядишь, как овощ. Я просто пришёл сказать, что ты можешь использовать столько времени для восстановления, сколько тебе надо, так как Росс делает работу очень хорошо в офисе. Он даже нашёл батлнэк (неоптимальность) в твоём коде и сказал, что теперь всё будет работать в 2 раза быстрее!

Перевод: ЭТО НЕВОЗМОЖНО!!!!!! В ОФИС! ПРЯМО СЕЙЧАС!





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


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


Полный комикс немного о другом, но тоже забавный:
Полный комикс


Понравилась статья? Подпишись на RSS!

22 комментариев к Как мотивировать программистов

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

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

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

      • valery.pride

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

        • Поэтому я и написал, что не каждому это подходит.

        • Joka

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

        • G300

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

          “….а вот моя среда заточена под СУБД изначально, а в вашей это всего лишь полезная возможность…”
          ” …. а зато мы можем сделать так-то , а вы так в своей не сделаете…..”

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

          Никто на прямую не соревнуется все происходит незаметно, но вот после таких посиделок уже хочется сделать не просто чтобы работало, а работало бастро, код был красивым, и потребителю было УДОБНО!!!!

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

      • 1. ну если фирма состоит из самцов, то какие вопросы.. :) я про фирмы состоящие из программистов :) если из самцов, то думаю выгоднее конкурентов убивать, так как и быстрее и надежнее
        2. я про индусов рассказал из своего опыта :)
        3. еще видел случай - знакомые американцы любили развлекаться организуя на проекте соревнование между группами российских программистов задействованных в проекте и даже гордились этим.. да, что то в порыве соревнования разработали, но соревнование вылилось не в то что бы сделать продукт а в то что бы превзойти конкурента по программерским показателям и в результате была просажена масса бабла, масса времени, немеряно ресурсов, прошли волны потрясающего перфекционизма, ухудшился моральный фон, получены два варианта продукта для “писькомеряния” на презентации и ниодна из версий не была пригодна для продаж и для запуска в поле, из-за чего впрочем проект и накрылся оставшись только на уровне дем

        • 1. То есть ты программистов из “самцов” вычеркиваешь? :)
          3. Ну так понятно, что всё не так просто и рассчитывать, что целиком проект будет вытянут на соревновании - это глупо. Соревнование - это короткое событие. На пару часов или дней, но не весь проект. Невозможно мотивировать себя соревнованием долгие дни - это я тебе говорю, как человек, любящий соревнования :)

          • программист - человек много думающий головой, а самец это для чего то другого, для чего голова скорее мешает, так как “удовольствия меньше” (С) солдат Швейк :)

      • моя практика показывает, что среди индусов бездумных копи-пастеров намного больше…
        P.S. насчет перепишет код - если ему дадут, а часто за такое своеволие могут и уволить…

      • SS

        //перепишет его заново
        от не согласен я с этим :)

  • egorinsk

    Ну кстати, программист там зря раскричался, в css/js/html удаление пробелов — самое то, жмет процентов на 20 минимум.

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

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

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

  • dmodeus

    оффтоп: Имхо, Bottle Neck лучше перевести как узкое место, а не как батлнек :)

    • Узкое место не совсем описывает bottleneck :) Да и говорить про “узкое место” в коде - странно.
      Так что подумал и оставил, как есть.

  • SS

    Если только спонтанное очень небольшое, соревнование или небольшое, в очень скрытой форме, с тонкой игрой на характере могу и посоревноваться… а так без шансов…
    Проект или даже часть проекта на соревнование никто и организовывать не будет, ведь по сущности соревнование это своебразная игра… А потратить время (читай деньги) на игру ни один руководитель не согласится, тем более что в профессиональном коллективе пользы от этого ноль! Как определить победителя? Кто быстрее? Вы захотите иметь софт который разрабатывался на скорость? :) Быстрее работает? Всем понятно что для более менее сложной системы тестирование займет еще время и для части тестов одна версия будет работать быстрее чем другая… По качеству кода еще каким то формальным критериям? А толку и с этого? Вообщем скорее для разрядки, не более.
    Бывают варианты из жизни, но это скорее под видом соревнования, видишь как новичок что то пишит и беглым взглядом видишь три ошибки как минимум из-за которых код правильно работать будет только в 60% случаев, и чтобы не обижать молодых и горячих чуть подзодориваешь и переписываешь его код с ним под видом соревнования обьясняя ему его ошибки под видом что не он плохо сделал, а что по критерию соревнования так больше очков (типа я напишу более быстрый код… так быстрее работать будет чем у тебя… ой гляди, типо только заметил, здесь еще и ошибка может возникнуть… и т.д. ) и никто не в обиде и ему нагоняй не сделали и его код тебе потом переписывать не надо :)

    • Указать человеку на ошибку - это правильно. Не надо для этого придумывать “соревнований”. Если программист обижается, когда находят ошибки в его коде, то грош цена такому программисту.
      Я обожаю, когда кто-то находит у меня ошибки, т.к. они мне этим сохраняют часы жизни, которые я бы провел, отлаживая эту ошибку.

Ответить

 

 

 

Вы можете использовать эти HTML тэги

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>