Я зазвичай пояснюю, що програмування - це творче вирішення проблем. У вас є проблема - вам потрібна функція в продукті (а я зазвичай вибираю добре відомий продукт, Amazon.com, MS Word тощо), і його там немає. Це ніколи не робилося раніше, і ти перший, тож це як у будь-якого мистецького проекту - у тебе є бачення, але потрібно визначити шлях.
Я також зосереджуюсь на тому, що існує декілька способів вирішити проблему, купа справді поганих способів і, мабуть, більше одного хорошого способу. У довгостроковій перспективі може бути найкращий спосіб, але цей найкращий спосіб довгий час не буде очевидним (розширюваність, повторна зручність використання тощо), тому на момент розробки існує багато важливих викликів судження.
Нарешті, одержувач може любити або ненавидіти кінцевий продукт. Так само, як деякі люди люблять Пікассо, а деякі не можуть створювати голови чи хвостики сучасного мистецтва - деякі люди можуть любити функцію, а деякі можуть ненавидіти її. Ти робиш усе можливе для більшості людей, і вважаєш, що не можеш сподобатися всім.
Зосередження уваги на:
- невідома територія
- ніхто не відповідає
- підлягають тлумаченню
Показано, що ця робота набагато більше схожа на мистецтво, і набагато менше, як повторювана нудна робота.
Я говорю про це з художниками досить часто (і, здається, вони мають інстинктивну думку, що робота за комп’ютером є нетворчою. Зазвичай мені також вдається пов’язати це з улюбленою формою мистецтва художника. На якомусь рівні більшість художників є також техніками - живописом. , танці, створення музики та, мабуть, будь-яке інше мистецтво - все це включає низку повторюваних занять, які приводять вас до точки виконання чогось нового, іншого, креативного. Якщо у цьому, у художників зазвичай виникають проблеми заперечувати, що, здавалося б, повторювана діяльність може призвести до творів натхнення та краси.
Тоді вони, як правило, готові визнати, що те, що моє "мистецтво" передбачає набір химерних вигляду синтаксичних висловлювань та чудових UML-діаграм, це не означає, що воно не креативне в цих рядках коду та моделі системи в підсумку складають щось зовсім інше, ніж сума його частин.