От хорошего к великому.

Сейчас читаю книгу «Good to the Great». Группа товарищей провела достаточно интересно исследования, пытаясь найти общие составляющие успеха компаний, которые долго (эдак лет 15) сидели в хороших, а потом внезапно превратились и остались великими компаниями.

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

Бр… Что-то куча мыслей в голове теснились, а статья выходит пресная как печенье из одной муки и воды. Так, что заход второй.

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

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

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

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

65 комментариев to “От хорошего к великому.”

  1. Не знаете великих — в смысле, лично? Потому как иначе Торвальдс, на мой взгляд, вполне походит, после git, который он сделал как раз не так как все и оказался полностью прав. См., например, вот эту заметку

    http://wincent.com/a/about/wincent/weblog/archives/2007/07/a_look_back_bra.php

    и сслылку там на разговор Торвальдса и Коэна (Codeville/BitTorrent), где Коэн видит смысл контроля версий в сложных алгоритмах слияния, а Торвальдс видит то, чего не видит пока никто.

    • Victor Ronin:

      Не знаю — именно лично. И честно говоря, это слегка напрягает.

      Все таки одностороннее общение, через книги, не самая интересная вещь.

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

  2. (Кстати, вы не пользуетесь плагином Akismet против спама? Он прозрачен для пользователя, и вроде как неплохо работает, хотя я это сужу по форуму, который бомбят главным образом классическим порно-мусором формата «тыща ссылок», его, наверное, легко определять.)

  3. Зря вы точки в заголовках ставите — это не принято.

  4. point:

    Программирование — это сугубо прикладная область. Тут не может быть «великих» людей, как не может быть великих токарей, например. Даже приведенный выше уважаемым Михаилом Едошиным Линус Торвальдс тоже не может быть причислен к лику великих. Он всего лишь решил очередную прикладную проблему, остро вставшую перед разработчиками linux-ядра. В принципе, это мог сделать каждый, пораскинув мозгами некоторое время. Тут уместней применить слово «професионал».Он сделал это максимально эфективным методом, возможно как не догадывались решать такие проблемы раньше. Это признак именно професионализма.

    Но всё таки в нашем роде деятельности есть великие люди. Просто надо взглянуть с другой стороны. Эти люди — математики: Кнут, Кормен, Ривест… Их достаточно много. Без их многолетней работы невозможно представить программирование.
    Отсюда выводы.
    Во-первых. Очень хорошему программисту есть куда расти. Это исследовательская область, математика. Благо, нерешенных классов задач там уйма.
    Во-вторых. Великие люди (опять таки математики) исследуют проблему годами, выискивая оптимальные пути решения, приводя доказательства своих теорий. Тут не может быть мгновенного результата. Это многих отпугивает. Да и склад ума должен быть правильно сформированный.
    В-третьих. Те, кто не решился расти в теоритическую область, перебегают в смежную. Зачастую, это бизнес, управление. Разного рода менеджеры, руководители проектов и т.д., где есть пока куда расти.

    • Victor Ronin:

      >Программирование — это сугубо прикладная область. Тут не может быть “великих” людей

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

      >Он всего лишь решил очередную прикладную проблему, остро вставшую перед >разработчиками linux-ядра.

      Хитрость состоит в том, чтобы
      а) увидить проблему
      б) придумать к ней нестандартное решение

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

      >Во-первых. Очень хорошему программисту есть куда расти. Это исследовательская >область, математика. Благо, нерешенных классов задач там уйма.

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

  5. Rush:

    Насчет «остались великими» большой вопрос. Сам совсем недавно прочитал эту книгу, особенно занятно было читать про «великую» компанию Fannie Mae.
    Вот здесь интересная информация по книге, критикующей Колинза:
    http://expert.ru/printissues/expert/2008/42/interview_i_vam_budet_uspeh/

    • Victor Ronin:

      Ну, остались велики — это же не значит, на всегда до окончания времен.

      Скорее достаточно долго, чтобы не считать это случайностью.

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

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

  6. По вышеприведённым критериям, великий программист — Rickard Oberg.

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

    Это он сделал популярным аспектно-ориентированное программирование, вывел на новый уровень сервер JBoss, создал систему XDoclet, фреймворк WebWork, сейчас работает над «истинно объектно-ориентированным» решением QI4J.

    Коллеги назвали его «национальным достоянием Швеции», последователи советуют читать всё, что он пишет.

    • Victor Ronin:

      Согласен. Вероятнее всего он таким и является. Поеду в Швецию, знакомится лично :))

      • Когда-то Rickard сказал: «Yes, it would be hard for me
        to do «normal» work, ’cause my managers would think I was lazy doing
        lots of nothing.
        »

        Edward Yourdon добивался от тысяч слушателей ответа на вопрос: что свойственно хорошему программисту? Говорят, что чаще всего высказывалось такое мнение: хорош тот программист, с которым руководству спокойно.

        У меня отсюда такой вывод: путь от хорошего к великому — это не «вверх», а «вниз, в сторону и вверх-вверх-вверх», выбираясь из ловушки локального максимума.

        • Victor Ronin:

          Пожалуй, я и подразумеваю это под другим мышлением.

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

          • Для «подныривания», по-моему, неплох метод Five Whys.

            • Victor Ronin:

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

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

              • Согласен.

                Я имел в виду использование Five Whys для той части «подныривания», которая «вниз», для того, чтобы определить, какие ресурсы активны в текущей ситуации.

                Ответить на вопрос «что делать» — это, по-моему, определить вектор смещения «вбок». Последующее движение «вверх, вверх, вверх» это уже не «отвечать на какой-то вопрос» а просто «делать, делать, делать!»

                Как же найти тот самый вектор смещения?

                Я считаю, что можно «вывернуть наизнанку» методы решения конкретных задач и достижения конкретных целей: TOC, TRIZ, Lateral Thinking и т.п.

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

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

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

                • Пример: 1989 год. Разработчики Microsoft в процессе совместной с IBM работы над OS/2 обнаруживают новые возможности использования защищённого режима процессора 80386. Этот новый ресурс приводит к тому, что участие Microsoft в создании OS/2 прекращается (движение «назад»), уступая место работе над Windows 3.0 («вбок и вперёд»)… и вот теперь «имеем то, что имеем».

                  Другой широко известный пример, с «Планом Б» — история Flickr. Сервис, который зародился в качестве элемента онлайн-игры. Игра «не выжила», а Flickr выжил сам и выжил других 🙂

                  • Victor Ronin:

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

                    Хотя без примера, я честно говоря не вкурил, о чем шла речь.

                • Возвращаясь на уровень преобразования мышления, получим «почти рекурсивный» рецепт: от мышления вида «вверх» двигаться не вверх, а вниз-вбок-вверх к мышлению вида «вниз-вбок-вверх» :-))

                  • Victor Ronin:

                    Вот, такая вот жизнь как у крабов выходит, то вниз, то вбок, то вверх ;))

        • Victor Ronin:

          >“вниз, в сторону и вверх-вверх-вверх”

          Сказывается Го :))

          • :-))

            Точно-точно.

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

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

            • Victor Ronin:

              Интересно, надо будет почитать.

              Искренне сожалею, что нету времени более менее серьезно заняться Го.

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

              • Вот здесь интересный обзор системы «игрок-игра» по мере совершенствования в Го.

                • Victor Ronin:

                  Я где-то остановился на грани между полным и неполным хаосом :)) То бишь 25kю.

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

                • Victor Ronin:

                  Похвастаюсь, а то больше некому 🙂

                  Вчера решил вспомнить молодость, сыграть пару партий в ГО. Пошел на IGS сервер, ну и сыграл.

                  Первую партию играл против 15k (на 3 камнях форы), причем настоящего, ну и он меня разгромил. Это было не деление территории, а избиение младенцев.

                  А вот, вторая партия было против 16k (тоже на 3 камнях форы), но похоже игрок был только слегка сильнее меня (явно не 16k) и была мощнейшая борьба, в результате которой две его крупных группы убил, причем впервые не случайно, а таки более менее целенаправлено это сделал. Получил массу удовольствия.

                  Кстати, ты не подскажешь, чего можно почитать по ГО, именно для таких зеленых начинающих, как я?

                  • Roman Porotnikov:

                    Случайно запостил ответ в основную ветку. Что-то у меня сегодня с capthca неладно — отправил раза с пятого… и не туда :-))

                    • Roman Porotnikov:

                      Даже слово «captcha» не выписывается с первого раза :-))

                    • Victor Ronin:

                      Бывает ;))

                    • Roman Porotnikov:

                      Чтоб не потерялось, дублирую здесь:

                      Хорошо почитать «10 заповедей Го» (автор Отакэ Хидео). Книга небольшая, есть в интернете. А вот здесь — несколько вариантов осмысления этих заповедей.

  7. TVV:

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

    • Victor Ronin:

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

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

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

      >а когда же Вы почувствовали, что являетесь хорошим программистом?

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

      >Через сколько лет после начала карьеры? “Виноват” ли в этом какой-нибудь Ваш проект?

      гораздо до начала карьеры. Это было еще в школе. Проектов тогда было много. :))

  8. В качестве дополнительного материала о том, как выйти нановый уровень — две книжки с похожими названиями (по ссылкам мои рецензии на них):
    — «Маверик» Рикардо Семлера
    — и «Маверики в деле» Уильяма Тейлора и Поли Лабарр

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

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

    В любом случае, желаю удачи в этом нелегком деле!

    • Victor Ronin:

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

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

      То есть люди скорее скапливаются внутри «ступеньки», и достаточно мало на границе ступеньки.И вот эти границы — и есть грани.

  10. куку:

    >>как заставить себя мыслить на другом уровне.
    серьезная проблема. реально.
    тут две под-проблемы :
    — а оно действительно надо ? не то что я знаю как «переключить» мозги, просто если даже это теоретически возможно, не факт что это будет «полезно» — бизнес-мышление и программерское мышление это в некоторых условиях взаимоисключающие вещи и «переключившись» просто перестанешь быть программистом, возможно перестанешь быть «хорошим программистом», возможно это будет доставлять дискомфорт и психологические проблемы

    — сам «переход» — ну тут на первых порах возможно поможет «имитация» бизнес-мышления — полюбить деньги (я не шучу), смотреть на мир с точки зрения денег, себестоимости, бизнеспроцессов … через полгода бизнесмышление вытеснит любое другое мышление и все … переход совершился

    • Victor Ronin:

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

      Естественно бизнес мышление заставит решать многие проблемы по другому.

      Деньги я уже люблю, и смотря таки с точки зрения себестоимостей, процессов и т.п.

      Важно именно слово __другом__ уровне. То есть, уровне, где я буду себя чувствовать более серьезным бизнесменом, с хорошим подходом.

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

  11. Бывает, даже самые талантливые «отличники» ничего не достигают, троечники способны взглянуть на ситуацию с новой стороны и поработить мир!

    • Victor Ronin:

      Чаще всего это правда, когда говоря о троечниках в математике и их удачах в жизни.
      Или отличников в русском языке и из неудачах в бизнесе.

      Все же, отличнике в бизнесе, чаще всего достигают многого в бизнесе.

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

    • Victor Ronin:

      Ну. если у человека хватка + интуиция + добивается своего — так это значит он и есть хорошист/отличник в бизнесе. :)))

      Мы ж говорим не о школьных оценках.

  13. Бизнес это школа жизни,значит выходит что говорим о жизненных оценках и ошибках.Я согласин с этим высказыванием (Бывает, даже самые талантливые “отличники” ничего не достигают, троечники способны взглянуть на ситуацию с новой стороны и поработить мир!)

    • Victor Ronin:

      >Бизнес это школа жизни

      Все же бизнес — это не школа жизни. Бизнес фактически еще одна профессия требующая определенных навыков.

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

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

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

  15. Dyatel:

    Как вариант пойти на postgraduate учёбу — бизнес/манагемент/MBA, что бы там не говорили некоторые, их выводы не от большого ума, а скорее от маленького опыта 🙂

    • Victor Ronin:

      У меня кстати была такая идея. Хотя тут есть три «но»
      а) Это все таки 1.5 года постоянной учебы или где-то 3.5 года полностью убитых выходных и вечеров.
      б) Это 30k долларов за учебу
      в) То, что некоторые говорят — достаточно близко к правде.

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

      В остальном же, можно купить 20 книг по которым занимаются MBA и осилить их гораздо быстрее чем за 3.5 года, без необходимости еще и за это 30k платить. Но конечно пункт а) это не решит.

      • Dyatel:

        >> То, что некоторые говорят — достаточно близко к правде.

        я бы поспорил, но поскольку в большинстве этих «некоторых» случаев это спор о «вкусе креветок», с аргументами опирающихся на чьи-то книги и статьи — ну как бы это несерьезно 🙂

        Образование это образование — было, есть и будет.

        • Victor Ronin:

          C последней фразой полностью согласен. Правда я в нее скорее вкладываю отрицательный смысл. 🙂

  16. Roman Porotnikov:

    Хорошо почитать «10 заповедей Го» (автор Отакэ Хидео). Книга небольшая, есть в интернете. А вот здесь — несколько вариантов осмысления этих заповедей.

    • Roman Porotnikov:

      Прокомментировал не в той ветке… но в общем-то сюда тоже подходит 🙂

  17. BB:

    О-о-о, знакомые мысли.
    Для того, чтобы делать по-другому, надо думать по-другому, быть бизнесменом — думать как бизнесмен.
    Чтобы быть великим, надо думать как великий.
    А вопрос «Как начать думать именно так?» скармливается подсознанию дня на три 🙂

    • Victor Ronin:

      Ну, насчет скармливается подсознанию дня на три… Я бы прост был счастлив, если бы мое подсознание за 3 дня выдавало нужные ответы на такие вопросы.

      А то обычно выходит как в анекдоте:
      скачет ковбой по пустыне и вдруг на него нападают индейцы
      он пытается удрать но они постепенно начинают его нагонять
      он отстреливается до предпоследнего патрона и решает им застрелиться
      про себя думает-ну все ,п@#$%ц — и тут внутренний голос говорит:
      -нет,еще есть выход-застрели вождя!
      он застрелил вождя и спрашивает- а что теперь?
      внутренний голос отвечает — вот теперь тебе точно п@#$%ц!

  18. Кстати, очень в тему смены восприятия программист-бизнесмен интервью с Алексом Орловым (автором «Секретов управления программистами» и happy-pm.com) на тему своего бизнеса.

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

    • Victor Ronin:

      М… Не совсем согласен с обеими утверждениями.

      >Качественные изменения без количественных не возможны.

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

      >хорошего к великому происходит все равно безконтрольно и рецептов нет.

      Почему вы так считаете?

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

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

    • Victor Ronin:

      Я согласен, что невозможно предсказать когда произойдет переход.
      То есть нельзя сказать, мне еще нужно прочесть 3 книги, сделать то-то и то-то и я стану великим.

      Однако, модно двигаться в нужном нарпавление и в ненужном. И я скорее говорил именно об этом. То есть контроль не сроков, а направления.

  21. работа:

    Вот тут полностью согласен. Действительно важно делать не просто что то а именно то что нужно. Вот еще бы узнать когда и что нужно делать 🙂

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

  23. Всегда так случается, делаешь хорошо — становишься великим.

  24. >>> И вот эта книга натолкнула меня на одну, с одной стороны не слишком приятную, с другой стороны важную мысль. Как человеку переходить с одного уровня мышления на другой?

    У меня есть ответ на этот вопрос. Приглашаю Вас на свою лекцию!
    До конца февраля каждую среду я веду цикл лекций. Русская школа Го и Стратегии. Вход свободный, чай, центр, Остоженка, вечер.

    • Victor Ronin:

      Игорь, большое пасибо 🙂

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