Disclaimer: I'm never sure how it should be written: back end, backend, or back-end.
Lately I've had to explain to non-technical (read: lawyers, accountants, etc) people what is a back-end.
I've found out one thing: It's HARD
Do you have any tip, analogy, example, or something on how to explain what is the back-end?
Top comments (17)
Kitchen in a restaurant.
You come in as a client, you tell the waiter (front-end) what you want (request), the waiter passes your request to the kitchen, and out comes the delicious response. You and the waiter doesn't necessarily care what happens in the kitchen as long as you get what you want.
Edit: this analogy could be easily expanded, like how the waiter will also be the one to serve back the request, or how the whole process is the same for all customers (HTTP) etc.
amazing.. gonna keep this analogy for future references! :D
Best. Analogy. Ever.
This might be the best analogy I've ever seen.
I have used this exact same analogy to explain back-end to my wife just 3 days ago!!!
Soooo, did it worked well? :D
yeah it did! :D
And that's the reason so many people like this explanation.
This make me understand it easily. Awesome.
Oh well while we're at analogies
dev.to/presto412/visualising-the-j...
Picking from freeCodeCamp contributing guide
"Front-end development (adjective form with a dash) is when you working on the front end (noun form with no dash). The same goes with the back end, full stack, and many other compound terms."
Like John said with his restaurant example, it is a part of a business that the client don't really need to know how it works. Lawyers for example, can be a front end for all the back end that includes handling documentation, going to the court, requesting everything. Lawyers represent you in things you don't really need to know deeply how it works.
"Not the front end." :-D
The kitchen analogy works as an analogy. You can also point to other things like insurance companies, health care, etc. We as customers only experience the "front office," that is, the part that you as client/customer interact with. But there's a whole company machinery typically called "back office" that does everything to make the business run.
They may want you to be less analogous, though. You can use Facebook as an example. All the posts have to go somewhere and come from somewhere. They are not all on your phone. Back end is all the stuff behind what you see on your phone that makes Facebook work. The bits that you see and tap on your phone are "the front end," and everything else that deals with sending your posts to everyone else, and letting you get all your friends' posts is the back end.
I wrote about this term, and it is a matter of perspective.
Usually it is a short hand for "back end web developer", which deals with the "server side",the devs hidden in the closet that never sees the day light.
But depending on the team/product/perspective the term can replace any kind of technology/developer, example: on mobile backend is the code that deals with the server calls, on the server side is the part that deals with the persistence, and so on.
It's the rest of the iceberg.
I usually define it as the work that is done for the data/information that is going to be shown in the client, be it web or an app.
That's why anyone who ever worked as a waiter knows what "Front of House" and "Back of House" is.
I find it quite simple to explain as a car. Front end is the dashboard and controls, backend is the internal mechanics.
I like to use a car analogy. The backend is the engine. Without a well designed, reliable and running engine, the fancy in-dash infotainment system is useless.