Эдди Османи: Паралич выбора

Это перевод поста «Front-end Choice Paralysis» Addy Osmani, опубликованный 1 июля 2014 года.

Во фронтенд-разработке мы постоянно сталкиваемся с такой проблемой, как изобилие выбора. Мы видим избыток инструментов, фреймворков, языков, абстракций и платформ. Такой выбор — это, безусловно, хорошо для конкуренции и дальнейшего развития, однако, сталкиваясь с таким количеством вариантов, можно впасть в ступор. Вместо того чтобы сделать свой выбор, чувствуешь себя брошенным, с чувством неопределенности перед огромной кучей вариантов. Это не обязательно проблема отрасли фронтенд-разработки – эта проблема человеческой природы.

Возьмем простой пример – допустим, нам хочется посмотреть фильм на Netflix.

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

Но я и не подумал о том, что с тех пор, как я последний раз выполнял это действие, прошло уже какое-то время. Каталог Netflix пополнился сотнями новых фильмов, и я стал выбирать. И выбирать. И опять выбирать. Надо посмотреть Сумерки! Или Сумерки-2. Или 3. Бесконечная сказка про девочку, которая должна выбирать между накачанным прессом и устойчивой зависимостью. Аватар! Фильм про то, как Blue Man Group поехали в Парк Юрского периода.

Слишком широкий выбор, я почувствовал себя взволнованным. Короче говоря, появился паралич выбора. Битый час я пытался выбрать фильм, который бы меня устроил, и я успел посмотреть его меньше, чем наполовину, когда время вышло. Моя подписка теперь выглядит для меня как тяжелые отношения, которые обычно боишься прекратить.

Психолог Барри Шварц описал этот феномен в своей книге 2004 года The Paradox of Choice, в ней он доказал, что исключение слишком большого количества вариантов может снизить покупательскую усталость.
Он подвел итог очень интересному эксперименту Шины Иенгар и Марка Леппера:
«Когда исследователи установили [в гастрономе] стенд, показывающий ряд банок экзотического, качественного варенья, покупатели могли попробовать образцы, и, если они покупали баночку, то получали купон на скидку в 1 доллар. Один раз для дегустации было доступно 6 разновидностей варенья. В другой – 24. Оба раза все 24 вида были доступны для покупки. Широкий выбор привлек к столу больше покупателей, чем небольшой, тем не менее, в среднем люди всегда дегустировали примерно одинаковое количество видов варенья. Однако когда дело подошло к покупке, стало очевидно различие. 30 процентов людей, дегустировавших варенье из небольшого набора, купили его; и всего 3 процента людей, которые делали выбор из множества вариантов, поступили так же»

Дело в том, что при изобилии выбора возрастает ваша неуверенность в том, какой же именно вариант подходит вам больше всего. Вместо того чтобы радоваться принятому решению, вы чувствуете себя уставшими. А то ли я выбрал? Может, лучше было выбрать что-то другое? А что выбрали мои друзья? Может, лучше было их спросить? Я не хочу показаться глупым. Вы попадаете в яму, раздумывая, а не упустили ли вы возможность приобрести что-то получше. Сколько раз вы пересматривали тот стек технологий, который используете?

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

У javascript есть так называемый «Синдром еще одного фреймворка» (сколько у вас решений для MVC, отрисовки шаблонов или data-binding’а?), у Perl – синдром «Есть больше одного способа это сделать», а у Python – «Должен быть очевидный способ это сделать», дзен разработки на Python.

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

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

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 19

    +4
    Выбор же, как правило, не на пустом месте. Если продолжать аналогию с продуктовым магазином, то у вас есть предпочтения какие-то: количество сахара, консистенция, срок годности, изготовитель и т.п.

    То же самое и с технологиями/фреймворками. У вас есть задачи/сроки и другие факторы, которые позволяют сократить список для выбора. Проблема, разве что, возникает, когда появляется новый фрейморк, который вроде как должен ускорить/упростить разработку, но в то же время вынуждает потратить немало времени на его изучение. В такие моменты действительно сложно сделать выбор.
      +4
      Мне кажется, что может работать принцип снежного кома, то есть просто выбирать самое популярное. При этом справедливо, на мой взгляд, полагать, что
      — люди не дураки и уже это выбрали
      — если это популярно, то оно будет развиваться и поддерживаться
        0
        Согласен, в основном популярное самое удобное.
          +1
          Не всегда. Популярное может быть давно уже неудобным, но инерция тащит его все выше и выше. Для примера можно взять язык PHP.
            +1
            каждый язык для своих задач, PHP для своих целей вполне удобен.
        +3
        Есть такой способ ничего не делать:
        — Осваивать систему планирования дел, заполнять, раскладывать по категориям.
        — Потом, когда всё готово и нужно уже выполнять этот список, внезапно выяснить, что появилась другая мега-штука для планирования. Перебрасываем все силы туда. Повторять по вкусу, можно всем предприятием.
          +2
          Вкратце: Ой как всё плохо, как всё плохо*. Если кому-то тоже плохо — помогите ему.
          * из разряда блондинки перед гардеробом. Не знающей какие платье и туфли надеть.

          А как помочь? Автор себе смог помочь?
          Он помог себе тем, что поплакался в статье о том, как сложно ему делать выбор? Ну типичная блондинка.

          К переводчику: При чем тут хаб JavaScript?
          Надо было хаб выбрать Python, он два раза в статье встречается, а JavaScript — один раз :D
            +3
            Javascript хотя бы потому что автор оригинала — большой специалист в области js, хотя, конечно, пост не в полной мере к этой теме относится.
            +1
            На мой взгляд широкий выбор это куда лучше, чем его отсутствие. Разумеется для различных задач подходят различные инструменты. Стоит лишь немного поразбираться, как например вот (навскидку) habrahabr.ru/post/149594/ и habrahabr.ru/post/149872/
              0
              Ответил вам чуть ниже
              +1
              Мне как раз показалось интересным, что человек, написавший такие исчерпывающие публикации, как те, что вы представили, вдруг пишет о том, что широкий выбор — это плохо. Я сам в какой-то степени согласен с тезисом, я однажды выбрал для себя фреймворк для разработки HTML5-приложений, а теперь оказывается, что не угадал. Никому из потенциальных работодателей не нужны мои навыки работы с этим фреймворком.
                –1
                Есть предположение, что при выборе вы изначально просто не принимали в расчет такой критерий как востребованность у работодателей. Следующий фреймворк можете изучить с учетом трендов на рынке труда.
                –1
                На самом деле, выбирая лучшее, мы стараемся ограничить свой выбор, или даже лишить себя выбора.
                Например, есть два йогурта, с вишней и с вишней.
                Но один из них с наклейкой «eco».
                Мы создаем новый критерий «с eco — лучше», и вуаля, теперь нам надо выбрать из одного йогурта.
                Т.е. выбирать уже не надо.
                Это, кстати, не является чем-то плохим.
                Наоборот, таким образом мы избавляемся от раздумий.

                Сложности выбора начинаются, область выбора для нас новая и мы не знаем, какие критерии отбора важны.
                Я рекомендую в такой ситуации «сжать зубы» и выбрать что-то одно.
                В следующий раз у вас уже будут критерии и вы уже будете точно знать, что выбирать.
                  +1
                  Эдди Османи крутой тип, но у Райкина получилось лучше.
                    –2
                    JavaScript? Серьёзно? «Во фронтенд-разработке мы постоянно сталкиваемся с такой проблемой, как изобилие выбора.» — одного предложения достаточно, чтобы попасть в соответствующий хаб?
                      0
                        0
                        удалил, отправил в лс
                        0
                        По поводу выбора фильмов — в том же Netflix есть система рекомендаций, которая строится на коллаборативной фильтрации и других алгоритмах. Но знающие люди говорят, что лучше всего работает случайный выбор. Это я к тому, часто самый простой вариант является самым правильным.
                          0
                          Есть chrome-приложение "Принятия решений", которое помогает мне сделать выбор с учетом всех аспектов вопроса и наглядно объяснять его.

                          Only users with full accounts can post comments. Log in, please.