Почему я не пользуюсь Stack Overflow (и вам не советую)

3
1505
views

Перевод статьи «Why I don’t use Stack Overflow».

Знак вопроса
Photo by Jon Tyson on Unsplash

Загуглите любой вопрос по программированию, и в выборке результатов на первых местах будут стоять ссылки на Stack Overflow, предлагая отличные ответы от выдающихся разработчиков. Тысячи, если не миллионы программистов ежедневно пользуются этим сайтом. Они заходят туда, чтобы разблокировать свой мыслительный процесс или чтобы исправить «этот странный баг».

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

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

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

Для Stack Overflow в приоритете — поисковики, а не опыт пользователей

Довольно ясно, что доминирующие позиции в выдаче Google — ключ к успеху этой платформы. И это прискорбно, поскольку обычно вы получаете старые результаты, а это увековечивает плохие или устаревшие практики. Но это лишь проблема качества. Есть куда более серьезные проблемы поведенческого характера, которые Stack Overflow создал умышленно, чтобы подняться в выдаче поисковиков.

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

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

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

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

Не кажется ли вам, что это порочный круг?

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

Все дело в доминировании

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

Самцы морских львов дерутся на берегу.
Photo by Anchor Lee on Unsplash

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

Есть бейджи за достижение определенного числа поднятых вами флагов (в результате люди помечают флагами все подряд) и редактирований (в результате люди редактируют все подряд). Есть бейджи за удаление собственного поста с негативными очками (это называется «товарищеским давлением» — серьезно, я не придумываю!). А еще — за ежедневное посещение сайта (без пропусков). Это подводит нас к следующей теме…

Stack Overflow полагается на зависимое поведение пользователей

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

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

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

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

Эти люди и создают 99% контента на Stack Overflow. Они фактически не жалея живота своего работают на эту компанию, не получая за это никакого реального вознаграждения. Они проводят на сайте так много времени, что, пожалуй, и работой им заниматься некогда: все время и силы уходят на то, чтобы быть выдающимися разработчиками. И это я уж не говорю о том, как платформа относится к своим модераторам (тоже неоплачиваемым, кстати).

Как это можно исправить

Я не из тех, кто жалуется, ничего не предлагая. Проблему токсичности Stack Overflow не так уж сложно решить.

  • Удалить функционал голосования «против». Без него сайт точно не пострадает, ведь эта функция не несет никакой пользы. Так она ж еще и ущерб наносит! Наш мозг так устроен, что негативный фидбэк воспринимается как более весомый, чем целая куча позитивных. Даже если голосов против будет 2, а за — 10, большинство людей увидят именно -2. А это фигово.
  • Ограничить число ответов в день для каждого отдельного пользователя. Это поможет предотвратить зависимость у некоторых. Кроме того, это даст шанс недавно пришедшим на сайт разработчикам посоревноваться в ответах с теми, кто доминирует в темах. Под «соревнованием» я подразумеваю самый мягкий вариант, поскольку такой подход также ослабит иерархический аспект.
  • Изменить обработку вопросов от новых пользователей. Серьезно. Ведь когда человек задает вопрос, рассчитывая на помощь, а в результате его аккаунт практически банят — это же абсурд. Нужно сделать «песочницу» для новоприбывших, улучшить систему поиска дубликатов, создать систему отсеивания спама.
  • Убрать поощрения за выполнение полицейских функций. Пометка вопроса флагом должна быть последним средством, а не поощряемым поведением.

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

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

Но мы не должны с этим соглашаться

Да, удобно взять первый попавшийся результат из выдачи Google (обычно это Stack Overflow). Но таким образом мы поддерживаем поведение платформы и делаем его возможным.

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

Я не только прекратил отвечать на вопросы на этой платформе, но и намеренно не кликаю на их ссылки в результатах поиска, чтобы не давать им никакого трафика. Кроме того я использую для поиска DuckDuckGo: они вроде бы не так прикипели к Stack Overflow, как Google. Обычно все это позволяет находить лучшие решения, потому что…

Использование Stack Overflow, вероятно, тормозит вас как разработчика

Да, мы любим шутить на тему «разработки через Stack Overflow» (в оригинале — SO-driven development, по аналогии с test-driven development — разработкой через тестирование, — прим. перев.). Готовые ответы позволяют быстро разблокировать работу. Но есть и альтернативные методы:

  • Задавайте вопросы в более продуктивных и доброжелательных онлайн-сообществах, например, на dev.to. Система DEV поощряет хорошее поведение, к тому же создатели сайта постоянно работают над ее улучшением. Все детали, которые я вижу, помогают строить позитивное сообщество.
  • Есть и другие варианты. GitHub issues могут быть отличным местом для учебы (да, одни проекты существенно доброжелательнее других, но GitHub по крайней мере старается выравнивать ситуацию). Даже Twitter менее токсичен, чем SO, а это о чем-то, да говорит.
  • Старайтесь сначала обращаться к документации. Порой это может раздражать, да и ответ найти не так просто, но в итоге это поможет вам лучше разобраться в языке или инструменте.
  • Выходите на ваши локальные сообщества. Они будут рады помочь вам выстроить новые связи, а это открывает блестящие перспективы при поиске работы. Вы сможете принимать участие в митапах или даже начать выступать на них.

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

И если вы уже в том положении, когда стремитесь делиться знаниями и отвечать на вопросы, не делайте этого на Stack Overflow. Вы можете вести личный блог, писать статьи на разных сайтах, твитить полезную информацию — любой вариант будет лучше, чем SO.

Давайте вместе делать веб лучше!

3 КОММЕНТАРИИ

  1. Такое чувство, что автора сильно обидели на stackoverflow. За все время ни разу не задавал вопросы: в 99% можно найти уже готовый ответ на вопрос. Насчет дублирования: еще лет 5 назад попытался поиграть в знатока и помочь юным RoR разработчикам, так вот все новые вопросы, которые я просматривал уже 100 раз задавались раньше. Если ты начинающий разработчик, и не можешь найти ответ на свой вопрос заданный уже 100 раз, то возможно стоит задуматься о своем предназначении … ну или задай вопрос еще раз и получи негативный стимул, который в итоге должен направить тебя в сторону развития своих способностей в поиске решений базируясь на анализе данных. Соревноваться с местными знатоками то еще удовольствие 🙂 Види мо люди уже заработали свои деньги и теперь получают удовольствие достигая высот в виртуальной социальной среде. Что в этом плохого? Да ничего, вам бесплатно предоставляют ответы на поставленные вопросы, и никто за это не требует денег — профит всем ) Устаревшие данные и практики — смотрим дату ответа просто. Насчет альтернатив: 1) О dev.to не слышал совсем. Участвовал в схожем проекте, где по итогу всем стало наплевать на новичков. 2) Github issues: в 90% случаев вас пошлют на стековерфлоу 3) Что за сообщества такие ?)
    Как резюме: статья больше похожа на эксперсию своей фрустрации в следствии токсичных действий обитателей стековерфлоу 🙂

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

    Касательно дубликатов — политика сайта не удалять их как чуму, а ЗАКРЫВАТЬ их с ссылкой на другой ответ, чтобы разные формулировки одного и того же вопроса одновременно появлялись в поисковике, и что-бы волонтеры не тратили свое время на вопросы из разряда «я только начал изучать C++, как написать цикл for?». Я согласен с прошлым комментом, что 99.99% вопросов уже отвечены, и я много раз в этом убеждался, поэтому прежде чем спросить свой вопрос я трачу лишние минут 5 на разведку и все находится.

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

    Пользование Stackoverflow не делает из вас плохого разработчика, на ресурсе тысячи людей которые имеют по 10000 очков и десятки лет разработки, и они все еще спрашивают вопросы. И сравнивая качество ИХ вопросов с качеством остального 95% треша, легко увидеть что люди знают КАК спрашивать, чтобы получить ответ

  3. Господа,
    в принципе, два предыдущих комментария довольно точно отражают картину.
    Да, у игровой механики стэковерфлоу есть недостатки, и я сам долго (год?) сидел (и продолжаю сидеть) на этой дофаминовой игле.
    При этом я узнал много нового. Узнал ли я это новое, «не связываясь» со стэковерфлоу? Не знаю, не уверен…
    Захожу на dev.to…
    Что я вижу? Во первых, ни слова по русски. Во вторых, какие то статьи…
    Производит впечталение того, что это очередной «контентный сайт» — типа «несите, люди добрые, нам контент, а все остальные пусть читают..»
    я пришел туда читатать статьи? я пришел спрашивать или отвечать на вопросы, черт побери!
    В общем, автор статьи меня не смог убедить.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here