понедельник, 19 сентября 2016 г.

О шаринге знаний и компетенций с коллегами

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

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

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

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

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

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

Двое преступников — А и Б — попались примерно в одно и то же время на сходных преступлениях. Есть основания полагать, что они действовали по сговору, и полиция, изолировав их друг от друга, предлагает им одну и ту же сделку: если один свидетельствует против другого, а тот хранит молчание, то первый освобождается за помощь следствию, а второй получает максимальный срок лишения свободы (10 лет). Если оба молчат, их деяние проходит по более лёгкой статье, и каждый из них приговаривается к полугоду тюрьмы. Если оба свидетельствуют друг против друга, они получают минимальный срок (по 2 года). Каждый заключённый выбирает, молчать или свидетельствовать против другого. Однако ни один из них не знает точно, что сделает другой. Что произойдёт?

Из этой дилеммы легко вытекает наиболее эффективная стратегия обвиняемого: сдавать подельника. Если подельник сделает тоже самое, каждый из них получит 2 года. Если подельник будет молчать, то обвиняемый выйдет на свободу, а подельник получит по полной. Если мы проведем параллель между классической дилеммой заключенного и рабочим процессом, то может показаться, что наиболее эффективной тактикой поведения в рабочем коллективе также является стратегия негодяя. Если я поделюсь инфой с коллегой, и он поделится со мной, то мы оба будем в дамках! Но если я поделюсь инфой с ним, а он на это забьет, то он получит конкурентное преимущество передо мной! Значит я должен молчать, чтобы минимизировать свои потери в чудо игре под названием «карьера».

И хотя такая логика вполне рациональна, на самом деле, эффективность тактики сильно зависит от того, как часто человек будет сталкиваться с этой дилеммой и насколько возможны коммуникации между «обвиняемыми». Если речь идет об одноразовом сеансе общения, то быть говнюком – это наиболее эффективная тактика. Но это не так, когда между «заключенными» возможно общение, и когда с подобное дилеммой эти люди сталкиваются постоянно. Последние чемпионаты по AI (да, дилемма заключенного является одной из проблем в теории игр и существуют чемпионаты, в которых разные AI состязаются в этом деле) показали, что быть говнюком не является наиболее эффективной тактикой (*).

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

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

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

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

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

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

17 комментариев:

  1. Не вижу смысла быть говнюком =) Я сам, сколько раз, находил решения когда делился с кем-то знаниями.

    ОтветитьУдалить
    Ответы
    1. Ну, не каждый согласен с таким заключением, к сожалению:))

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

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

    ОтветитьУдалить
    Ответы
    1. Мугу. Эгоистичный подход к человечности, прямо таки.

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

    ОтветитьУдалить
    Ответы
    1. > когда я вижу людей, которые не хотят делится знаниями или опытом, я прежде всего запоздрю, что человек пытается скрыть, что он не знает чего-то (хотя это очень глупо) чем, что он действительно что то знает и молчит...

      +100 500.

      Да, очень часто за скрытностью и высокомерием скрываются неуверенность в себе и/или отсутсвие занний.

      Удалить
  4. Даже не задумывался о том, что можно быть говнюком в нашей профессии. Особенно если работаешь в команде над одним проектом. В первую очередь если не делиться знаниями, то это сразу вернется к тебе, так как кодовая база чаще одна и ты в итоге огребешь от того что напишут твои младшие коллеги, если не "учить", искать лучшие практики, можно со временем просто не разгрести ту кодовую базу которая создается несколькими людьми. Ну, а если ты сам являешься "младшим" коллегой, то это клевый вариант узнать в ту ли сторону ты мыслшишь, ну собрать какую то обратную связь.

    ОтветитьУдалить
    Ответы
    1. Я хочу рассказать о другом паттерне, который называется Hero Pattern. Это такой себе способ изоляции от других, которому следуют довольно приличная часть забугорных коллег...

      Удалить
    2. Сергей, а расскажи в двух словах – о чём этот паттерн?

      Удалить
  5. Я работал с одним таким вот "говнюком" в команде из трех человек. Он не любил делиться опытом, а если чего-то не знал, то не спрашивал, а пытался "подсмотреть" как было сделано то или иное в проекте, стоя за спиной у коллеги. Меня чуть подбешивало по молодости )))

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

    ОтветитьУдалить
  6. Как-то давненько нашёл и очень понравилось, потому что чудесно верно: "Не бойтесь делиться своими методами работы. Большинству людей будет тупо лень их использовать."

    …ну или методы у меня очень замороченные :о)

    ОтветитьУдалить
    Ответы
    1. Слава, нет, дело не в методах, а в том, что в процентном отношении, лишь горстка людей будет действительно перенимать чужие методы...

      Удалить
  7. Этот комментарий был удален автором.

    ОтветитьУдалить
  8. Сергей, а можешь как-нибудь рассказать про "забугорных" программистов. Есть ли какие-нибудь отличия в отношении к работе, к коллегам. Как я понял там развит Hero Pattern?
    Интересно было бы еще узнать твое мнение по поводы "знаменитых" много часовых интервью в эти топ-компании. =)

    ОтветитьУдалить
  9. Поддерживаю идею, что быть говнюком как-то не круто :)
    п.с. сам часто сталкивался с ситуацией, когда что-то объясняешь или рассказываешь, сталкиваешься иногда с противоречиями, которые раньше не замечал. Или, например, я иногда встреваю в сложные кодовые ситуации, которые не знаю, как решить. Но когда начинаю рассказывать коллегам, которые решили помочь, в ходе рассказа решение само собой приходит, и коллеги уж дополняют :)

    ОтветитьУдалить
  10. Можно сказать, я даже категорически против говнюков в команде, в крайнем случае таких людей надо исключать. Знания сами по себе не являются чем-то сакральным и по сути ценится умение получить и применить знание. Сам факт знания продукта не сделает.

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

    Для менджера очень важно правильно применять людей и извлекать из них пользу.

    ОтветитьУдалить