Я обычно объясняю, что программирование - это творческое решение проблем. У вас есть проблема - вам нужна функция в продукте (а я обычно выбираю известный продукт, Amazon.com, MS Word и т. Д.), А ее там нет. Это никогда не было сделано раньше, и вы первый, так что это как любой художественный проект - у вас есть видение, но вам нужно найти путь.
Я также акцентирую внимание на том факте, что существует несколько способов решения проблемы, множество действительно плохих способов и, возможно, более одного хорошего способа. В долгосрочной перспективе может быть лучший способ, но этот лучший способ не будет очевидным в течение длительного времени (расширяемость, возможность повторного использования и т. Д.), Поэтому во время разработки существует множество важных оценочных решений.
Наконец, конечный продукт может быть любимым или ненавидимым получателем. Точно так же, как некоторые люди любят Пикассо, а некоторые не могут создавать головы или хвосты современного искусства - некоторые люди могут любить функцию, а некоторые могут ненавидеть ее. Вы делаете лучшее, что можете для большинства людей, и понимаете, что не можете угодить всем.
Сфокусироваться на:
- неизвестная территория
- никто не ответит
- подлежит толкованию
Показывает, что эта работа больше похожа на искусство, и намного меньше похожа на скучную скучную работу.
Я часто обсуждаю это с художниками (и у них, похоже, есть инстинктивное убеждение, что компьютерная работа не является творческой. Обычно мне также удается связать ее с любимым видом искусства художника. На каком-то уровне большинство художников также являются техниками - живопись танцы, создание музыки и, возможно, любое другое искусство - все это включает в себя серию повторяющихся действий, которые приводят вас к исполнению чего-то нового, другого и творческого. Таким образом, у художников обычно возникают проблемы, отрицающие, что, казалось бы, повторяющиеся действия могут привести к к произведениям вдохновения и красоты.
В этот момент они обычно готовы признать, что только потому, что мое «искусство» включает в себя набор причудливых синтаксических операторов и невнятных UML-диаграмм, это не означает, что они не креативны в этих строках кода и Модели системы в конечном итоге делают нечто совершенно иное, чем сумма ее частей.