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

7
2168
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.

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

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

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

    • Задал 2 вопроса и оба из них получили -реп. Что привело к блокировке задавать вопросы на день… мда, это пиздец. К тому-же попытался полностью рассказать свою проблему, и все равно получил -реп.

    • Я кстати с автором согласен отчасти, но я не согласен, что сейчас есть аналоги на 2022 год.
      По архиву решений стак топчик.
      Но на этапе когда только учишься и разбираешься — то согласен с автором, не нужно там типа «простые» вопросы задавать. Когда учишься, простые вопросы для учащегося … неф ига не простые. Особенно когда тебе по работе решение нужно, условно срочно.
      Всё же Стак больше именно для профи профи. Надо еще правильно спросить! И да, надо быть готовым к тому, что на твой вопрос ответят …. странно.

      Я в течении двух лет осваивал JS, SQL,USQL, PHP и разного рода софт от проекта к проекту — подход был чисто, набор знаний по необходимости, под конкретную задачу и проект. Я не разраб в чистом виде. Так вод волей не волей вопросов было море, начиная от языка и заканчивая странными ошибками непосредственно в софте. Бана за вопросы не получал, но вот странные первые ответы из серии «погугли» «ну и в чем проблем?» … и аналогичные — при условии, что в вопросе я скидываю с ссылками на статьи с решениями, и расписываю, что мол так и так не помогает, максимально детально расписывал проблему и ожидал условно быстрого ответа от гуру.

      Часть ответов, сходу было с подтекстом …. ну че за дебил. Я на первых парах вспомнил почему то доски-форумы по C++ с зашкаливающим ЧВС. Такая ситуация на первых порах, конечно демотевирует сильно. Стаком пользуюсь почти каждый день — на поиск решений, но вопросы сейчас стараюсь задавать непосредственно в тематических телеграм группах, сообществах, сайтов для тех кто только учиться.
      А вообще конечно документация рулит + гуглить, но всё же сам для себя решил, что стак это токсик для ситуации, когда осваиваешь только новый язык, технологию или софт.
      И хорошее место для разрабов профи.
      Так что как то так.

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

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

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

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

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

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

  4. В принципе, полностью согласен с автором статьи.

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

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

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

    Вторая группа — это «доброхоты». Тоже пользователи с высокими баллами и очками, но эти ни над кем не доминируют, никем не помыкают, а хотят всем сделать «хорошо». Очень активны в дискуссиях, всем помогают, стремятся доказать свою полезность, никогда ни в чей адрес не отпускают колкостей, не критикуют чужих тем-вопросов, не обвиняют никого в некомпетентности, не занимаются закрытием чужих вопросов. Зато когда возник новый вопрос, они на всех парах мчатся ответить, проявить себя, быть первыми и лучшими. Ответ на зачастую нетривиальный вопрос строчат мгновенно. Вот вопрос — зачем только им это нужно. Кажется, это всё для того, чтобы потешить своё эго, тщеславие. Доказать себе и другим, что ты ценный член человеческого общества. Всё правильно в статье написано — их подкармливают всякими конфетками в виде баллов и они на это подсаживаются, как на дурь, на наркоту. Самое главное, что эти глупцы не понимают, что их используют в тёмную, как последних дураков. Из них сайт высасывает все умственные силы, все соки из их мозга, они по сути дела создают для сайта неплохой контент, на котором сайт живёт, а его владельцы зарабатывают сверхприбыль. А эти дураки трудятся, принося хозяевам сайта стабильный очень высокий барыш, и им за это даже не платят зарплаты (хотя это труд, достойный весьма высокого вознаграждения).

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

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

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

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

Please enter your comment!
Please enter your name here