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

Мой шурин совершенно забыл о контексте и потребностях. Хотя его борода становится гуще, чем у Роя Кента, у меня, как известно, нет бороды. По крайней мере, для тех, кто меня знает. Я часто громко заявляю о разочаровании своим агрессивным отсутствием бороды. У меня ровно столько усов и подбородочной бороды, сколько нужно для минимального бритья. Но! Машинка для бритья у меня уже 7 лет. Нет проблем, нет проблем. Это решает мои потребности. Однако для моего зятя это было болезненно и утомительно. Контекст имеет значение.

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

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

Технические возможности и советы

При написании сообщений в технических блогах о наших открытиях и опыте работы с технологиями A, B или C.Мы можем подумать, что, поскольку A было плохо для нас, это плохо для других, если B велико, то будет хорошо для других, или если C не соответствовал нашим потребностям, он не может подходить никому другому. Эти предположения, скорее всего, ошибочны. Подобные объективные оценки существуют, но чаще они очень субъективны и весьма относительны. Не только на наш взгляд, но и потому, что все мы решаем разные задачи.

Контекст имеет значение

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

  1. О каком проблемном пространстве мы говорим? Какая целевая группа? Это большой вопрос. Разные проблемы часто требуют разных решений.
  2. Как обстоят дела с проектом? Исследования и разработки или PoC? Зрелый проект с длительным обслуживанием? Быстрое исследовательское развитие? Как ваше финансовое положение?
  3. Каковы командные обстоятельства? Опытная команда? Новые разработчики?
  4. Какие еще есть условия и ограничения?

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

Разве мы не должны делиться опытом?

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

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

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

Раскрытие контекста

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

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

В следующий раз, когда вы прочтете твит, объявляющий о новом решении, прочитав, как Google переписал все приложение за 3 часа, блог, в котором описывается, почему вы всегда должны использовать Kubernetes, или друг, советующий вам реорганизовать все управление состоянием в MobX, подумайте об этом: Что заставили это работать на них? У нас такие же обстоятельства?

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