I also taught myself how to program at a younger age.
You'll be surprised how hard this is for many people. I was surprised by how many really struggled through the first introductory programming course in university.
Math isn't that hard. But for almost everyone it requires a lot of work to get to the next level. Some of the same skills transfer. Something too removed from where you are feels very alien, partly because of language, symbols, conventions, etc. and also not having the building blocks/theories etc.
Math/physics/engineering/programming rely on similar skills but need somewhat different attitudes. I know people who are great at advanced math (especially earlier generations) but don't think about it computationally at all, and their code is very messy. On the other hand I know great programmers who just don't like to think in terms of proofs and dislike the ambiguous and vague nature of math notation (yes, math is much more vague and handwavy in notation compared to its reputation, especially compared to programming). And there are people who love programming as a kind of puzzle and like prodding it for its own sake, pursuing elegance and will get nerdsniped for weeks if you teach them about quines, while others just love building things and whatever gets them there doesn't matter too much.
You'll be surprised how hard this is for many people. I was surprised by how many really struggled through the first introductory programming course in university.
Math isn't that hard. But for almost everyone it requires a lot of work to get to the next level. Some of the same skills transfer. Something too removed from where you are feels very alien, partly because of language, symbols, conventions, etc. and also not having the building blocks/theories etc.