Ask Slashdot: How Many of You Actually Use Math?
An anonymous reader writes with a question that makes a good follow-on to the claim that mathematics requirements in U.S. schools unnecessarily limit students' educational choices: "I'm a high school student who is interested in a career in a computer science or game development related position. I've been told by teachers and parents that math classes are a must for any technology related career. I've been dabbling around Unity3D and OGRE for about two years now and have been programming for longer than that, but I've never had to use any math beyond trigonometry (which I took as a Freshman). This makes me wonder: will I actually use calculus and above, or is it just a popular idea that you need to be a mathematician in order to program? What are your experiences?"
If you want to be an efficient programmer in some specific domains, an understanding of higher math allows you to optimize your code. In game development this becomes important when you are trying to have your cutting edge game run on older hardware.
Two out of three Of my jobs after graduating have required math. The first job involved video encoding, decoding, and cryptographic signatures. If I didn't have knowledge of advanced math I would have found it almost impossible to understand the algorithms, and to make optimizations that were required.
The second job required linear algebra to do calculations of target positions from a moving aircraft to track up to six moving ground targets. I'd say the math experience is also nice to have just from a problem solving Standpoint.
I look for places to use my math skills, and find plenty. I was differentiating to find minimums this morning, and I've used a lot of calculus, linear algebra, and even number theory recently. However, I could find plenty of work which requires nothing more than knowledge of how to use a 4-function calculator. I just don't personally find such work very satisfying.
I've been instrumental in hiring decisions of couple of dozen programmers by now. If a person says math isn't their thing, it's not the end of the interview, though strong math skills are a plus. I'll often be interested in a physics Ph. D. or mathematician, even if they don't yet know how to code, but if a guy can't show strong analytic skills in math, I need to see some demonstration of coding skills. For example, a person with strong 3-D visualization skills can become a good router guy without advanced math skills, though they have to be competent in high school level math. We just put such people on projects that wont require advanced math.
In our work (chip design related algorithms), we have to have some serious math geeks, but it doesn't have to be the whole team. We've got a brilliant IIT grad who did our sparse matrix backwards Trapezoid interconnect delay simulator, running 1000X faster than SPICE, with the same accuracy. There's some cool discrete math in our logic optimizer. The linear algebra in the placer is cool. We're also doing some analog design aids, and it really helps if you understand the math behind the algorithms you're expected to code, and analog optimization is heavily mathematical. Advanced logic optimization some advanced math, as does many algorithms that come up in chip design. I've been doing a bit of analog, which is heavy into Z transforms, and Laplace transforms. I've also recently done a bit of signal processing involving custom optimized FFT code. Transformer design can be done by "rule of thumb", but to write the code to do it well requires solid understanding of both the physics and the math behind it. Those who enjoy advanced math appreciate being assigned projects where they can put their mathematical reasoning skills to good use, and those who hate math appreciate not being on those projects. It all works out. You just need a good mix.
Celebrate failure, and then learn from it - Nolan Bushnell