Can you speak towards what you self-studied to get to an undergraduate understanding of mathematics and what resources, or books you used in the process? I’m also interested in the resources you used or recommend for learning category theory.
Motivation and direction are important when starting out. I decided pretty early on that I wanted to be an algebraist, but would have to build some mathematical maturity before I could get there, so I had a rather shallow goal in the beginning: to be able to solve the previous years' math GRE papers. Off the top of my head, these were some of the books that I worked through:
1. Spivak's Calculus.
2. Johnstone's Notes on Set Theory and Logic.
3. Gamelin's Complex Analysis.
4. Hoffman & Kunz' Linear Algebra.
5. Dummit & Foote's Abstract Algebra; just the group theory.
6. Munkres' Topology; just the general topology.
Once I was happy with my preparation, I strived for a deeper understanding of Group Theory. I bumbled through Herstein, but didn't understand it very well. Then, I stumbled upon Artin's book, and worked through it using the outline provided on the MIT OCW course page, and I could confidently solve most of the exercises.
For category theory, the top resources that I would recommend are:
1. Mileweski's Category Theory for Programmers, the video lecture series. As is always the case with video lectures, this one can help motivate a Haskell programmer uninitiated in category theory.
2. Goldblatt's Topoi. It's fairly dated, but teaches category theory well, via its application to topoi.
3. MacLane's CatWork. I'm not especially fond of this one, but it's necessary to work through it.
The most important thing to understand when learning category theory is that it cannot be learnt in a vacuum: the subject is entirely vacuous, and you need to use it in other mathematical disciplines to give it meaning.