2. Психбольница в руках пациентов

В индустрии разработки программ облик и поведение продуктов определяют[3] программисты. Программисты пишут код (инструкции) для компьютера, а не для пользователя, а потребности компьютера и пользователя противоречивы.

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

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

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

Для программистов характерна своя особая психология.


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

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

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

4. Программисты грубы и прямолинейны. Их интеллектуальное превосходство – это предмет гордости.


Хотя со стороны этого не видно, работа программиста весьма эмоционально насыщенна и порождает множество устойчивых культурных феноменов, понятных только программистам. Характерные черты культуры программистов:


1. Для программистов огромную ценность представляет код, написанный таким образом, чтобы его можно было легко[4] использовать в другой программе. Важно не только то, что в следующем проекте надо будет меньше писать, но и то, что таким «модульным» кодом можно делиться с другими разработчиками. Это благотворно влияет на работу программистов целом, но порой наращивает программу рудиментарным кодом или незапланированными функциями, которые по логике программиста «все равно бесплатны». Это одна из причин инертности программ – в новых программах легко появляются плохие паттерны поведения из прошлых программ, потому что в них просто используется старый код.

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

3. Программисты работают в одиночестве и чувствуют личную ответственность за свою работу. Программист[5] всегда один на один с кодом – вряд ли кто-то будет досконально изучать результат его работы на чистоту и качество. В то же время он скептически относится к советам других специалистов, потому что понимает, что их не будет рядом, когда что-то пойдет не так, а отвечать будет он. Такая ситуация только усугубляет их чувство контроля над продуктом.

Загрузка...