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

Это отрывок из моей книги Что такое программирование?, полный обзор всех навыков, необходимых программисту.

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

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

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

Обратите внимание, что я не упомянул здесь программное обеспечение. Пользователя не волнует программное обеспечение, оборудование или что-то среднее между ними. У пользователя есть задача высокого уровня, реальная задача. Многие компоненты должны работать вместе, чтобы помочь им. Размышление об оборудовании, программном обеспечении и процессах по отдельности оказывает пользователю медвежью услугу.

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

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

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

Создание хорошего программного обеспечения требует понимания наших пользователей. Кто они? На что они способны? Что они хотят делать? Это выходит далеко за рамки программирования и подходит для всех команд разработчиков. Есть только одна причина, по которой мы разрабатываем программное обеспечение, и она всегда должна быть в центре наших мыслей.

Пользователь.

Прочитайте Что такое программирование? чтобы получить больше информации о нашей часто запутанной профессии. Даже если вы уже являетесь опытным программистом, возможно, стоит сбросить настройки и укрепить основные ценности, которые помогут вам стать лучшим программистом.