Developer's Fun
Есть среди программистов понятие, которое называется «фан». Людям, не живущим в этой среде с детства, может быть сложно понять соответствующее культурное явление.
Во-первых, настоящий программист — человек очень умный. Для получения удовольствия его мозгу необходима достойная сложная работа.
Во-вторых, программисты как никто другой испытывают действие «сокращенного жизненного цикла изобретений». Можно придумать, сконструировать и запустить в массы результаты своего труда за очень короткий срок. Привычка постоянно любоваться этими результатами, живущими собственной жизнью, устанавливает очень высокий порог удовольствия. (Даже без массового распространения продукты всё равно живут сами по себе на локальном компьютере.)
В результате для программиста удовольствие является обязательным фактором в творческом процессе. Его должна приносить окружающая обстановка, собственный компьютер, качество исходного кода программы, постоянное совершенствование своих навыков и тому подобное.
Конечно, речь идет о настоящем программировании. Есть в наших рядах особи, не способные ко всему вышеперечисленному, ибо для них программирование не стало искусством. Обычно их называют индусами из-за большого количества подобных недопрограммистов в соответствующей стране.
Если программисту приходится решать задачу, не требующую всех его способностей или противную его эстетическим пристрастиям, творческие порывы сразу пропадают. В таких услових приходится придумывать дополнительные стимулы. Например, если начать работу за пару дней (часов) до срока сдачи, сложность её выполнения резко возрастает и становится уже достаточной.
Есть и другие факторы, мешающие творчеству, например, множество посторонних обязательств или разрозненных дел, которые скоро нужно сделать или приходится держать в голове. Поэтому среди программистов популярны подходы вроде «Getting Things Done».
Вывод: программист — не слесарь, с ним нужно работать по-другому.
А еще моя супруга готовит офигенную пиццу. Не похудеть мне сегодня. :)