You don't need math skills for programming work.
You do need them for theoretical computer science, and in turn, you need theoretical computer science to invent something new that you could program. Most programmers don't do theoretical work themselves, and most theoretical computer scientists don't finish their software ;-) It's a completely different type of job.
I'd have to agree with this. The programmers I work with have probably never written a quick_sort() routine in their life, but surely they write code that implements a sorting routine somewhere.
We're in an age where, "There's an API for that!" and a complete newbie can jump in and make a program that functions fairly well. Not to mention the consumer base is progressively becoming content with mediocrity, especially when it comes to programs.
Finding people who can program in assembly language, or C is probably getting more difficult. Are they needed? Of course, but not nearly much as the many high-level coders that we need today.
Today, coders can get away with nested if/then/else structures that run 70+ levels deep, because it works, and computers are fast enough to where speed is negligible until a user complains about it, and only THEN is it addressed.
Ask around and see what coders today say about Big-O notation or memory management. They just don't need to care about those things any more.