Who/What is a backend engineer?
Tags: backend, beginners, programming, webdev
Published: 2023-10-25 18:53:19

**Stranger:** Hey Varun, what do you do for a living? 

**Me:** Well, I work as a backend engineer! 

**Stranger:** Sounds fascinating! What is a backend engineer?!

**Me:** Ah, you know those wizards behind the digital curtain making sure everything runs smoothly? That's me, weaving code spells to keep the website enchanting and the servers spellbound!

**Stranger:** What a weirdo! I do not understand! 

**Me:** *sigh*. I work as a software engineer.

**Stranger:** Got it! Could have said this in the first place! 

The above is just an age-old example of the problems I and many other backend engineers or software engineers face while interacting with people unfamiliar with the IT industry.

And honestly, can you blame them? If I meet a 'Hepatologist' and they try to explain what exactly they do with the liver, it will take me a million years to understand! 

So I thought, why don't I answer and document this question (**What is a backend engineer?**) with my favorite **'Restaurant analogy'** ?! 

![Alt text of image](https://media.giphy.com/media/WsNbxuFkLi3IuGI9NU/giphy.gif)

---

**The Restaurant Analogy:**

> When a *<u>customer</u>* places an *<u>order</u>* after looking at the *<u>menu</u>*, the *<u>waiter</u>* takes it to the *<u>kitchen</u>* and gives it to the *<u>chefs</u>*. The chefs then prepare the food according to the customer's specifications. Once the *<u>food</u>* is ready, the chefs send it back to the waiter, who then delivers it to the customer.

In the above scenario:

- The *<u>customer</u>* is the web browser.
- The *<u>waiter</u>* is the front-end developer.
- The *<u>chef</u>* is the backend engineer.
- The *<u>kitchen</u>* is the database.
- The *<u>menu</u>* is the API.
- The *<u>order</u>* is the HTTP request.
- The *<u>food</u>* is the HTTP response.
- The *<u>lights</u>, _<u>furniture</u>_, and <u>utensils</u>* are the servers!

To elaborate further, the backend engineer, akin to a *chef*, is in charge of the kitchen (database), managing and preparing the ingredients (data) to fulfill orders (HTTP requests) from the customers (web browsers). They ensure a smooth operation of the kitchen equipment (servers), guaranteeing efficient delivery of the prepared dishes (HTTP responses) to the customers.

---

Sounds good?! Good! Enlightened with the above analogy, let us reimagine our initial conversation and add some grandeur to it!

**Me:** Well, I work as a backend engineer!

**Stranger:** Sounds fascinating! What is a backend engineer?!

**Me:** Imagine a restaurant. I'm like the chef who designs the kitchen, ensures the ingredients are always fresh and ready, and coordinates with the front of the house to ensure every dish comes out perfectly, even if you only see the waiter bringing it to your table!

**Stranger:** Wow! That sounds awesome! 

**Me**: 
![Alt text of image](https://media.giphy.com/media/cXblnKXr2BQOaYnTni/giphy.gif)

---

One of the practices in my life is to use relatable analogies to describe key situations! Especially when it comes to explaining what I do for a living! 

> Relatable comparisons build bridges, making complex concepts understandable, and are a great segue to strike an insightful conversation! 

What is your definition of a backend engineer? Let me know your thoughts!