You dont need math at all. I learned to program when I was 12. At the time, my math skills topped out at long division.<p>Then I went to engineering school. I had taken calculus in high school but failed. I failed calculus again in college. Twice (two different courses, once each). Eventually I gutted through it all and learned it, got my degree and went on to an enlightening, but short career in a very math-heavy role - structural dynamics.<p>Fast forward, and I do web development for a living. Not once* have I done anything in programming that required skills beyond those that I had when I was 12.<p>So you tell me, am I above average in math skills or not? I haven't a clue.<p>* I lied. I did build a ballistics calculator once - but that is a very specialized niche of programming. I can assure you there is little to no math in CRUD apps.
It also depends on what you're programming. I do iOS apps, which is basically just displaying pictures and grabbing data from the Internet-- no fancy math needed. Though I've been dabbling in OpenGL ES 2.0 recently and the shaders are kicking my ass with math!
This isn't a direct answer to your question - but why not work on obtaining a better background in mathematics? I guarantee you it isn't as hard as you think. Until you are at the very highest levels of numerical analysis or meta-mathematics, it's not beyond the cognitive capabilities of the average person - most people just give up and rationalize it by thinking it's beyond them.<p>Why is your math background so weak, in your opinion? If the answer is that you didn't put in the time, energy, and focus to learn it the first time around, then you have other problems beyond a weak mathematical ability. If it's that you never had good instruction, then it's worth the investment to find it.
Mathematicians tend to be good at solving puzzles. "Read the problem; state the problem; state what you know and what you need to know; think about how you find what you need to know and how to get there.".<p>That's pretty handy skill for programming.<p>Some people think that programming is an inherent skill - <a href="http://www.codinghorror.com/blog/2006/07/separating-programming-sheep-from-non-programming-goats.html" rel="nofollow">http://www.codinghorror.com/blog/2006/07/separating-programm...</a><p>Other people suggest that you just need to do it. (All those "Learn X the hard way".)<p>I'd be interested to know what the research says.
I find if you're good at applying logic you'll do just fine programming. Math really helps when trying to prove why good logic is right. Plus most math used in CS is just powers of two and basic algebra... nothing fancy.
The kind of math you need for programming (except in games, analysis, or other specialized subsets of programming) isn't trig/calc/etc. It's just simple logic, and except in that rare instance once you start speaking the language you don't even think about the fact that what you're writing are mathematical statements, it just comes naturally.<p>A lot of people get confused about the math requirement for programming. You don't need to know what 356^84 is, you just need to know how to tell the computer to calculate 356^84.<p>It's surprisingly easy once you get started.
Depending on what you want to program, lack of math knowledge might mean you'll have to dig a little deeper into some subjects at first and gain that missing knowledge. But that's it. Just some extra time. Go for it :)