Ah, you want to learn abstract nonsense! Good for you! Category theory (CT) is extensively used in computer science (for example, in the theory of programming languages). Moreover, even among practicing researches it has the reputation of a somewhat esoteric discipline. Some people are comfortable with it, but not everybody, and a lot of options are open only to the former.
The most elementary book is probably Conceptual Mathematics by Lawvere and Schanuel. It is of the kind that can be read not necessarily at a desk with a pen in hand, but it does teach you the right concepts, up to the ones that we covered only at the end of a graduate-level semester course. Also, Lawvere is one of the pillars in CT. I want to re-read this book. Another accessible (though oldish) book is Topoi: The Categorial Analysis of Logic by Goldblatt. It is available online.
I was recommended Category Theory by Steve Awodey. They say that he also has lecture notes online. There is also Basic Category Theory for Computer Scientists by Benjamin Pierce. I have not seen it, but I respect the author and read another of his books. The book used in the course that I took was Category Theory: An Introduction by Herrlich and Strecker. It's not bad, but uses a lot of examples from math (rings, topological spaces, etc.). The authors also have the book Abstract and Concrete Categories available online.
I recommend searching at math.stackexchange.com. There are several similar questions there and some good recommendations, including books for programmers, connections with other subjects, such as analysis, links to lecture notes, videos and so on.
Oh man , you are awesome . I was recommended to read the book by Pierce by a prefessor in the Math department but haven't started reading it yet . I will look at the book by F. William Lawvere , it seems good .