> - discrete mathematics if you want to do CS
I'd guess the vast majority of software development jobs are like "gluing one API layer to another" and "writing simple-to-complex CRUD apps". Neither calculus or discrete mathematics really helps if your goal is to simply make a computer read data from database X and display it in webform Y.
I found all of the math required by my undergrad degree to be totally useless in real life programming. Whether you need any math at all will highly depend on the application domain you get in to. The most complex math I needed as a code monkey was vector arithmetic (3D graphics) and trigonometry (ocean and aero mapping navigation).
Just like it is safe to assume that most programmers aren't good at calculus. Or discrete math. Or proofs.
Most programmers will never design new solutions and are objectively terrible at their job.
I don’t think you know anything about professional programming if you think that makes them “objectively terrible at their job”. Sometimes businesses just need a website.
As an aside, those secretarial coding jobs will all go away within 50 years. They are only needed in the transition period where machines still depend on humans to talk to each other.
- calculus if you want to do engineering
- discrete mathematics if you want to do CS
You can teach these in university, it's not a problem. Calculus doesn't need to be taught in high school to everyone but it should be available and it should be the goal state in terms of curriculum pace for everyone so that you should have no problem taking it by the time you are 17 or 18 (which is what we're talking about).
Anything else propagates back to a regressive dumbing down in an earlier year, from an already dumbed down curriculum by international standards.