The truth lies in the happy median: math is absolutely necessary for some programming applications, and helpful in the others - being able to distill a problem into easy-to-reason-about abstractions is helpful in any domain of programming, but a certain level of abstract thinking can be attained without formal mathematics.