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