"You don't need any math more complex than simple algebra."
I can only partially agree with this statement.
Software implementations do not live in a vacuum. If the domain you are developing software for depends on higher math then the software engineers working in that domain NEED to have an understanding of higher math, physics, etc. depending on the domain. I have seen disasters when this is not true. For instance I know of a software team that was charged with computing locations based on the TDOA algorithm for the US military. However earlier in their data pipeline they had truncated nanosecond accurate times to milliseconds because that programmer couldn't conceive of why anyone would ever need time to be more accurate than milliseconds. The team as a whole could not understand why their location results seemed random (+/- a continent). They had no understanding of hyperbolic math, the implications of the speed of light or any of the other basic things they needed to understand to solve the problem. They had been handed an algorithm which they had dutifully translated into code, so in their mind the problem must lie with the mathematician that gave them the algorithm. The mathematician was not a software engineer and was not in a position to use a debugger to notice that the times had been truncated. When the team was told what was wrong via a very specific bug report regarding the truncated times, they, as a group were angry and killed the messenger.