Disclaimer: This is not a McDonald’s ad.
Before I start, yes I am a computer science major and no i did not really end up as a kitchen crew (at least literally).
I love being a backend developer, particularly server side. I enjoy setting up the server, processing requests, creating DB queries, etc. I’ve been a server side developer for over 2 years now. I knew from the start that this is where I belong. Why? server side doesn’t really require you to concern yourself on how the project will look like aesthetically, perfect for a person with no sense of design like me.
But what is a server in the first place?
Basically, the internet revolves around client-server interaction. The devices we use everyday, our mobile phones, tablets, computers. These are what we call the client. The server is just a software installed in another computer located remotely. You can simply say that the job of the server is to “serve” the client.
The comunication between the two works like this:
- Client makes a request to the server.
- Server processes the request.
- Server returns a response to the client.
And it goes repetitively on every action you do on the internet.
So what does McDonald’s has to do with servers?
Whenever a non-techie friend asks me about the concept of servers, I usually explain it using McDonald’s as an example. Luckily, it seems that they very well understood the concept based on their response. I got a lot of “ahhh”s and a few “how to be you po”s.
The customers are the end users, the cashier is the client and the back kitchen is the server. The customer gives the order to the cashier. Say, 1 cheeseburger. The cashier, then, requests the kitchen for 1 cheeseburger. Once the kitchen receives the request, it will now start preparing it and will then deliver the cheeseburger back to the cashier and back to the customer. Very similar to how apps work: every click, every tap, every action to the app is an order to the cashier which will relay a message to a kitchen (server) which returns a specific response back to the user.
Unlike the cashier/client where you have to maintain your smile and composure as you take the order of impatient customers/end users, kitchen crews/servers do not have direct contact to the customers. They only need to concern themselves to the requests coming from the cashier. The job of the server might sound extremely easy, but there is a far greater picture.
Crews in the kitchen need to account the goods that are in stock: are there still available chicken thigh parts to accomodate 3 more customers? Same goes with an actual server: Does it have the file the user is requesting? Crews also need to maintain the storage: Where should they store the fries? should it be inside the freezer or the chiller? For the actual server: How will the data be stored in the database?
Not just that, Crews should also be concerned on how to keep the secret ingredients secret. Of course they don’t want Jollibee to know what makes McDonald’s Mushroom Pepper Steak so tasty (Again this is not an ad). Actual servers need to safeguard the data it processes. Personally, i think this is a very cruicial task of a server.
Those that i mention above are just a few of the many tasks of a server. But my real point is, server is very important. It may seem very simple at first, but when you go deeper, it becomes more complicated. Nevertheless, it’s still very enjoyable.
A great population of end users might not really appreciate the job of a server because they do not know its existence at the first place. But the internet would not be operational without the servers, much like McDonald’s without a kitchen.
Writing this, now I’d be proud to put on my business card: Manrick Capotolan: Software Engineer/Kitchen Crew.