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

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

Эта серия будет посвящена инженеру в процессе создания вещей. Все приведенные ниже пункты могут быть применимы к любому инженеру или строителю вещей (в некотором роде, форме или форме), но я обращаюсь конкретно к инженерам полного стека. Этот пост будет посвящен разделению нашего собственного разума. В следующем посте будет рассказано о том, что такое вежливое программное обеспечение, и, наконец (потому что было бы ужасно с моей стороны жаловаться на проблемы и не предлагать решения), мы обсудим, как инженер и пользователь могут встретиться посередине, чтобы на самом деле придумать решение. твердые продукты, которые используются.

Прежде чем мы начнем, есть две вещи, которые позволят вам объективно прочитать эту статью (вызов) и не сойти с ума… да, с ума. Со мной.

Просто потому, что к чему-то обычно подходили определенным образом, просто потому, что вам всегда нужно нажимать «ОК» во всплывающем окне, прежде чем что-то удалить на своем компьютере… не означает, что так и должно быть. Да, даже вопрос, почему панель запуска была помещена в нижнюю левую часть экрана… основные вещи, на которых мы, миллениалы, выросли, точно так же, как концепция ношения джинсов = повседневная одежда.

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

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

Что отличает программистов от всех остальных? Что делает нас уникальными? Конечно, мы особенные…

Мы любим сложности.

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

Поможет ли это нам?

Задумайтесь: большинству людей нравится простота. Простота, по сути, является целью.

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

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

Успех достигается не использованием вещи, а пониманием каждой чертовой детали этой вещи и способностью объяснить ее (довольно точно… пока не поймают) нормальным людям. Мы будем мириться с неудачами часами — нет, днями, — пока не поймем, в чем дело.

Это делает нас отличными решателями проблем, одними из «самых умных» людей на планете (по крайней мере, так нас воспринимает тенденция, когда в моде ботаники и гики). Это также создает (ИМХО) тот разрыв, где… конечно, мы можем быть умными, решая определенные проблемы, глядя на них с умом инженера-программиста, но часто упускаем такие черты, как победа над другими людьми, чтобы заставить их действительно использовать то, что вы делаете. строить, вести за собой других, не слишком анализируя такие вещи, как человеческие отношения и т. д.…

Обычным людям плевать, как все устроено. Они хотят, чтобы они работали. Успешно.

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

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

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

Да, выслушайте меня на секунду.

Купер в своей потрясающей книге Заключенные управляют приютом приравнивает ситуацию, в которой мы оказались выше, к ситуации судей и адвокатов (не то чтобы современная правовая система является отличным сравнением для всего, но вы поняли концепцию). .

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

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

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

В настоящее время считается, что встраивать функции в программное обеспечение НАСТОЛЬКО ПРОСТО. Становится еще проще собирать материальные ресурсы, такие как медь, пластик и сталь, для создания оборудования на основе всех сложных идей, которые у нас есть. Что, если мы, как программисты, создадим собственные сложности и дадим нашему пользователю ракетный корабль, которым он понятия не имеет, как им пользоваться?

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

Ну что теперь?

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

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

Первоначально опубликовано на medium.com 22 июля 2018 г.