Backend Development
Tags: javascript, beginners, programming, career
Published: 2022-04-04 15:39:08

A lot of tech jobs around us involve web development. Though terms like web, frontend, backend and development in general are not jargons anymore. We find them being used around us very frequently and yet we get intimidated when asked how these things actually work. This article is written to bring more clarity on the term backend development. We will talk about what it comprises of, how it plays an inherent role in the whole web picture.

## The term-Backend
As the term suggests backend development is not our stage artist. It basically involves a synchronization of all the background components that help in executing a play. This brings us to our next question. What exactly are those components?
Try thinking about a website you have used say abc.com. Now abc.com allows you to register and login. How the password that you enter gets verified? Where does it get stored? Where does all the data that you consume from abc.com or generate or change the state of gets stored? Yes, you are right in a place that stores data also popularly known as a database.

## The DB a.k.a Database
Now if you think in terms of data, we generate tons of data everyday. Can a website carry all data, structure it, maintain it securely on its own? No, that's what a database is for. It is a different component altogether. But a website clearly interacts with a database all the time by fetching information from it, storing new information , deleting records etc.

##You Get What You ASK for 
The best way to understand this is by taking an example of Google. If you breathe today then you have probably used Google. As we know Google contains a lot of information or maybe most of the information around the world. Does it give you all of it? Or does it give you what you ask for? Definitely the answer is the latter one. So you make a request and a response associated with that request is served back to you. In web, these requests and responses are handled via the HTTP protocol. Now who makes these requests? The end user makes these requests from the frontend. This is exactly like you logging in to abc.com or typing something to search on Google. Your query is turned into a request and is sent to the backend which will essentially send you back the response. But what exactly in backend? Is it the db? Is the Http? No, my buddy its the server.
##Server-our mini machine
Think of server as a machine which gives some output by processing certain inputs. Yes just like a computer. So abc.com has a computer like thing which manages their website by interacting with the database as well as the frontend. Taking up requests and sending responses. So server is like that guy who connects everyone by interacting with all the components. It takes up requests via HTTP from the frontend, it processes it , if required fetches information from the database and also gives it back to the frontend and eventually to you, the end user.
##The Big Picture
So backend development comprises of a server which handles http requests from the frontend/client, generates appropriate responses, fetches information from the database, makes changes to the database and so on.
## The backend Developer
So what does a backend dev do? The backend developer creates a server, ensures that its running at all times, creates a database, manages it, makes changes to it and ultimately deliver everything in the form of APIs. Now what the heck is an API?
##API-The middle man
API is application programming interface which basically is the connection maker between our frontend and the server. So when you type something on Google, the frontend calls an API which in turn passes a request to the server. The server might perform certain processing that we already discussed and will give the response to the API. Then the API will eventually pass the response to our application or to you. 
Voila!! That's all you need to know about backend development in order to be excited about it or taking it up as a career.