I did some browsing around here on MathOverflow, but I feel that my question is different enough from others that it warrants its own question.
I'm a computer science major, with a math minor, and have been working professionally for a couple years now. When I went through my undergraduate degree, I was basically trying to get out as fast as possible, and suffice it to say that I didn't take the time to fully digest or appreciate what I was learning, especially on the math front. I got the minor mostly because I came in with a lot of math credits, and because it would set me apart from those who just had a CS degree, not because of any particular passion for math.
While in school, I took courses through calc III, diff eq, lin alg, and then moved through analysis, topology, and algebra (one semester each) in a blur. I also got additional exposure to number theory through cryptology-focused courses, as well as some probability and statistics from Natural Language Processing and AI courses.
After working for a couple years, I decided to pursue a part-time master's in computer science, because this time around I genuinely was interested in pursuing material at a deeper level. Additionally, I've come to appreciate the value of math (both pure and applied), since much of computer science is based around mathematical concepts and underlying structures, and much of the "real world" is based on applied math. I know I wasted some of my time as an undergrad (I like to think of it as I wasn't mature enough to appreciate the math I was learning), but now I'd really like to learn more about math in all its abstraction, beauty, frustration, and je ne sais quoi.
Can you recommend a roadmap for re-engaging someone with a passion for software engineering, a desire to learn about the hidden beauties in the mathematical world, and the ability to draw connections between the two? I know I can't dedicate myself full-time to this venture, but I want to learn (or re-learn) things that will make me a better mathematician, and engineer.