Even though I always apologize for everything anyway...
It depends entirely on whether you see your programming as engineering or as computer science. I'm an engineer. Engineers use basic mathematics and rarely have to do anything more complex than trigonometry. If I need to do more, then I use a library written by someone else.-- from a discussion on the necessity of mathematics in programming
The situation is analogous to the relationship between a mechanical engineer and a materials scientist. The scientist does clever things like come up with new alloys and oils, the engineer uses them to build machines that make a zillion coke cans an hour. Neither can do the other's job, and neither is particularly useful on his own.
I like this description a great deal, because this is a division that not having a grip on bothered me. I've always wanted to be that engineer...partly because I don't really think of myself as having the chops to be that materials scientist.