|Software has to be properly prioritized. First it must perform its intended function. Next, in no particular order, it must work efficiently, easily, and reliably. In a word, it must be of sufficient quality to properly do its job.|
Further, the software must be completed at reasonable cost and without unnecessary delays.
To the extent that schedules and resources allow, software should be made attractive and distinctive. Note that these attributes are merely extensions of the 'quality' requirement above. That is, quality includes look and feel. However, such issues should not be allowed to compromise the program in its core effectiveness.
Also, note that the requirement that a program function easily and reliably usually involves a properly designed user interface. That, certainly, requires an artist's touch.
So, ultimately, a programmer should be both an engineer and an artist. A good programmer, however, will keep straight the priorities and be a programmer first -- which encompasses qualities of both artist and engineer.
For various reasons, however, a programmer should never call himself an engineer!