In engineering, as in other creative arts, we must learn to do analysis to support our efforts in synthesis. One cannot build a beautiful and functional bridge without a knowledge of steel and dirt, and a considerable mathematical technique for using this knowledge to compute the properties of structures. Similarly, one cannot build a beautiful computer system without a deep understanding of how to "previsualize" the process generated by the code one writes.
Gerald Jay SussmanBeing smart in the arts is the same as being smart in engineering is the same as being smart in writing is the same as being smart in anything, really. It's the ability to manipulate all the pieces of the puzzle in your mind, try to fit them together, and when they don't fit quite right... you sand the edges/corners and make them all fit.
Gerald Jay Sussman