I have been a backend engineer for over 18 years and I witnessed technologies come and go but one thing always remain constant; The first principals the tech is built on. I don’t really mean tools, frameworks or even languages. Those evolve and change but the fundamental infrastructure on which the tools are built rarely does.
For example knowing how to setup Apache or IIS is one thing, understanding the commonalities and differences between the two web servers is another.
In this article I explore some of the fundamentals of backend engineering that are at the root of everything we use. You may choose to have basic understanding of all these fundamentals and become a jack-of-all-trades backend engineer or go vertical in one at deeper level and become expert in that area. There is no wrong or right, it all depends on what moves you.
The way to become a better backend engineer is never clean and straightforward. In fact, it is messy, it is full of trial and errors and experimentations that only you have to experience. There is no book, no course, no YouTube video or a medium article that can teach you everything there is about backend engineering. You have to experience it yourself.
If you are a recent graduate interested in backend engineering, you may find one or more of these fundamentals interesting and decide to pursue it.
The best way is to get your hands dirty. Let us get started.
Communications protocols link the frontend to the backend. Understanding how protocols work is a good skill to have for an engineer especially if they want to build a resilient backend application.
Almost all the protocols we use and love on the backend are either built on top of TCP or UDP. That is why understanding the differences between this two help the engineer make the right choice. For instance, TCP is a stream-based connection-oriented protocol while UDP is a message based and connectionless. TCP provides reliable delivery at a cost of connection setup and retransmission. While UDP starts faster but doesn’t have guaranteed delivery. Anything you build on top of these two protocols must adhere to their fundamental properties. TCP…