I think that abstract symbol manipulation within a set of constraints facilitates skill transfer between math and programming. Learning to see paterns, to perform abstractions of statements for simplification, to construct something larger out of component parts bottom-up (like simple proofs,) these are all useful skills in both.
Remember, he's writing a letter to his former self, so the advice applies more to his life than it does in general.
Of course if you are not competent in math you won't do well at that kind of task, and because you don't know better you won't necessarily recognize your inability for what it is.
It is always people that don't understand math and its application that say oh, I don't need it for what I do "web development I am looking at you" and then wonder why their systems are, complex, ill performant, and inelegant.
Please learn math before you say you don't need it. Or more specific to this article stating that programming is complex / hard and following that with you don't need math. It's only hard because you are not using math.
I have done 3D simulation, AI, robotics, embedded and now web over the coarse of my career and the only complex systems that I have run into where designed without the assistance of mathmatics.
Even to individuals with a lesser grasp on certain forms of mathematics. Math helps you find elegant solutions to complex problems, this is hard to convey to someone who does not have the education in mathematics and they only get that they have been doing things the hard way after they have learned mathematics and found that the two are interrelated even for web development.
At that point, if you haven't figured out basic algebra at least, you'll have trouble conceptualizing the data. At best, this means you won't be as efficient as you could be, at worst, you'll write buggy code.
There would be a lot less terrible code written out there if people had a better grasp of discrete math, knew how to make their O(n) analysis, knew how to create and implement provably correct algorithms, knew lambda calculus and e.t.c. and that's just for general programming. I would say a basic grasp of set theory and graph theory applies to almost everything too.
And... well, I can't say that I've ever explicitly used any of it in programming. I suspect you're falling into the trap of generalizing from a field you're familiar with to all fields, and that's a generalization that doesn't hold up.
But the ongoing influence, the style of thought, the ability to visualise and the ability to abstract away from the details - these things I use all the time, every day. They have been enhanced and honed by all that math.
I use my math background implicitly all the time, and I don't know how I'd do what I do without it.
And this is perhaps the most important point about studying math. Often the greatest take-away is the abstract problem solving capability, not the material itself. I've never had to analyse the genus of a manifold in real life, but I have thought about objects moving in an 11 dimensional space with holes, because while everyone else was stuch in the detail, I was seeing things differently. It turned out that the combination of styles was critical to solving the problem.
That's why I got a degree in philosophy.
OK, not the only reason, but one of them...
Meanwhile, I think my point stands. Too many people seem to have an "OMG you don't use linear algebra every day? What kind of crap programmer are you?" attitude.
I say this as someone who periodically finds yet another way to use my math background to help me do things while my co-workers in the same job don't. Which is why I'm the one who got to do the statistics for evaluating A/B testing, eliminated multiple performance problems others had come to accept, and gets tapped to tackle complex "how do we figure this out" problems from time to time.
And yes, I've had the fun of seeing co-workers who theoretically had the same job as me argue that math wasn't useful for programming, while I was sitting there with a list of examples of how I'd recently used my math background. (But then I got promoted into a different job title and in those discussions those programmers were able to respond that of course I needed more math for reporting, but they didn't need it as web developers. Never mind that I was the guy who got asked to help when the database had trouble scaling at peak traffic of several million pages/hour...)
Really this seems to me to be a variant of the blub paradox. If you haven't learned to reflexively see the benefits of thinking in some new way, you won't recognize how thinking that way could help with the problems you are solving day in and day out. Conversely if you have gained those mental skills, you recognize their utility in situations that other people wouldn't dream they are applicable for.