Введение в психологию программирования

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

Науку, применяющую методы экспериментальной психологии и концепции психологии мышления при исследовании проблем вычислительной математики и информатики, психолог фирмы General Electric Том Лав назвал психологией программирования.

Б. Шнейдерман определяет ее следующим образом.

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

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

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

Специалисты по психологии программирования сосредоточивают свое внимание на таких аспектах, связанных с участием человека, как:

В самом широком смысле предметом исследования психологии программирования являются всевозможные способы использования человеком ЭВМ.

Целью психологии программирования является облегчение использования вычислительных машин (компьютеров) человеком.

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

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

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

 

Способности и возможности программиста

Трудно обеспечить надежную оценку возможностей программиста, а интуиция руководителей не всегда соответствует действительности. Исследователи обнаружили, что различие в производительности программистов может достигать отношения 5 к 1 и даже 100 к 1. Это значит, что программисты одного и того же уровня, с одинаковой подготовкой и близкими зарплатами могут затратить на реализацию одного и того же проекта от одной до ста недель. Такое потрясающее непостоянство затрудняет планирование и проектирование разработки программ.

Программирование - это не простой и не однородный вид деятельности. Этим термином объединяется множество самых разнообразных работ.

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

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

Особенности профессии программиста

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

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

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

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

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

Литература

  1. Б. Шнейдерман. Психология программирования: Человеческие факторы в вычислительных и информационных системах. Пер. с англ. - М.: Радио и связь, 1984.
  2. А.П. Ершов. О человеческом и эстетическом факторах в программировании. - Из книги А.П. Ершов. Избранные труды. - Новосибирск: Наука, 1994