Category theory is a very fascinating area of mathematics. It’s unexpectedly powerful in an incredible width of different contexts, from the purest abstractions to the most concrete applications.
I’m far from being an expert in category theory, although I enjoy fiddling with it and looking through the categorical lens at the material of my courses. Needless to say, I find it all over the place (when you have a hammer, everything looks like a needle). I’m now studying algebraic topology and the categorical point of view is, unsurprisingly so, impressive. My understanding of what categories are  evolved a lot since I began to study the subject, nonetheless because I’ve been
reading studying a lot more material about it .
The two main roles of categories are arguably that of diagrammatic metalanguage and of mathematical universes (*topos theory intensifies*). Actually, the first dwarfs the second in importance, but my initial understanding of the theory was reversed. I think this is due to the diffused habit of giving ‘big’ categories (such as Set) as the first examples, and relegating small categories in a zoo of nice, whimsical, examples. It took me some time to understand diagrammatic language is the true hero of category theory, and that a good introduction to category theory should emphasize this immediately (MacLane does this, but fails [from a beginner perspective] in other ways).
Introducing categories as diagrams highlights also another subtle aspect, that is they are algebraic structures not less than groups and rings are, and as much as a ring can be regarded as a group with more structure, categories can be regarded as even more fundamental in this hierarchy, in fact so much fundamental that they’re expressive power goes over the roof. This perspective is not only a curious fact or a way to make definitions succinct (‘A group is one-object category where all morphisms are invertible’), but brings into light a swathe of structures whose importance seems undervalued in elementary expositions, such as posets/lattices, monoids and grupoids.
As any (good) abstraction, it provides a way to read things in different contexts, and it seems foolish to ignore it when they arise so naturally and so often.
For example, it is standard to introduce the fundamental group as following: you first talk about path connectedness, and show that concatenation of paths fails miserably to be an interesting operation. Then you go on with homotopy (of paths, usually) and magically recover a group from the concatenation operation, but not before having changed completely the subject from ‘paths’ to ‘loops with an arbitrarily chosen base point’! What happened to our nice, intuitive idea of concatenation of arbitrary paths? Why are we fixing a point now?  We are effectively moving the whole discussion from Top to Top*, without an apparent reason. We interrupted a smooth narrative with a sudden hip, and so happened to the natural flow of understanding.
But there’s a better way: just saying that concatenation, up to homotopy, forms a groupoid, which is still a very nice object! Moreover, now it makes sense to fix a base point, because that’s how you recover groups from groupoids. It makes more evident some stuff about isomorphism of fundamental groups (ah! that’s why they are not canonically isomorphic!) and you can still prove a lot of the same stuff, like a version of Seifert-Van Kampen theorem which is not more difficult than the usual one and immediately let’s you find the fundamental groups of the spheres, circumference included. Bonus: you will turn into a cool kid.
And what’s a groupoid? A category with inverse for every morphism, which is a very suggestive abstraction if you know something about groups: they’re description of symmetries, processes of a single-state system. A groupoid is then a way to describe a system with more than one state, but with the same reversibility properties.
Eventually, categories are a (or the?) natural way to provide abstractions for systems with state and transitions, and that’s how diagrams arise: they’re the most simple way to represent that, at least for us puny humans. Also ‘processes and states’ is a very familiar category of thought (in a philosophical sense) for humans, akin to ‘movements and positions’, which nicely fits the way most people  reason about concepts in mathematics .
To conclude I’d like to write down this table:
|One object||Multiple objects|
|Every morphism is invertible||Group||Groupoid|
|Not every morphism is invertible||Monoid||Category|
Which, as a corollary, gives us a great name for categories: monoidoids.
 It happens frequently in mathematics that despite the conciseness of formal definitions, the true nature of objects really transcends them and needs a good amount of contemplation to really permeate into your mind and become an intuitive understanding. Moreover, I’m convinced that the more simple and fundamental objects are, the more contemplation is required to achieve such profound knowledge of them, since simple abstractions are applicable to a greater breadth of contexts.
 Some words about the books which helped me. The first is P. Aluffi’s book Algebra: Chapter 0, which may seem rather clumsy in the beginning but then takes you a long way in building the right ideas to apply category theory to algebra. I attribute a big part of the effectiveness to the first chapter about sets, developed in a categorical way, and to the sobriety of the second chapter, in which he does not try to introduce the whole arsenal of category theory all at once but sticks to some concepts thoroughly developed. Remarkable is the choice of delaying for almost half of the book the introductions of functors!
 Also we managed to avoid speaking about points until now, if not in small deviations of the narrative! Now we are forced to drop our pointless (lel) point of view and bring them in again.
 Read that as ‘me’.
 Educational moral here: movement is a powerful metaphor to convey meaning, hence should be used a lot. Spatial cognition is one of the most developed intellectual abilities in humans, so it makes sense to exploit it for reasoning, as much as we exploit visual and language cognition.