Если углубиться в языки программирования, то даже при не высоком уровне математики, логическое мышление должно быть на высшем уровне. Но математика даёт развитие этого мышления поэтому, ответ очевиден математику нужно знать на достаточно хорошем уровне.
Да, нужно. На уровне ВУЗовского учебника дискретной математики (от целых чисел и матлогики до множеств и графов).
Плюс математика, необходимая в конкретных областях программирования:
Вещественные вычисления - вычислительная математика.
Азартные игры - теория вероятностей.
Логические игры - комбинаторика.
Бизнес - теория игр.
Планирование - линейная алгебра.
3D - вектора и матрицы.
Моделирование "физики" - дифференциальные уравнения.
Базы данных - реляционная алгебра.
И т.д.
P.S. Даже в CSS матрицы и тригонометрия используются: matrix() и matrix3d().