Для того, чтобы быть эффективным программистом, необходимо знание математики. Причём совсем не тех алгебры с геометрией, которые преподают в школе.
Но не на уровне профессионального математика, доказывающего теоремы, а на уровне инженера, использующего математику для решения задач.
Другие точные науки не требуются.