Let me begin by stating a fact. Software development is an art. If you disagree, or don’t quite understand how this is possible, let me explain.
Despite the notion that software developers, when schooled in an academic setting, do so under the umbrella of “Computer Science” or “Software Engineering”, I find that the process of developing software is neither science nor engineering, but an art. It is more like painting and sculpting than it is classifying organisms and particles, or designing automobiles and aircraft carriers. I can safely say this, in part, because I was at one time or another an art major, a physics major, a mechanical engineering major, and a computer science major, while studying as an undergraduate. Thus, I have a unique perspective of what it is to be an artist, a scientist, an engineer, and a software developer.