linear algebra
Probability and mathematical statistics
Discrete mathematics
It is the foundation. . Generally, programming these is enough, mainly focusing on
Mathematical analysis (logic)
. Maybe a lot of it is unnecessary, because the software industry is very standardized now, so I guess you can stop here.
If you want to go deep into the algorithm, there is graph theory.
Knowing as much about combinations as possible and having enough mathematical knowledge, you can come up with many good problem-solving methods to improve efficiency, such as Google's engine, Adobe's graphics software and so on.
Large professional software
Are based on excellent algorithms.
The essence of programming is only a basic part (that is, algorithm) to realize your idea.