Съездил на Riga Dev Days, словил новых ощущений.
Во-первых, я оказывается давно не общался с бэкенд-разработчиками и подзабыл, чем они живут. По ощущениям у них все прекрасно, но хочется еще лучше. Ну, из серии, в этом году GC всего на 10% стал быстрее, хотелось бы хотя бы на 15%. Или там, есть две системы сборки, одна хорошо подходит для больших монолитных проектов, а другая - для маленьких стандартизированных. То есть это проблемы, которые они обсуждают: какое из двух прекрасных решений выбрать. Никакого визга, никаких ощущений что мир катится в ад, а ты сидишь на дне колодца и рвешь на себе волосы (это я так себя чувствую с тех пор, как перешел во фронтенд и стал ездить по JS-конференциям). Больше всего похоже на стабильное, каноническое «работаем дальше».
Второе наблюдение проходит по категории накрытий (см.
тег) и стимулировано выступлением
Егора Бугаенко, но относится не только и не столько к нему, сколько к идее пропаганды вообще. Кратко: со сцены можно говорить что угодно, и люди тебя слушают. Собственно, почему я пишу это именно сейчас, потому что я сидел в зале и видел, как это работает. Что бы ты ни говорил, у зала открыты уши и информация просто записывается на подкорку. Качество информации не имеет значения. Доводы не имеют значения. Логика, аргументы не играют роли. Важен сам факт говорения. Аргументы за, стройная цепочка рассуждений - может быть, может не быть - не играет роли, она все равно пройдет мимо. Что скажешь, в то и поверят. Скажешь умную мысль - отлично. Скажешь глупость - тоже хорошо, еще и вопрос зададут, как её лучше применять.
Есть, впрочем, несколько фильтров, но они стоят не там где нужно. Фильтр авторитетности: чем важнее чувак, тем усерднее его слушают. Фильтр популярности: чем больше углов, из которых звучат ключевые слова, тем больше к ним интереса. Фильтр доступности: чем проще изложена идея, тем больше к ней доверия. Беда в том, что это все социокультурные фильтры, очень далекие и от науки, и от научного метода, и даже просто от рационального мышления.
Что особенно интересно (и печально), так это лучше всего заходят именно рекомендации, советы, «учу жить». Если обрисовать проблему со всех сторон, выходит хуже, а простые и однозначные советы - это на ура. Чем конкретнее ты дал рекомендацию, и чем меньше упомянул тонкостей и нюансов, тем охотнее тебя слушают.
Это всё не только со сцены, конечно: и блогах, и в твиттере, и на курсах, и в книгах, где угодно. Из известных DHH ровно этим занимается (особенно смешно, когда он меняет курс на противоположный), и много персон поменьше. Да что далеко ходить - тот же Design Patterns, задуманный как справочник решения конкретных проблем, постепенно превратился во вполне себе библию. Причем из него выкинули всю контекстную часть (что происходит, где, почему и зачем) и оставили только «советы». Такое ощущение, что широкой аудитории (да, знаю, ужасный прием - обобщение, но речь действительно об общем тренде) нужны не вопросы, а ответы.
При этом я как раз не против открытости к новым идеям. Мне это даже на руку, и мне хочется, чтобы люди охотнее принимали новое. Но только не какое попало, и здесь, конечно, начинается заковыка. Потому что нет никакого внешнего судьи и никто не скажет, что вот этот товарищ несет ерунду, а к этому стоит прислушаться. Единственный способ - 90% всего полная ерунда, пусть цветет 100 цветов, и т.д. и т.п.
Но способ исправить ситуацию я все-таки вижу: давать больше контекста, описывать проблемы, делать это максимально честно, детально и со всех сторон. Хорошо описанная, отрефлексированная проблема углубляет наши знания и это навсегда. Понимание никуда не денется. А вот конкретное решение, совет, кусок кода, он, во-первых, очень быстро рассыпется, а во-вторых может помочь, может и навредить, причем мы можем даже не знать (или ошибаться), почему именно. Распространяйте знания, а не пропаганду.