All of this is besides the point, but hopefully it'll illustrate why I hate arguments from both sides of the fence about visual design vs engineering. Engineers tend to think visual designers can't possibly code/build like the engineers. Because they went to school and put in the time, that this knowledge is somehow inaccessible to designers - and that's the way it should be. Flip the coin over and you have very similar arguments. Designers tend to think engineers will never be able to realize aesthetics in their own work, to intuit the feeling certain colors and ratios of visual elements have with each other that leads to the ill-defined "pleasure."
Both are wrong, very very wrong. All of this knowledge is accessible to everyone - if you work towards it. A designer can learn to intuit which data structures are necessary to build this/that app, thinking about scalability to infinity while maintaining practicality in the small-scale, before writing a line of code, in the same way an engineer can learn WHY aspects of design are beautiful, and how this beauty is relative to the system (aka the painting, or all of the songs of an album) as a whole. These are trainable things. But you just gotta' get out of your comfort zone and preconceived notions about both design and engineering.