I am no expert or even amateur yet at category theory. I have browsed some of the books, read a few introduction chapters, understand the very basics of what categories are, and have heard about them a lot in the programming world related to type theories. I get the sense that categories are valuable abstractions somehow, but don't yet know exactly how they work. Given that, wondering if you could explain how you could create a category out of nothing, so I could better see the link from legacy mathematics to category theory mathematics. Creating a category when the category never existed in the first place (like we are starting from scratch).
I am pretty familiar with mathematical groups in group theory, or perhaps less so rings and fields, so maybe you could demonstrate at a high level (doesn't need to be extremely precise and/or technical) how you would go about creating the Grp category, had it never existed! That is, what are the things you would think about or consider to go from standard / your typical ideas of groups and all there various properties and axioms, to the Grp category. If you could break it down into action steps that would be great too, but not really necessary.
For example, the Wiki page says of Grp that it "has the class of all groups for objects and group homomorphisms for morphisms". Further, it goes onto say:
The monomorphisms in Grp are precisely the injective homomorphisms, the epimorphisms are precisely the surjective homomorphisms, and the isomorphisms are precisely the bijective homomorphisms.
The category Grp is both complete and co-complete. The category-theoretical product in Grp is just the direct product of groups while the category-theoretical coproduct in Grp is the free product of groups. The zero objects in Grp are the trivial groups (consisting of just an identity element).
How did they arrive at all of these conclusions when starting from the basic set-theoretic models of the group? Why did they choose "group homomorphisms" for the morphism? Why are groups themselves the objects and not the elements of the group like is your common reference point in the set-theoretic perspective? Why did they come up with all these labels like "the monomorphisms in Grp", and how did they come up with all the other statements? Etc.
Basically, I understand (barely) what Categories are. I can read the definition of the Grp category to some degree (and am looking through the other standard categories concurrently). But what I am completely missing is the relation it has to the original group theory (set-theoretic) constructs. How did they take the original group idea based in set theory and come up with all these terms for things in category theory, and how did they know what to plugin where basically? Do you just draw the categorical "objects" out of a hat, and then pick an arbitrary function (homomorphism I guess) as the morphism? Or are we doing something else, I just don't get how the Grp category (or any category as of yet) was constructed out of thin air given the backdrop of the existing/previous mathematical theories.