0,0
рейтинг
5 февраля 2015 в 20:47

Разработка → Философия программирования 4 — Технология «Шапито»

Представьте себе конвейер с программистами: сели люди за одним круглым столом, один огромный монитор во всю стену, и у каждого ещё свой обычный.

Первый: тоном капитана звездолёта, — нужна функция connectToDB() в главном файле.
Второй: — открываю — открывает нужный файл, находит функцию.
Первый: — что здесь происходит?
Третий: — запускаю — ставит брейкпойнт, запускает приложение, в момент останова произносит: — dbinstance в порядке — выводит значение на экран --, remotePort равен 8999, — это значение тоже видно на экране.
Первый: — странно, надо бы профилировать этот вызов.
Третий: — ок — диктует четвёртому — новая строка 123 console.time(), 125 console.timeEnd()
Четвёртый: набирает, — готово.

Третий: запускает, — время исполнения этого блока 150 миллисекунд.
Первый: — а-а-а, всё ясно, убираем тулинг профайла, добавляем комент, что в этом месте была такая проблема, меняем все случаи появления переменной checkRemote host port на checkLocalPort port, — прихлёбывает чайку с вареньем.
Второй: находит с помощью поиска все искомые вхождения.
Четвёртый: заменяет проблемные участки.
Пятый: — мне надо комент запилить.
Второй: — да, — открывает снова функцию.
Пятый: — пишу, что надо всегда проверять localPort — вбивает коммент, — готово.
Шестой: — коммичу, — набирает git commit -am «исправлен баг 1827 с подключением к серверу базы данных», git push.
Седьмой: молча прогоняет все тесты но новом коммите, вносит замечания в баг трекер.
Восьмой: — пришёл коммит из питерского оффиса, и апдейт вижуал студии докачался.
Первый: — хорошо, ставь апдейт, потом мержим и прогоняем. — прикусывает печенье, запивает чаем с вареньем.

Такие вещи наблюдаются в MMORPG: воин, маг, стратег, защитник, лекарь, вор. А в программировании менеджеры бы уже давно внедрили конвейер, но, программиста невозможно превратить в механика, он остаётся творческой личностью даже в условиях сверх-узкой специализации. Для капитала, – это проблема, но для самих программистов, – это хорошо. Программист как бы его не форматировали, остаётся похож на сценариста: сижу пишу сценарий боевика, двадцать тысяч человек и двести миллионов долларов ждут пока у меня всё будет готово. Отсюда были выдуманы Java, C# и Haskell – чтобы отформатировать программиста ещё и ещё сильнее. То есть язык программирования уже давно не только инструмент в руках программиста, но и инструмент управления программистом, вписывания его в конвейер.

Конвейер, это же что такое, это – когда роботы собирают джипы. Ага, если бы. Проще научить человека простой операции, чем сложному комплексу операций. Одно дело когда вам надо обучить десять обувных мастеров делать обувь от начала до конца, и другое дело научить каждого одной операции. Посчитайте, если не лень, какое масштабирование. Получается, что обучить тысячу человек для конвейера займёт времени почти столько же, сколько и одного специалиста полного цикла. То есть, конвейер возник задолго до роботов, и суть конвейера: «софт-технология», технология организации и обучения людей. А организация собственно, это частный случай обучения. Специализация неизбежна. Уже сейчас в вашей фирме может быть человек, который пишет только UI код, или моделит только пушечки. Но пока-что программист остаётся «звездой», в том смысле, что его труд уникален и является произведением искусства, и ещё программисту надо постоянно «продавать себя», убеждать других в том, что его код хороший.

Конвейер это не единственная «софт-технология». Проблема в том, что мы как раз сильно отстаём в этих разных «софт-технологиях». И я не только о «управленческих технологиях» или «технологиях обучения». Попробую объяснить. Когда в Европе уже в каждом городке издавали газету, в России ещё писари не стали сословием. Это пытался исправить Пётр, есть такой термин – вестернизация. Но суть вестернизации не в том, чтобы одеться по европейской моде, а в том, что из общества, где все мыслят одинаково, – моно сознание, – превратиться в общество, где люди копают каждый в свою сторону. Пока один строгает корабли, другой сочиняет сонеты. Вроде бы. Но нет, это ещё не оно. Можно остаться моносознательным обществом, и просто назначить людей на разные задачи. Что у нас и происходит, по сей день. На западе тебя не назначают делать корабли, ты сам придумываешь, нет, не корабли, а само это задание. Самостоятельность в поиске заданий. Я не говорю, что это хорошо. Просто так оно устроено, я показываю пальцем на факт. Но назначить людей можно только на те занятия, которые уже кто-то придумал, то есть всегда будет отставание от тех, кто, собственно, придумал.

Как же так у них получилось? Дело в конкуренции, но не в той конкуренции, про которую нам рассказывали сказки во время перестройки, где все радостно соревнуются на честной основе, соблюдая правила и законы, а в той конкуренции, где ты перегрызаешь глотки – чтобы выжить. Врёшь, изворачиваешься, совершаешь подлости, улыбаешься, а затем – бьёшь в спину. Но этого мало, иначе бы у нас не было технологического отставания. Тут есть ещё один момент. Групповая конкуренция. Высокоорганизованные группы конкурирующие друг с другом. И их высшая форма, которую я называю – «шапито». Можете называть это «братством кольца», «друзьями Оушена», «пиратской командой». У нас это называется просто «банда» или «разбойничья шайка», разумеется с негативным оттенком. Суть в том, что конкурентные особи, каждый из которых привык всем перегрызать глотки, выживать, доминировать в любом сообществе, или хотя бы просто обладает высочайшей квалификацией – собираются вместе, в одном «шапито», в одной шайке. Они вместе выполняют задание, «проходят левел», «добывают Эскалибур и прочие няшки включая золото и XP», и разбегаются. Сама такая группа состоящая из конкурентноспособных особей со своими специализациями превращается в высоко-конкурентноспособную единицу. То есть это не просто банда, а банда состоящая из главарей банд, для нас нечто невообразимое, а на западе – ключевая форма организации на протяжении сотен лет.

Как это ни печально, тут мне придётся сделать маленькое отступление, и показать, что такое традиционное общество, где ничего подобного нет, и даже если и возникает, то не приветствуется. Вот вам папа говорит в детстве: «так не делай, не хорошо». А откуда он знает, что хорошо, а что плохо? А ему тоже папа сказал. И все эти папы и дети – думают одинаково. Великий общественный мега-мозг. Всей страной смотрим под новый год про то, как пацаны пошли в баню. В какой-то момент, этот мега-мозг, традиционный социум, понимает, что чтобы разруливать внутренние конфликты и бороться с внешними врагами, ему нужен лидер. То есть надо сплотиться вокруг царя. Царя взять негде, все же одинаковые, вот и начинается «придите и владейте» гости дорогие, Рюриковичи наши. Все участники настраиваются на лидера как на камертон, как на генератор новых идей. Если у вас возникла новая идея, вы, опять же, идёте к царю и её докладываете. А он её принимает и транслирует в общество сверху, или отбрасывает. Кстати, «традиционное общество», это термин, гуглируемый и так далее.

Успешные западные стартапы, айти компании, по крайней мере, в момент создания, это шапито, банды пиратов. Джобс реально поднял пиратский флаг над своим офисом в какой-то момент. Пираты силиконовой долины. Это не оборот речи, это – технология. В России, айти фирмы поголовно – традиционные общества. Все думают одинаково, есть царь. Конечно, немного утрирую, но по сути то так и есть. На самом деле, есть промежуточная стадия, – профессионализм. Это тоже технология. Это уже не совсем традиционное сообщество, но ещё не «шапито». Профессионализм это когда тебя берут в коллектив, ты должен быть его частью, в традиционном смысле, быть как все, но при этом от тебя нужны только твои «компетенции», ты как человек, как личность, можешь быть совершенно свободен, это никого не интересует, хоть в носу ковыряйся, но в момент контакта ты должен быть отформатирован и обезличен. То есть тебя делят на две части, с одной делай, что угодно, а с другой, профессиональной, будь строго таким как надо.

Но в России, даже профессионализм, – зачаточный, люди только осваивают основное свойство профессионала – создание законченных высказываний. То есть вы вы общаетесь с человеком, как со своим, постепенно приходя к пониманию друг друга, на эмоциональном, бытовом уровне. Профессионал же, общается на уровне законченных высказываний, такое общение не требует никакой родственности и вовлечённости, но и высказывания должны быть цельными и законченными. Не «я пытался это сделать, вроде, что-то получается», «ой, Миш, давай потом поговорим, пока ничего не ясно, но вроде готово», а «ситуация на четверг такова: пункты два и три задания 123 выполнены, предполагаемое время полного завершения – следующая пятница», «я столкнулся с непредвиденными сложностями при выполнении пункта 5, обговореный срок исполнения будет сорван». Те кто с этим сталкивался, поймут о чём я, причём сразу, слёту – это больная тема для всей индустрии. Вместо того, чтобы разговаривать с человеком, как два высоко разумных существа, мы предпочитаем «снюхиваться». Давайте обсудим по скайпу. Ну давайте, что с Вами делать. Необходимость чётко сформулировать положение дел, вызывает у человека головную боль. Обычно годик работы с западным заказчиком решает.

Важная особенность «шапито» в том, что выполнив задание, награбив караваны, например, люди «разбегаются». И разбежавшись они сколачивают свои банды, группы, создают новые компании. И в них переносят все технологические прорывы, которые получили в этом задании, в предыдущей группе. Размножение делением и почкованием. Любая современная корпорация, или мега-корпорация, это традиционное общество в своей нижней части, но наверху, всегда – банды шапито. Это пираты, они создают или захватывают корпорации, грабят их или модернизируют, продают и покупают, распадаются, разделяют, соединяются и соединяют. Это совершенно другой мир, и очень непрозрачный. Внешняя, официальная сторона, как правило никак не раскрывает членов этой «банды». В России хватает конкурирующих до смерти групп, но они все устроены по принципу волчьих стай, «вместе в качалку ходили». Крайне редко они вообще меняют структуру, разделяются, и то с конфликтом и страшным шоком для всех. «Шапито» подразумевает, что люди, часто незнакомые быстро собрались, сделали дело и разбежались. Технологично.

Главное, конечно, уметь общаться с равными, ведь начальников и подчинённых у нас более чем достаточно, одни умеют подчиняться, другие командовать. Меня просто бесит, что сколько раз я не пытался общаться с талантливыми людьми в интернете, авторами интересных программ, библиотек, или организаторами сообществ, сайтов, общение всегда с их стороны дико тормозится потому, что они ждут что или я их возглавлю, дам работу, и они будут подчиняться, (это «дело» сразу), или наоборот, буду подчиняться им, «поступлю в распоряжение», тоже «дело». Это – каменный век общения. Культуры общения на равных нет вообще, – это считается пустой тратой времени. Ну или тогда личная дружба, то есть никаких законченных высказываний, никаких алгоритмов общения, будем «снюхиваться», «бухать вместе». А оно надо?

Джобс, который «непонятно чем конкретно занимался», на самом деле внедрил технологию шапито в разработку айти проектов. Сначала он применял её интуитивно, пиратский флаг над офисом вывешивал, но после работы в голливуде, который весь работает по принципу шапито, антрепризы, project-oriented-production, он стал осознано работать над новыми проектами в Яблоке как работают над голливудскими проектами: собирается банда пиратов, разношёрстных талантов, но не просто в одном месте на зарплату под руководство, а ПОД ПРОЕКТ. Дэдлайн проекта, это одновременно дэдлайн роспуска шайки, все силы концентрируются на сценарии, потом на съёмках, потом на постпродакшене, только в Яблоке это было применено на их айтишных аналогах. Выпуск очередного Мака, это как создание фильма. Это решает многие проблемы, не хочу в детали вдаваться, но например, вы не можете себе позволить взять в свою фирму лучшего в городе дизайнера, но вы можете его пригласить на один проект, с чётким дэдлайном. Продвинутые «бандиты» давно поняли, что создавать банды, пробивать один проект и сдавать его традиционалам, не только веселее, но и выгоднее, чем вцепиться в одно предпринятое дело и тянуть его традиционными способами долгие годы. Основал как Джеф Атвуд Stackoverflow, или как Том Престон-Вернер, о котором я уже писал, GitHub, получил своё, – сдал «обычным людям».

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


Группа «шапито» в роли группы «шапито»
Философия программирования
6: Продукт и Проект
5: Реактос и Колибри
4: Технология «Шапито»
3: Чичиков и программиат
2: Миф и язык
1: Трёхнаправленное программирование
Яков Судейкин (Нивин) @4p4
карма
59,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

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

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

  • 0
    Внутри традиционной организации уже есть конкурирующие группы. Равные люди самостоятельно притягиваются друг к другу. Можно начать с формирования групп под проект из имеющихся бандитов, которые станут главарями банд.
  • +3
    Йо-хо-хо! Спасибо!
  • 0
    Группа «шапито» в роли группы «шапито» :)
    — отличны анти-пример ко всей статье: Ваша статья начинается с «классного» передергивания — центром банды, как бы, является коммуникация внутри, хотя по сути IT-ишники, у Вас, выполняют роль обезьянок, посаженных за мониторы и обслуживающие средства разработки. Да, если нужен симулякр деятельносли / шоу, то «шапито» — вполне подходит (как Ваш пример: группы «шапито» симулячили тупой голивудско-шаблонный сценарий, главный результат которого — сняться для постера).
    Для получения другого результата (например: сопровождение «г… о-кода») нужны другие средства и методы (как минимум, непрерывное финансирование, что группы «шапито» обеспечить не может, нет приемлемого результата ...)
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Ошибка в слове «работать»: проходить тесты — не значит, обеспечивать функционал, да и форматеры кода не сделают код осмысленнее. А следующая команда будет либо «пииии-и» на каждой строчке сопровождая, либо перепишет, добавив еще и свои баги :( Что будет " здесь и сейчас" — «срубить» побыстрому и свалить подальше от подобных проектов: у яблочников текучка в 2000-х была веселой (да, я не знаю IT компаний с низкой текучкой)
        • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Тоже мне «антипример». Всё это наше айти тот же самый симулякр и шоу, что и «группа шапито в роли группы шапито», а эта самая группа, вложив 90 миллионов в кино заработала 206 миллионов, каждому бы проекту такой КПД.
  • НЛО прилетело и опубликовало эту надпись здесь
    • +3
      Я такое массово не наблюдаю. Зайдите в любую комнату, где сидит хотя бы 10 программистов и попробуйте поделить их на «забитых парней» и «ялучшевсехвсезнаю». По моему опыту, в основном встречаются нормальные люди, адекватно оценивающие свои способности и не забывающие о своих интересах.
  • +2
    «Шапито» подразумевает, что люди, часто незнакомые быстро собрались, сделали дело и разбежались. Технологично.

    Мне решительно непонятно, какое такое дело в IT сейчас можно сделать и разбежаться?

    Может быть, это было возможно лет 30 назад, задолго до эпохи интернетов и цифровой дистрибуции: написали игру для консоли, зашили в картирижи, распродали — mission complete. Даже если в игре и есть баги, недоработки — ничего уже не исправить: поезд уже ушёл.

    Сейчас же всё немножко по другому: все норовят выдать в мир первую версию продукта как можно быстрее и потом править баги на лету, учитывать пожелания клиентов, выкатывать свежую версию и так повторять до упаду. Гибкие методологии разработки, которые массово используют в индустрии — они итеративны. В идеале, это бесконечный цикл. На практике цикл крутится пока это целесообразно. Так когда же наступает этот волшебный и волнительный момент «сделали дело», чтобы потом с чистой совестью «разбежаться»?
    • 0
      Кульминация наступает, когда приходят «большие дяди» традиционной ориентации и покупают весь проект с потрохами за хорошие деньги. Тогда все пираты идут с полными сундуками пиастров искать счастья на воле, а те, кто душой прикипел к проекту, остаются тянуть лямку. Например, Mojang. Хотя там и так было видно, кто пират в душе.
      • 0
        Дело в том, что в финансовой среде пиратские шайки тоже имеют место быть. Кажется у Монти Пайтона была такая сценка, как пираты берут на абордаж корпоративный небоскрёб. Любая корпорация, это как город или деревня, живёт себе и ждёт пока её какая-нибудь шайка захватит, разграбит или просто возглавит. Причём как правило «население» корпорации кроме самой верхушки вообще ничего не заметит. А потом вдруг браузер переходит на новый движок и меняет всю адженду.
        • 0
          Да-да, были таки пираты из Crimson Permanent Assurance Company. В их случае всё ещё интереснее, потому что они захватили власть изнутри, подняв бунт.
  • 0
    Продвинутые «бандиты» давно поняли, что создавать банды, пробивать один проект и сдавать его традиционалам, не только веселее, но и выгоднее, чем вцепиться в одно предпринятое дело и тянуть его традиционными способами долгие годы.
    А как же новые веяния: «Продукты, а не проекты» и «вы разработали, вам и поддерживать», упомянутые тут?

    Основал как Джеф Атвуд Stackoverflow, или как Том Престон-Вернер, о котором я уже писал, GitHub, получил своё, – сдал «обычным людям».
    По ссылке выше есть контрпример Amazon
  • 0
    И сразу у всех контрпримеры. Тоже западные.
    Просто у них есть и то и то.
    А у нас чаще колхоз (ну или мне так не везло)
    • +2
      Возможно я был не прав сразу описав высшую форму — «шапито», можно было начать с традиционной корпорации, потом с группировок которые паразитируют в корпорации, конкурируя друг с другом, развернуть и уже потом выйти к вершине. Может стоило встряхнуть историю колонизации, пиратства и контрабанды, с субкультурой «одноразового корабельного экипажа». Может Филипа Кана и Борланд для примера привести. Грубо говоря, чем на более высокосложной структуре ты паразитируешь, тем выше твои возможности.

      Ёмко про «колхоз». Хотя мне сразу вспомилось детство, очень я любил тогда директоров колхозов, передовых, конечно, 1980-1985, фильмы про них обожал, передачи, статьи в газетах. Восхищался ими не меньше, чем сейчас молодёж Джобсами и Масками. Люди меня поражали своей энергией, интеллектом, внедрением организации и технологий в весьма инертной среде. И какой-то здоровой человеческой адекватностью. Люди мечтали как ЭВМ преобразит и труд и быт на селе.
  • +1
    Отличная статья, интересные идеи, прочитал с удовольствием.
    Только термины «Шапито», «Банда» не очень удачный, как мне кажется.
    «11 друзей Оушена» лучше дает понять, о чем речь, но слишком длинный.
    Возможно есть более удачный термин для наименования этого явления.
  • 0
    Только сегодня прочитал статью… Насколько правильные вопросы поставлены, настолько же присутствует отказ русским в цивилизационной идентичности. Чем-то похоже на Артемия Лебедева, но без мата. У Лебедева, к тому же как-то более деперсонифицировано.

    Кроме того, как и в прошлых статьях, упускается вопрос, на какие шиши, грубо говоря, всё это делается. Те же американцы — они же просто лопаются от ресурсов. Мажоры, говоря, современным языком. А если долларов можно напечатать сколько угодно, отчего бы не повыпендриваться? Если снова брать Лебедева, у него всё в наличии: и пафос, и выпендреж, и банды, и почивание на лаврах… Долларов не отсыпете?

    Эта и прочие статьи автора кагбэ намекают на то, что классиков он либо не читал, либо не считает их своими классиками. Идее об избавлении от мужицкого духу — лет 150 как минимум. Нет пророка в своем отечестве…
    • +2
      «Пророки, шиши, идентичность». Я вижу вы человек подкованый. Оценили правильность вопросов, сравнили меня с другим блоггером (впервые в моей карьере, кстати).

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

      Крутился я в юности в среде питерской рок/поп музыки. Там та же болезнь, все думают где взять ресурсы. Купить оборудование дорогое, ковыряться с ним. Все разговоры — кто какую гитару, клавиши купил или мечтает купить. Играть никто не хочет. Даже разговоры «о музыке» к музыке не имеют отношения напрямую. Покажите мне код. Забудьте вы про ресурсы, главное — ПОДНЯТЬ ТЕМУ. Шевелиться надо, встречаться, переписываться, пробивать вопрос, придумывать «план атаки на звезду смерти». Программисту из ресурсов нужен только комп. Остальное это софт-технологии.

      Так и кого из классиков посоветуете?
      • 0
        Не нужно передергивать. «Нет ни копейки» в российских и американских условиях означает немного разное. Выше вы имели в виду «ни копейки» в американском смысле, я тоже, что в переводе на русский означает «человеку есть где жить и на что питаться (и чем кормить семью, если есть), и он может позволить себе думать о том, как свернуть горы». В России такой класс «тунеядцев» только-только нарождается — расслоение по доходам начинает приносить результаты в первой производной. Если походить по стартаперским тусовкам, они сплошь из таких «без копейки» и состоят. До следующей производной нужно еще лет 10-15 хотя бы. Обязательно также отсутствие войны и тотального кризиса с обнулением доходов.

        Автор фразы про код работал по внешней постановке, а в российских условиях код ничего не стоит. У нас выше обычной бухгалтерии пока мало кто поднялся. Покажите мне бизнес-план.
  • +1

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