A lot of professional programmers have no significant math background or have it but haven't exercised it so it's as good as absent. I'll even include many CS graduates here, whose college level math experience often ends with Calculus 2 (in the US) and linear algebra, perhaps a discrete math course. But then without any application to most of their other courses this information is quickly forgotten. I work predominantly with EEs and CS majors (my employer does not hire non-degreed persons for programming work, which does eliminate some really good candidates) and outside of the one teaching orbital mechanics, most would be hard pressed to solve even a basic linear algebra problem anymore. I've even had to re-teach boolean algebra to the EEs who seem to have forgotten even Karnaugh maps and how to use them.
And then there are all the non-technical majors who become programmers, like the many philosophy graduates I've worked with. This isn't to say they can't learn the math, but they often have even less exposure than the typical business major in the US.
And globally there are many people who come to professional programming without any degree at all beyond a high school diploma. And given the variance in high school curricula globally there's no way to say what level of math this group possesses, but they almost certainly lack college level academic math exposure, the majority at least.
> I've even had to re-teach boolean algebra to the EEs who seem to have forgotten even Karnaugh maps and how to use them.
Heh heh. Electrical engineer here. My first and last use of Karnaugh maps for a job was 14-15 years after taking my digital logic course. The irony was that it was for a routine programming problem: The customer had given me with an ugly flowchart and I felt I must reduce that monstrosity to something much simpler. I did, but then my fellow coworkers would always wonder if my result was identical to the flowchart. I would tell them to make a truth table and confirm it. Finally one coworker did that and left a comment pointing out he had already verified it. In one sense, it made the code less "readable", but no one wanted the job of doing a direct translation of the flowchart.
I did have to Google to remind myself how to do them, but it took only a few minutes to figure out.
And then there are all the non-technical majors who become programmers, like the many philosophy graduates I've worked with. This isn't to say they can't learn the math, but they often have even less exposure than the typical business major in the US.
And globally there are many people who come to professional programming without any degree at all beyond a high school diploma. And given the variance in high school curricula globally there's no way to say what level of math this group possesses, but they almost certainly lack college level academic math exposure, the majority at least.