Reasons to learn Computer Networking as a Software Engineer

I build apps, internal tools, and sketch stuff on my iPad. Into side projects, and occasionally sharing thoughts here.
Search for a command to run...

I build apps, internal tools, and sketch stuff on my iPad. Into side projects, and occasionally sharing thoughts here.
I vividly remember the day when my wife asked if I can show her how a website works.
I opened the Network tab of Chrome and just went through all the requests/responses that happened while opening the website of her favorite band. 🙂
Everyone should know the basics of computer networking!
Good idea showing a live preview of what happens behind the scenes.
I would have given a long speech and probably made them regret asking me... 😅
A collection of explorations into computer science topics beyond day-to-day software development. These posts document my efforts to understand networking, systems, and the foundations that power modern software.
Where to study Computer Networking from?Below is the list of Computer Networking resources that I use. These can be useful to everyone. No matter if you are a beginner, intermediate, or expert in the
I read Design Patterns Explained 2nd Edition a few months ago. I thought I'd finally write about it and some of the lessons I took away from it.I was reading the final chapters while starting Offline

Human Learning ML — Devlog #1

I used to think of tests as just a final check to confirm whether a feature worked. That perspective shifted a few years ago when I had shipped a feature, and later a teammate made changes that uninte

A sudden AI interest in my company has left me avoiding it as much as possible. I’ve been using Copilot for 3 years now and have been very happy with it. When ChatGPT launched, I quickly created an ac

Introduction Hey there! I'm trying out something new today. This is not a tutorial blog but more of a personal development blog.It has no conclusion or takeaway if that's what you're looking for. This

Listed below are the reasons why you might consider studying Computer Networking. It doesn't matter what your specialization is.
These are my personal opinions and reasons why I find this subject fascinating even though I don't directly work on it.
Note: You don't have to be an expert in Computer Networks, just knowing the basics gives an edge.
There are in no particular order.
Since we don't work in the networking field directly, we make some assumptions about how things might work. In fact, even the most basic terms that we ourselves daily use can be wrong.
For a long time, I thought that the source port is the same as the destination port in a network packet header. All the concepts that depended on this misconception were also erroneously assumed.
Our misconceptions might even be unknown to us until someone challenges them. So challenge yourself and question everything. Be curious.
There are certain terms that we often hear like routers, web servers, proxy, etc. If we invest time to understand these, it will help us gain a better understanding of the overall perspective.
We don't have to deep dive into them, but the concept behind them should be clear.
We're not just improving our vocabulary, but we're also understanding the meaning of the words as we use them in our conversations.
An API request like the below one seems simple at first look.
fetch('http://example.com')
But if we start unfolding it, it might take hours to understand the whole path.
An oversimplification would be like this:
Tracking the layers of TCP/IP model -> routers -> remote server somewhere in the world -> back to us
Just connecting all these dots reveals the "Big Picture".
 Source: [Standford](https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm)Now every time we work on a problem, subconsciously we'll think about it from a Computer Networking perspective as well.
The more I research computer networking, the more interested I become in its history.
I started with "How the internet works" and now I'm mapping together how HTTP came into the picture, its evolution from HTTP/1 to HTTP/3.
The questions like "Why does this tech exist?" and "What problems did it solve?" unravel the dilemma of which tech to use in what situations.
And this knowledge comes with practice as well as from knowing its history.
I'm amazed how Computer Networking is evolving and yet it's using the same principles.
If any of these reasons convinced you to dive into computer networks, what were they? I'd love to hear any additional reasons that you might add to this list.
Thank you for reading this article. If you enjoyed it, consider sharing it with other people.
If you find any mistakes, please let me know.
Feel free to share your opinions below.