I wonder how all the complications might be explained within this analogy.
- At this restaurant the waiter cracks the eggs & mixes up the cesar dressing at the table.
- This is a new kind of a restaurant. They cook all the food in front of you on a hot plate and you interact directly with the chef. There are still waiters getting drinks and clearing plates but they don't talk to diners much so they are "officially under" the kitchen staff. Most customer interaction is done by the chef. Originally there was no back end but eventually they decided they still need one for washing dishes and cutting the ingredients into pieces that can easily be handled by a front-end chef. Since all the chefs are out front, the head waiter is in charge of the "not-a-kitchen."
- Katie is the hostess but she also makes the spicy pepper sauce because its her recipe. The head chef traditionally serves the steak supreme when anyone orders it unless when Harry's on. He just doesn't want to do it.
- This place now has 9 locations. Hot food is assembled and plated by cooks. Salads and deserts are plated by the waiters. All the actual cooking, slicing and chopping takes place in a central kitchen and gets delivered 3 times a day. The kitchen is open so "Everyone Is Front End (patent pending)" and everyone where's the same T shirt.
No analogy is perfect. This one works well. I would revise the chef to the sous chef though. Unless the writer intended to set the back end dev in authority over the front end. Additionally, the chef designs the aesthetics of any dish. He is the creative force behind the public facing product.
In fine dining, the waiter's job is to turn the table in a set period of time without the guest feeling rushed. The waiter should know a great back story to every dish that leaves the guest feeling like they just read a.collection of short stories. The waiter should know how different flavors interact and be able to build and defend a three course meal by its taste. And the waiter should have absolute respect for the guest, knowing all guests are different.
I don't like the split between front and back end development. There are always some stuff that have to be done and are somewhere in between front and back-end, which developer will get to do it?
Yes, there are differences definitely. Some don't like mingling with jQuery and other JS stuff. Some don't like Java or Python or whatever on the back-end is used.
But some people do the whole thing, code from front-end to back-end and vice versa. They call themselves full stack developers.
To complete this analogy, waiters also provide you with knives, forks, napkins and dishes. These are the tools that make it a lot easier (and cleaner) to consume what the chef makes.
- At this restaurant the waiter cracks the eggs & mixes up the cesar dressing at the table.
- This is a new kind of a restaurant. They cook all the food in front of you on a hot plate and you interact directly with the chef. There are still waiters getting drinks and clearing plates but they don't talk to diners much so they are "officially under" the kitchen staff. Most customer interaction is done by the chef. Originally there was no back end but eventually they decided they still need one for washing dishes and cutting the ingredients into pieces that can easily be handled by a front-end chef. Since all the chefs are out front, the head waiter is in charge of the "not-a-kitchen."
- Katie is the hostess but she also makes the spicy pepper sauce because its her recipe. The head chef traditionally serves the steak supreme when anyone orders it unless when Harry's on. He just doesn't want to do it.
- This place now has 9 locations. Hot food is assembled and plated by cooks. Salads and deserts are plated by the waiters. All the actual cooking, slicing and chopping takes place in a central kitchen and gets delivered 3 times a day. The kitchen is open so "Everyone Is Front End (patent pending)" and everyone where's the same T shirt.