Экономика открытий и капец западного общества.

Март 18th, 2010

Мне тут кинули хорошую ссылочку про экономику открытий.

Для ленивых краткое содержание ссылочки (все таки рекомендую прочесть целиком).

Капитализм – «я – начальник, ты – ничто!»: капиталист имеет деньги, и за них имеет фабрику со станками и прочим. Поэтому он может гулять по фабрике в свободное время и раздавать пинки по зад ленивым рабочим, а те должны работать из последних сил за гроши, чтобы он мог обогащаться.

Социализм – «я – начальник, ты – дурак»: CEO, менеджер или там, секретарь парторганизации (а также их подчиненные – поскольку фабрика – большая) ходит по фабрике и раздает пинки под зад нерадивым работникам. Он фабрикой не владеет (владеет капиталист или «общенародное государство»), но производство уже настолько сложное, что владелец (капиталист или «общенародное государство») им напрямую управлять не может и нуждается в иерархической системе менеджеров.

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

Увы экономика открытий не была четко сформулирована. Так, что возьмусь на себя роль формулировки

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

В целом идея мне очень понравилась, но речь совсем не о том.

Три мысли

а) Роботизация на носу.

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

б) Полуискуственный интеллект на носу.

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

в) Роботизация + удаленный доступ = удаленное выполнение физической работы

Вы surrogate смотрели? Если да — то это как раз на эту тему.

Сейчас какому-нибудь водопроводчику в штатах приходится платить зарплату ну скажем $70k. С другой стороны, хорошо сделанный робот (за $10k) и водопроводчик из какой-нибудь маленькой бедной страны с хорошим интернетным доступом может вполне заменить дорогого американского водопроводчика.

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

Естественно это произойдет не за ночь, но скажем за следующие 20-30 лет.

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

Ну а дальше вывод достаточно прост
а) Если государство не берет их на попечение, мы получаем голодные бунты (в которых учавствует 30% населения).
б) Если государство берет их на попечение (думаю, что учитывая увеличение продуктивности оно сможет это сделать), мы получает сытые бунты (когда людям нечего делать, то они начинають буянить).
в) Современная демократия НЕ СПОСОБНА переварить 30% населения сплоченного по одному принципу и не направленная на развитие страны.

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

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

Занавес.

Программисты — дальнобойщики.

Март 16th, 2010

Специально, для любителей попкорна. Откинтись на спинку стула и получайте удовольствие от словесных боев.

Раскрою свою мысль чуть продробнее по поводу «Вообще, положа руку на область желудка, программирование в IT бизнесе имеет примерно такую же важность, как вождение грузовика в доставочном бизнесе. Да, без программистов (водителей) не обойдешься, но в результате sales и marketing рулят и бибикают.». А то, я чувствую, что множество людей (пример) не вдохновились от этой идеи 🙂

В этот раз размазывать сильно не буду. Просто dump всех мыслей подряд.

Мысль 1.

Когда вы идет в магазин и видите две зубных пасты по одной цене и одна Colgate, а вторая выпущена компание Вася и Ко — вы берете Colgate. Когда вам надо дать проект кому-то и по одной цене его делает IBM или Петя и Ко, вы выбираете IBM. Замечу, вы ничего не знаете о производстве (ни в Colgate, ни в Вася и Ко), ни о том кто будет делать проект и насколько они хороши (ни в IBM, ни в Петя и Ко).

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

Мысль 2.

Я видел кучу хороших проектов (с технической точки зрения), которые умерли из-за того, что они не делали sales.

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

Мысль 3.

Я видел идеи, которые продавали (инвесторам) без кода или с мелким и жутким прототипом.

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

Мысль 4.

Программистов нанимают по $200/месяц в Квалалумпуре пачками.

Sales нанимают поштучко, в штатах и платят им ну скажем $150k+ (больше чем программистам в штатах).

Мысль 5.

Те самые фирмы (Microsoft, Google, Apple, Facebook), о которых мы постоянно говорим (о их техническом развитии и их технократии и т.п.) возглавлялись только в самом начале программистами (в тот момент основатели были программистами). На самом деле Gates, Jobs, Page, Breen, Zuckerberg и иже с ними, исполняют гораздо-гораздо больше управленческих, продажных и маркетинговых обязанностей, чем программистских/архитекторских и т.п.

Мысль 6.

Я видел множество раз программистов работающих по 60+ часов в неделю, чтобы добить релиз.

Sales, хотя в командировках и напрягается, но остальное время (которого чаще всего прилично) редко задерживается после 5 вечера.

Мысль 7.

Поглядите Office Space, если вы его еще не видели.

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

А я сделаю все сам.

Март 10th, 2010

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

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

Вот что писал Young и Vitali.

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

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

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

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

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

Теперь возвращаясь к проблеме.

Думаю, очень многие думают примерно такие мысли «Я — эту задачу могу сделать быстрее, лучше чем любой кому я ее дам. Причем, если я кому-то ее  выдам, то мне придется за это еще заплатить, потом контролировать, чтобы все вышло как надо, объяснять как и что переделать, а зачастую по окончанию переделывать самом. Таким образом я больше времени потрачу на объяснения, контроль и переделки чем если сделаю это сам… Ура-ура… Я таки сам буду делать эту задачу.»

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

1. Я сделаю это задачу лучше чем другие (читай — выше качество и быстрее по времени, в целом эффективнее и дешевле)

2.  Мне придется платить за выполнение задачи (жаба давит).

3. Мне придется контролировать исполнение, давать задачи и просить отчеты ( выполнять нетипичную, плохо понятную и неприятную работу).

4.Я потрачу больше времени на объяснение, контроль и исправления чем сделать задачу самому (опять же — эффективнее).

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

1. Я сделаю это задачу лучше чем другие (читай — выше качество и быстрее по времени, в целом эффективнее)

Скажем у нас есть директор компании в 100 человек.  И он просто нереально крутой программист и может пофиксить баги быстрее всех.  Стоит ли ему НЕ ехать на подписание 10 миллионного контракта, а вместо этого очень эффективно пофиксить баги?

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

Слышу уже голос из зала «Но, блин, я же не директор компании на 100 человек и подписание контракта в 10M у меня сегодня нету. У меня нет стоимости потерянных возможностей». Так, вот, если все время фиксить баги и педалить код — стоимость ваших потерянных возможностей — это то, что вы никогда не найдете новых контрактов, не продадите ваш продукт, не станете директором этой самой компании из 100 человек. Вы же пишите код, а не разбираетесь в том, как продавать продукт/работаете с людьми, которые дадут отзывы на ваши услуги, ездите на встречи на которых может завязаться знакомство принесущее новый контракт. Вообще, усердное программирование один из самых потрясающих методов убить все потенциальные возможности.

Вообще, положа руку на область желудка, программирование в IT бизнесе имеет примерно такую же важность, как вождение грузовика в доставочном бизнесе. Да, без программистов (водителей) не обойдешься, но в результате sales и marketing рулят и бибикают.

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

4.Я потрачу больше времени на объяснение, контроль и исправления чем сделать задачу самому (опять же — эффективне).

Вот с этим все обстоит сложнее.  И так и так вы считаете, что вам придется тратить время.

Однако, тут важно остановится, положить руку на область желудка и признаться себе в двух вещах

— задачи с которыми знаком и которые нравятся обычно недооцениваются по времени

— задачи с которыми плохо знаком и которые не нравятся оцениваются слишком высоко.

Именно из этого и выходит, что-нибудь в виде: » … да я этот графический редактор я сам напишу за 2 дня, а вот если мне придется объяснять и контролировать, то у меня на это уйдет 2 недели».

Так, что тут желательно таки честно взглянуть и оценить, сколько может уйти времени на исполнение, а сколько на контроль. Относительно «придется все доделать и исправлять» — чуть позже напишу. Кстати, если на контроль выполнения у вас уходит больше чем несколько процентов (ну скажем 5) от времени исполнения, то это значит, что контроль вероятней всего тоже надо делегировать и контролировать того, кто занимается контролем.

3. Мне придется контролировать исполнение, давать задачи и просить отчеты ( выполнять нетипичную и неприятную работу).

Да — придется.  И к этому надо привыкнуть.

Бизнес — это не сладкая река в которой можно делать только то что хочется (педать сверхмощную архитектуру для никому не нужного проекта).

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

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

Такс… Много уже текста написал, а толком ничего не сказал.  Так, что перейду таки к пункту что делать.

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

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

Замечу, что фактически все руководители (включая меня) страдают тем, что один из этих пунктов выпадает.

Первая классическая ситуация (плохая подготовка задачи) — «Вася, пойди выкопай яму», потом обнаруживаем, что он выкопал ее не в том месте и не той глубины и не в те сроки.

Вторая классическая ситуация(плохой контроль в ключевых точках) — «Вася, яму надо выкопать метр, на метр, на метр, к следующему понедельнику (через неделю)».  Через неделю привозим цемент заливать в яму, а ямы-то и нету, так как Вася забухал. А мы не удосужились потратить 5 минут выглянуть из окна, как движется яма.

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

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

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

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

в) А как же вера в кадры?

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

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

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

г) Делегирование больших задач

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

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

По этому поводу несколько советов

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

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

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

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

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

Фух… Ну вот вроде и все, что хотел сказать. Как писал в начале. Вышла длинная колбаса.

С удовольствием отвечу на какие-то конкретные вопросы и приму замечания.

Считалочки.

Март 5th, 2010

Эники Беники ели вареники
Эники Бэники клёц!
Вышел зеленый матрос.

Знакомо? 🙂

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

Слегка формализированные правила считалочки.

1) Пусть у нас есть N человек

2) И у нас есть считалка длинной в M слов.

3) Начинаем считать с первого человека, по одному слову на человека.

4) Человек на котором считалка закончилась выбывает.

5) Считалка продолжает считаться с следующего после выбывшего, повторяя пункт 4 и 5.

6) Оставшийся последним человек — выигрывает.

Задача:

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

5 баллов — программа может рассчитать выигрывающего при N и M < 20.

10 баллов — программа может рассчитать при N < 20, а M порядка 1 триллиона (не фига себе считалочка), за разумное время.

25 баллов — программа может рассчитать при N порядка 1 миллиарда, M < 20, за разумное время.

50 баллов — программа может рассчитать при N и M порядка триллиона.

Если вы знаете/придумали решение на 50 баллов, прошу сразу его не бросать в комментарии, а просто написать что вы его знаете (чтобы дать остальным подумать).

Остальные решения вполне welcome в комментариях 😉

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

P.S.  Как оказалось, задача классическая (просто я с ней не сталкивался). На момент написания статьи, я знал решение на 5 и 10 баллов, примерно имел идею на 25 баллов и не знал, как решить на 50 баллов.