For programmers who wish to learn Category Theory the best videos are those by Bartosz Milewski:
As a follow-up, Introduction to Category Theory 1-6 by Steven Roman is a very clear 6 part YouTube video series and quite good (but I can't put in more than two links yet).
The Catsters are ok, but the video production values are lacking, and the organization and coverage is definitely not competitive with Milewski's video series.
Generally the simplest book with 'REAL MATH' (e.g. for non-mathematicians) is:**
Milewski's blog/book is excellent and Steven Roman also has a very clear books (about $25 from his web site).
Quite good in my opinion: Elements Of Basic Category Theory 1996 Martini & Nunes www.inf.pucrs.br alfio TReports catti.pdf
Categories, Types, & Structures: An Introduction to Category Theory for the Working Computer Scientist Asperti & Longo 1991
For intuition, this paper and the quote following give some interesting ideas J. Baez, Categorification, available on the ArXiv: math.QA/980202
If one studies categorification one soon discovers an amazing fact: many deep-sounding results in mathematics are just categorifications of facts we learned in high school!
There is a good reason for this. All along, we have been unwittingly ‘decategorifying’ mathematics by pretending that categories are just sets. We ‘decategorify’ a category by forgetting about the morphisms and pretending that isomorphic objects are equal. We are left with a mere set: the set of isomorphism classes of objects.
To understand this, the following parable may be useful.
Long ago, when shepherds wanted to see if two herds of sheep were isomorphic, they would look for an explicit isomorphism. In other words, they would line up both herds and try to match each sheep in one herd with a sheep in the other. But one day, along came a shepherd who invented decategorification.
She realized one could take each herd and ‘count’ it, setting up an isomorphism between it and some set of ‘numbers’, which were nonsense words like ‘one, two, three, . . . ’ specially designed for this purpose.
By comparing the resulting numbers, she could show that two herds were isomorphic without explicitly establishing an isomorphism!
In short, by decategorifying the category of finite sets, the set of natural numbers was invented.
According to this parable, decategorification started out as a stroke of mathematical genius. Only later did it become a matter of dumb habit, which we are now struggling to overcome by means of categorification.
Many people will overlook: Sets for Mathematics, F. WILLIAM LAWVERE & ROBERT ROSEBRUGH but this book discusses the "Category of Sets" and not just classical set theory.0 You will recognize the first author (Lawvere) from Conceptual Mathematics which is often recommended as a good start to Category Theory.