Once you learn sandwich creation magic, the next step is figuring out how to make it available to other people. It's fine if you use the magic for friends and family, but what if you want to let the whole town make sandwiches? You could open source it and tell others how the magic works, but then it's spreading through third parties and anyone can claim credit, modify, merge, or sell the magic without your knowledge or permission. Do you really want someone selling "Sefiria's Sandwich Creator" magic that actually just mines magical bitcoin?
So instead you set up some interface magic where people can call in sandwich orders, have the orders run through your sandwich creation spell, and send the created sandwiches back to the customers. This is fine until the day that you get 2500 orders at noon for a sandwich, and everyone is expecting their sandwich in less than 5 seconds. Suddenly it's not enough good enough that your spell creates a sandwich in half a second, it'll take 20 minutes to fill everyone's order. You could either spend another 6 months researching ways to improve the spell's efficiency, or you could set up another instance of sandwich creation spell and interface magic (hopefully you have enough mana to afford it) so you can fulfill twice as many orders as before. You can scale up as many creation-interface setups as you want, as long as you have enough mana or magicians willing to help. If you raise the cost of this service, you can use the money to buy mana potions or magical crystals to power your magical setups.
But when customers call in orders, which setup does it go to? So you add one piece of magic in front of the interface whose sole job is to balance the load
of orders coming in to each creation-interface setup "equally". If that's still not enough to handle the traffic, you can have the orders go into a MagicMQ queue that holds the order until a sandwich-creation spell become available to make that sandwich (this is several sprints of work as you decouple your interface from the sandwich-creation spell and add sandwich queues in. you may spend even longer if you realize at this point that you should have done micro-services, and so you separate each of these into separate services and setup SpellKeeper to manage all the interface, sandwich queue, and sandwich creation services).
With you, your magic supply, and your apprentice magicians (unpaid interns), you now have a robust enough interface to supply the whole kingdom with sandwiches even if everyone ordered at once. But at this point, people are ordering catering-sized orders of sandwiches, which naturally takes more time. They understand, but want the ability to check an order's status, so you create an in-memory list/cache of orders and their statuses that customers access through /sandwiches/orders/<order-id>, which also includes figuring out how often you should be updating this cache. Is it okay if an order status is 1 second out of date? What about 30 seconds, or 5 minutes?
I could keep on going, but this is why magic is a never-ending expedition and why magicians are so curious and creative. There are always more magical puzzles to solve.