Linear algebra, discrete math, calculus. The mathematical underpinnings of algorithms and data structures. Turing machines will be a lot more useful once you actually know how to use properties to prove more things. A kindergartner can recite the layman description of an infinitely long tape with ones and zeroes but such simplistic understanding has very little practical use if you don't understand how it fits into the context of CS in general. Machines improve, architectures evolve, frameworks change. But math doesn't. Every few days there is a new "linear algebra for machine learning" guide that pops up on HN and every now and then there will be a "how to learn math" question on HN. The lack of mathematical maturity among software devs and engineers is not a good thing and reflects poorly upon the industry. Too many universities these days focus mostly on practical leet coding rather than the theoretical underpinnings of CS. An in-depth study of the finer aspects of a networking protocol would become outdated the moment the next iteration comes out, but a close examination of Shannon and information theory will serve you well for life. There seems to be a continuous myth that undergraduates cannot code a FizzBuzz to save their lives and thus all focus should be placed on testing that specific skill. This mentality of being dismissive towards math is pernicious to computing as a science and relegating theory as "stuff I never ever needed in my n years in industry" creates a harmful echo chamber for software engineering.