I'd say most interesting programming tasks certainly have elements of interesting artistic tasks. They usually involve a problem that is hard to put in words but needs solving. Especially in the startup context it's fairly close to art (imo) since your canvas is so empty...often you don't even know if you're working on the right problem to boot and will only find out through a process.
I don't think this is a fair comparison. This is actually one of those cases where I like the distinction between "programmer" and "coder". What you're describing sounds like a "coder" or a "code monkey," not at all like what I do in my job. If you were to translate this job over to art, it would be something like tracing over lines, making very minor touchups to pre-specified areas, or perhaps mixing paint.
An artist who has complete freedom over their tools and their subjects would best translate to a programmer who also has complete control over their tools and their subject. They are not beholden to a company for specifics, except perhaps that something actually gets built. More likely this is one person who has an idea for a project and designs and implements everything themselves - and spends more time considering what features to add, the best way to add them, or otherwise experimenting with techniques, than actually writing production code.
What you described seems more like a managerial role and/or an engineering role that also encompasses product/UI design. In my experience, most of the design work - the actual creative part - is delegated to other people, and the actual implementation of these designs is the task of the engineer. As engineers, we're working on the least creative part.
If you're working / have worked at the Big 5, your experience is vastly different than the rest of the profession toiling away at CRUD apps and web sites 9 to 5. Lucky doesn't begin to describe it.
Perhaps whether or not you're exposed to creativity depends on where you, or the industry places you in the field.. perhaps the more experienced you are in an industry, the more opportunities you have for creativity?
That does not describe what I do as a programmer. I work with a lot of really smart people who respect my expertise and we discus the programming plan together. I am expected to come up with creative solutions to the problems we encounter and generally enjoy doing this. I code my own solutions and support the resulting software.
Frankly I'm sick of the whining from all the corporate drones who got into this field because they thought it would be a good way to make some stable money. If you sold out, if you didn't do it for the love of it, then you deserve what you got.
That says more about the artist than the medium. :)
Constraints breed creativity!
To make this concrete, in programming, type checking eliminates all the programs which would have a type error so they are good constraints. But some languages constrain you in arbitrary way which hurts. For example, Java doesn't let you do any functional programming and has a weak type system, which means introduces design patterns.
Ian Bogost wrote a good piece on this called "Shit Crayons" comparing games like Spore to Photoshop, where even though Photoshop is more powerful, most of the stuff you can produce is bad, supporting the idea of constraints. But then he took apart Minecraft for being overly restrictive, causing many things like houses to be dull. http://bogost.com/writing/shit_crayons/
Disclaimer: Have been writing music for almost 20 years, programming about the same.
"I want a picture"
"I want a picture of a bridge"
"I want a picture of this bridge that I built"
"I want a picture of this bridge that I built, in these colors"
"I want a picture of this bridge that I built, in these colors, from this angle"
"I want a picture of this bridge that I built, in these colors, from this angle, in this scale, made on this canvas, with these materials, painted with oil"
Do you get my point? The creative decisions could be endless, even with restrictions. Sure, not all programming is creative, but that's true about any creative field. Most of it is creative though, or rather, it's as creative as you are.
Creativity is not only doing aesthetics or poetry, the bare concept of creativity is unifying things that otherwise don't seem unifiable. Associate a dog with a circuit, that's creativity; innovation.
And boy, you have a lot in bare programming. There are many ways to write a code that does the same thing. Sure, not every code involves the level of creativity a painting can, but that's not to say programming doesn't have creativity whatsoever.
React, Redux, Sass, those all are great examples of programming creativity, just beginning by the problem they solve, it's creativity on his own...
Same with my profession: writing. I'm a professional writer. I get paid quite a lot for what I write, but what I write isn't art. I've just trained myself to produce a commodity that others find valuable. Obviously the craft of writing can be used to create art, but that's not what I do.
The craft of programming could be used to create great art, but that's not what most programmers do with it.
A programmer is given a very specific set of tasks (eg. send data from A to B, fix bug, implement X), and his problems are mostly technical. This doesn't even compare to the creativity involved in a real artistic endeavor like designing your own videogame, writing your own screenplay, or composing a song. The latter is totally open-ended, and chances are that whatever you create will be way more unique than the 10,000th CRUD app written in the hottest web stack (React/Redux/Sass, or whatever the cool kids are into these days).
Lack of creativity is actually one of my biggest complaints with this field.