Редактор Хабрахабра
103,0
рейтинг
29 ноября 2013 в 22:16

Разработка → Как умирают софтовые компании, или Как правильно выращивать программистов перевод

imageОкружение, которое выращивает творческих программистов, убивает менеджмент и маркетинг. И обратное тоже верно.

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

Ты победил.


Ты знаешь, что некоторые считают тебя нердом. И что? Они ведь не Игроки. Они никогда не состязались с Windows, не выходили один на один с DOS. Для них C++ — это неплохая оценка, почти B (по американской системе оценок) — но не язык. Их почти не видно. Как солдату или художнику, тебе всё равно, что там думают эти гражданские. Ты творишь нечто замысловатое и прекрасное. Им не понять.

Пасека.


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

Чтобы они не жалили, ты платишь им деньги. Больше, чем они могут потратить. Но это меньше, чем можно было подумать. Просто у всех программистов в голове отцовский голос говорит «Когда ж ты займёшься каким-нибудь реальным делом?». И тебе просто надо платить им столько, чтоб они могли ответить (тоже у себя в голове): «Блин, пап, да я больше тебя зарабатываю». В среднем это не так уж много.

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

«Вот он — Игрок!», думает начинающий кодер. «Он на мой код посмотрел!» Больше ничего и не надо.

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

Выход из-под контроля.


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

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

Выкуривание.


А для программиста шок ещё больше. Он вдруг обнаруживает, что его контролируют инопланетяне. Митинги, Графики, Отчёты…
И кто-то теперь вдруг требует от него ПЛАНИРОВАТЬ свою деятельность, и потом придерживаться плана! Не улучшать. Не подправлять. Никогда, ни за что не трогать чужого кода.
Теперь начинающий программер, который когда-то ему поклонялся, стал его начальником-тираном. Потому что сыграл в гольф с каким-то хером в костюме.

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

Наверно, надо сделать новый дизайн упаковки. Точняк.

PS: Это перевод статьи Орсона Скотта Карда, автора серий книг «Вселенная Эндера», «Сказание об Элвине Созидателе», «Возвращение домой».
Перевод: Орсон Скотт Кард
Вячеслав Голованов @SLY_G
карма
247,2
рейтинг 103,0
Редактор Хабрахабра
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

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

  • +22
    Последняя фраза вообще почти всего касается в последнее время.
    • 0
      >PS: Это перевод статьи Орсона Скотта Карда, автора серий книг «Вселенная Эндера», «Сказание об Элвине Созидателе», «Возвращение домой».

      Эта? Популярный писатель, судя по всему
  • +7
    Теперь я знаю, что показать в ответ тем менеджерам.
    • +18
      Инопланетяне не поймут пчел.
  • +2
    Просто крик боли и отчаяния.
  • +2
    Просто у всех программистов в голове отцовский голос говорит «Когда ж ты займёшься каким-нибудь реальным делом?». И тебе просто надо платить им столько, чтоб они могли ответить (тоже у себя в голове): «Блин, пап, да я больше тебя зарабатываю». В среднем это не так уж много.

    А если ты кормилец в семье, что же тогда, не программировать :) Слишком сферичен и заштампирован автор оригинальной статьи, да и не так много сейчас уже таких нердов, всё чаще встречаю осознанных и стильных разработчиков, без какого-то такого налёта инфантилизма.
    • +12
      Не стоит путать инфантилизм и идеализм. Просто у некоторых людей в их системе ценностей творческий процесс и осознание важности создаваемых ими вещей стоит несколько выше, чем возможность купить новую машину в следующем месяце. И они воспринимают свою работу как возможность заниматься любимым делом, не тратя время на подработки на стороне.
      И кстати, я не думаю, что показателем взрослости есть желание зарабатывать деньги в больших количествах. Поверьте, мне приходилось видеть вполне себе осознанных и стильных инфантилов.
      • +1
        Вы прямо меня описали. К сожалению, сейчас подработки остаются единственным вариантом
  • +27
    • +5
      Эх, не нашёл я той статьи :( Обидно.
      • +32
        Не расстраивайтесь, я например ту статью почему-то не видел, а Вашу заметил.
      • +6
        Переводы довольно сильно отличаются, но при этом оба интересны. Вы не зря сделали эту работу! Например, своим знакомым я бы дал ссылочку именно на ваш перевод =)
      • –2
        мне ваш перевод больше нравится, в том буков больше :)
    • +4
      Главное мы ведь даже картинки похожие подобрали :)
    • 0
      Здесь перевод лучше. Естественнее.
  • 0
    Извините, я не понял морали. Кто виноват?
    • 0
      Никто не виноват. Программисты уходят. Все хотят масштаб, так или иначе, чтобы ближе к сорока не отстаться с разбитым корытом и скромными накоплениями. Уже к 30 многие программисты гордятся тем, что перешли в менеджеры и теперь «о не, я уже давно техническими вещами не занимаюсь.»
    • +4
      Как я понял — в том, что не нужно относиться к группе программистов как к рабочим сборочного цеха.
  • +45
    Очень напоминает по принципу построения статьи в женских журналах а-ля Космополитен. Такой же трюк: надо взять побольше стереотипов, вызывающих позитивную ассоциацию у читателя, и сделать из всего этого вкусную жвачку. Читать приятно. И неважно, что в реальности все немного не так.
  • +2
    Поймал себя на мысли что хорошо что есть и что то среднее, и программисты не сильно одичавшие и менеджеры не экстремальные карьеристы и иногда они даже собираются вместе. Если в конторе удалось создать команду в которой думают не только о себе но и о будущем продукта и фирмы то многих проблем просто не возникает а если и возникают то решаются без стресса. Желаю всем такой команды.
  • +4
    Очень однобоко.

    Когда «у власти» находятся программисты, и совсем нет толковых маркетологов, тоже выходит хрень. Яркий пример — QNX. Одна из лучших систем в своем классе, работает по всему миру, от раутеров до систем морской навигации, от систем лазерной коррекции зрения и до систем управления атомными электростанциями, и при этом продавалась и перепродавалась много раз, т.к. гениальные (без кавычек и тени сарказма) программисты никак не могли найти нормальной бизнес-модели.
    • +10
      А где увидели противоречие между сказанным вами и этой статьёй? Наоборот, в ней всячески подчёркивается необходимость отдела продаж: программистов нужно приручать так, как пасечник приручает пчёл. С ними нельзя поговорить, но их можно привлечь, чтобы они роились неподалёку. И когда они отвернутся, можно забирать мёд.

      Если пасечника не будет и мёд вовремя забирать некому, то, разумеется, ничего хорошего из этого не выйдет. Статья же объясняет почему «эффективные манагеры» способны свести в могилу более-менее любой проект — но тут я как бы не совсем даже уверен, что программисты чем-то уникальны.
      • +2
        У всех успешных компаний был лидер, который взращивал программистов. Но он не может вечно оставаться у руля. Он либо продаёт компанию, либо приводит менеджеров, которые его изживают, либо он сам становится менеджером. Так или иначе, управление переходит в руки маркетологов.

        И, мол, с этого момента все катится в тартарары: митинги, графики, отчеты, вместо того, чтобы просто продолжать писать свой гениальный код.
        • +2
          А здесь они тоже правы: маректологи неспособны управлять ни разработкой ПО, ни разработкой самолётов. Просто потому, что для успеха в этих делах нужно, как говорил Уэйн Гретцки «катиться туда, где шайба должна оказаться, а не туда, где она была» — а все подходы маркетологов заточены под выяснение и использование информации о том, где шайба находится здесь и сейчас.

          Заметьте, кстати, что пасечник должен хорошо разбираться в том как пчёлы делают мёд, но сам его он не делает: Стив Джобс «второго пришествия» был великолепным пасечником, однако сам не мог написать ни-че-го. Стив Баллмер же — отличный маркетолог: он присоединился к Microsoft тогда, когда она была крошечным стартапом и отлично себя зарекомендовал при толковом пасечнике. Но что случилось после того, как он получил бразды правления? Microsoft не развалился только из-за того, что у него была (и есть) очень крепкая монополия на пару продуктов. Компания без такого «допинга» уже бы была под Chapter 11 (а то и под Chapter 7).
        • 0
          Не каждая фирма способна выжить в условиях роста…
    • 0
      Интересно, а почему именно маркетологи управляют программистами? Почему нельзя сделать инверсию зависимостей? Например, программисты создают продукт, и дальше просто нанимают группу маркетологов: «Ребята, мы сделали шедевр. Всё, что вам осталось — это его продать. В итоге вы получите N буказоидов за старания плюс X% дохода с продаж». Т.е. думать о маркетинге не до, а после создания продукта. Когда он уже готов.
      • +1
        Программисты создадут продукт для таких же программистов и этот продукт обычным людям будет не нужен.
        Выбирать направление разработки должны бизнес аналитики, учитывая интересы компании и ее клиентов.
      • 0
        То, что вы предлагаете, напоминает опенсорсную модель… Где-то работает, где-то — нет…
        • 0
          И опять-таки, опенсорс жизнеспособен только тогда, когда есть приличная бизнес-модель. Примеры — RedHat, Canonical (и то очень долго была убыточной, далеко не сразу даже в ноль вышла), не так давно — Nginx. Остальное — либо for fun, либо на фулл-тайме у заинтересованных компаний.
      • 0
        Вы описали процессы внутри компании Крайслер, в которую после увольнения из Форда в 80-м году пришёл Ли Якокка.

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

        Рекомендую его книжку «Карьера менеджера», там про всё это есть.
    • 0
      Нормальная бизнес модель не ищется, а разрабатывается под существующие реалии, ОСОБЕННО когда технари уже выдают офигенский, продаваемый продукт. Просто 90% менеджмента идиоты без фантазии не креативны, и готовы лишь присобачить готовые шаблоны ко всему что движется.
  • 0
    Статья просто прекрасна. Я в восхищении.
  • –5
    По моему опыту сложнее всего научить пчел летать синхронно. И вообще управление программистами скорее напоминает работу воспитателя в детском саду, а не пасечника ))
    • +9
      Простите… Но с какой целью вы обучали пчел летать синхронно?
      • +4
        Если считать улей идеальным примером самоорганизующейся системы, как видимо пытается представить автор статьи, то нужно учитывать 2 вещи: 1) пчелы каким-то образом знают, что одним из них нужно собирать мед, другим — охранять улей, третьим — строить соты, четвертым — заботиться о личинках и т.д. По-видимому, в улее для этого есть королева, которая влияет на жизнь роя. По крайней мере ни одного роя без королевы в природе не существует. Можно считать её командиром, а можно — просто смыслом жизни для роя. Но факт остается фактом: в этой системе есть центральная фигура. 2) пасечник, строго говоря, никакого отношения к жизни роя не имеет, кроме того, что он предоставляет рою дом и тырит за это у пчел мёд.
        Сравнение «Лидера, который взращивал программистов» с пасечником поэтому кажется странным. А с королевой роя его сравнивать получится как-то не к месту )).

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

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

        Поэтому кстати вполне объяснимо, что «лидер, который взращивал программистов» всегда куда-нибудь уходит. Может быть, летит строить свой собственный улей, намучавшись с синхронизацией пчел и наглым пасечником? ))
  • +3
    Хочу обратить внимание читателей на то, что речь идет о софтверных компаниях, о конторах вроде Яндекс, Гугл, Касперский и тому подобное. Не технологическим компаниям вроде аутсорса такой улией не нужен, нужен конвеер. Так что прежде чем поддерживать подход в статьей нужно трезво оценить где ты работаешь, и что от тебя нужно.
  • +2
    Правда, они сбиты с толку — почему-то каждая новая версия программы теряет долю рынка, разрастается и обрастает багами.

    Наверно, надо сделать новый дизайн упаковки. Точняк.

    Сразу вспомнил:

    image

    И фраза: «А нормальное меню „Пуск“ так и не появилось»
  • 0
    Статья в тему! Особенно после услышанного мною на этой неделе. Маркетолог нашей компании сказал: «У нас может появиться партнер, который будет с радостью продавать вместе со своей продукцией и нашу. Но все что им надо это упоминание их продукта в титле нашей программы. Нам же ничего не стоит, давайте сделаем это и выпустим такую версию нашего продукта, специально для них». Если честно, то нихрена не понимаю, как можно радоваться титлу? Я еще согласен когда из нашего кода вызывается их программа или в результатах анализа наш продукт скажет «А вот дальше проблему можно решить с помощью программы… ». Но в чем кайф от упоминание в титле?
    • +1
      Это как надпись «Магнит» или «Aushan» на упаковках продуктов. Люди думают, что у магазина свое производство, что повышает авторитет продавца.
      • –1
        Если я копаясь во внутренностях современного автомобиля увижу вдруг на каком-либо чипе надпись Lenovo, то я еще могу допустить что они мысль о том что они производят электронику и для машин, но если увижу ее на покрышке или двигателе, то уверяю «авторитет продавца» ну никак не повысится!
        • +1
          Маркетологов не интересует лично Ваше мнение. Им важно мнение большинства. А большинство думает так: у магазина свое производство, значит работают без посредников, значит могут поддерживать низкие цены при высоком качестве.
  • –1
    Отлично! т.е. если не трогать кодеров, они сделают и будут поддерживать офигенский продукт? Ну-ну.

    Только так, к сожалению получается не всегда, и при условии, что кодер знает потребности рынка и сделает адекватный продукт. К сожалению, получается обычно наоборот, есть некий продукт, который отвечает потребностям рынка на 60-70%, и это если повезёт, и твоя задача как маркетолога или в моём случае product-manager'а, чтобы продукт продавался. Как говорят некоторые коллеги по сфере деятельности: «они накодят, а мы потом вы*бывайся, продавай ЭТО....»

    Только вот одна проблемка, такие продукты сделанные тру кодерами без маркетинга нафиг не нужны рынку и становятся очень самобытными. Знаю, проходили. И приходится ругаться, доказывать, что виноваты не сейлы те же, или партнёры, или презентаторы, а продукт и кодеры. И чтобы сдвинуть дело с мёртвой точки и начинается анализ конкурентов, составление road-map, согласование с маркетингом, участие в тестировании и руганье и требованиях по доделки и переработке, и планирование, планирование, совещания и прочее нудная и столь не любимая вами фигня.

    Так что не надо хныкать тут! :)

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