Одних только технологий (инструментов) недостаточно для получения качественных результатов по методу работы. Необходимо также глубокое понимание теории (дисциплины), в частности, описания работ по методу. Также необходимы навыки распознавания объектов и типов “из учебника” в жизненных ситуациях.
Дэвид Уэст пишет об этом в Object thinking - West, David.
Программисты изначально рассматривались как “свободные художники”, но массовое распространение компьютеров и потребность в огромном количестве ПО показало, что такой взгляд не соответствует реальности.
В шестидесятых годах XX века парадигма изменилась - предполагалось, что правильные инструменты, процессы и методы позволят писать более качественное ПО. Эти надежды тоже не оправдались.
Техники, инструменты, навыки и факты - это всего лишь часть процесса самосовершенствования, и их недостаточно самих по себе. Интеграция с существующими навыками, трансформация фактов в знание (или даже мудрость), способность основывать свои будущие действия на принципах и идеях, а не на механически заученных процедурах, - вот что действительно важно. - Preface, xi
Ну и дальше речь идет о том, что отнюдь не инструменты и процессы выведут разработку ПО из кризиса, а “лучшие люди”. Соответственно, усилия должны быть сосредоточены на воспитании действительно хороших программистов, а не на IDE и процессах.
Программистом-художником вполне можно стать, если правильно подойти к процессу образования (или воспитания) - нужно глубокое понимание основных идей, их контекста (в том числе и исторического), принадлежность к сообществу (культуре). Для успеха важно понимать предметную область и воспринимать задачи из этой области, осмыслять различные комбинации артифактов и процессов и выражать идеи на нескольких языках, как минимум на естественном языке, языке моделирования и языке программирования. Развитое мышление позволит улучшить результаты во всех этих областях, так как мышление является неотъемлемой частью каждого из этих видов деятельности.