Francamente, puedes ser un programador perfectamente adecuado en muchos campos sin un conocimiento fundamentalmente muy fuerte de las matemáticas. Es posible que no sea muy capaz cuando se trata de motores de juegos u optimización de enrutamiento de red, pero a decir verdad, muchas aplicaciones comerciales son bastante simples. Sin embargo, te animo a mantener viva la esperanza y no renunciar a las matemáticas.
Hay un mundo de diferencia entre las matemáticas que tomas en un nivel inferior y las matemáticas que tomas en un nivel superior. Es una cosa muy diferente decir que eres malo en Cálculo (yo era, le fallé a Calc I la primera vez que lo tomé) que decir que eres malo en Graph Theory. A medida que avanza a través de las matemáticas, el enfoque no está en la simple resolución de problemas que es francamente bastante aburrida y repetitiva y que bien podría hacer su calculadora gráfica. En cambio, el enfoque está en las habilidades de pensamiento lógico: construir pruebas es francamente muy parecido a escribir software.
La mejor clase de matemática que tuve fue la que consideré mi primera clase de matemática "real": básicamente, una clase de introducción a las pruebas que cubría un rango de áreas desde la teoría de gráficos hasta la teoría de números. El texto que utilizamos fue excelente ( Pensamiento matemático: resolución de problemas y pruebas de D'Angelo y West ). Puede que le resulte útil trabajar en ese libro para obtener algunas ideas para atacar las pruebas.
En general, ¿realmente necesitaba algo de las matemáticas que tomé en la universidad? No, probablemente no. Pero tener algunos antecedentes formales me dio mejores habilidades de pensamiento crítico, una mejor imaginación (generalmente hay muchas formas de resolver un problema, a veces bueno, a veces malo, pero una idea única puede ser útil) y confianza en la resolución de problemas.