Depending on who you ask, programming is both a science and an art. Telling computers what to do with computer programs requires being able to think analytically, like a scientist, and conceptually, like an artist. Being an artist is essential for coming up with big ideas and being flexible enough to take unique approaches. Being a scientist is essential to understanding how and why certain methodologies need to be taken into account, and to approach testing and debugging from a logical perspective, rather than an emotional one.
Luckily, you don’t need to be an artist ...