How I completed basic concepts of Computer Networking as a developer.
Tags: networking, learning, developer, tutorial
Published: 2022-04-16 07:21:41

***As a software developer, it is necessary to understand how computers communicate and "talk" to each other, and thankfully I have basically completed what I wanted to know about computer networks, so I recorded it in this post.***
- This post is so that I can look back and be grateful if it's useful for someone. As a developer, I have chosen my own way of learning which focus on basic concepts and analyzing the big picture instead of going into deep of details, which helps my learning become more interesting and productive.
- **Of course**, this maybe makes me not touch enough knowledge about networking for my software building work, but no matter, because when we have the overview map in our hands, we can improve our skills along the time.
- **Notice:**
   - The article describes the main timeline and resources in the my learning process, so it should only be referenced and applied in your own way to your schedule for maximum effectiveness.
   - This is a personal sharing and there are many flaws and mistakes, you should consider as reference or entertainment purposes only ^^
- **Ok, let get started!**
- **First of all**, when learning about the problem we need to know **what it is** and **why is it necessary** for us. To complete that, we can play with google, research. Ok, after I run through many websites, blogs,... I found a complete article that was exactly what I needed: [***Developers Need to Learn Basic Network Engineering***](https://betterprogramming.pub/developers-need-to-learn-basic-network-engineering-c67767969cd5)
    - ***Note:*** Neverless, in my experience, you should add one more concepts in the list to learn, it’s HTTP and HTTPS which is one in *****[Three Features of Every PWA.](https://love2dev.com/blog/progressive-web-app-features/)*****
- Okay, we already know what it is and why we need to understand it, **next**, we must **determine what we need to learn** for concise and not wander and fall into tutorial hell, thankfully, the above article covered that also for developers.
- After knowing what I need to learn, this is **the journey I went**:
    - ***Introduce to Computer Networking:*** I approached the first content on different site sources, but in the end I chose [tutorialspoint](https://www.tutorialspoint.com/) to grasp the open invitations with networking. It's **[*here*](https://www.tutorialspoint.com/data_communication_computer_network/index.htm),** let free to click!
        - **Note:** However, I recommend you guys feel free to check this slides that I found in the my revison process. Maybe it help your approach more clearly.
            
            [***FUNDAMENTALS OF NETWORK COMMUNICATION***](https://drive.google.com/file/d/1RkGYldnyZZpHpib8_Kbv0hAkJgR042NS/view)
            
    - ***Clarify and simplify knowledge:*** Yeah, we have holded clues about networking, so **let go to clarify what we want to know**. Thankfully, belong this timeline, I found two extremely easy-to-digest lecture series that can facilitate for our process.
        - **First**, is the video series [**“*Cisco CCNA 200-301*”**](https://www.youtube.com/playlist?list=PLF1hDMPPRqGxpYdo0ctaa7MxfOi9vjs1u) by CertBros, if you don't know what CCNA is, try to googling!
        - **Next**, is the [**"*Network Fundamentals*"**](https://www.youtube.com/playlist?list=PLDQaRcbiSnqF5U8ffMgZzS7fq1rHUI3Q8) series of Network Direction channel.
        
        Both of these video series are simple and easy to understand, but each instructor will have **a few own extra points** that are very useful and maybe we should watch both if possible to grasp the problem better. **A little updated**, I also came across a couple of videos about networking of [***PowerCert Animated Videos***](https://www.youtube.com/playlist?list=PL7zRJGi6nMRzg0LdsR7F3olyLGoBcIvvg) which are as awesome as the cources above follow by my point of view. **However**, since the series is quite long, if you have time problems or prioritize other more important factors, **focus on the core points**, topics that you set your goals in the first place. When it's done, let's feel free to learn more topics/concepts that you favorite or curious.
        
        **Ok, it’s your turn, let’s make it be done!**
        
        ***...***
        

####  **Alright, look back, check check check**! OSI model, TCP/IP, UDP, DNS, HTTP/HTTPS... done.**
- So let's come to **The Scenario Quiz** and check out, or maybe need a review. You can also find a similar overall picture [***here***](https://academind.com/tutorials/how-the-web-works), as a view of a developer. But, ***let’s challenge ourself to explain more specificlly with what we learn***. Below is what I drew to facilitate me in the process of describing with my own words about the scenario where computer communication works, so crazy but free ^^.
        
        
![ansNWC.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1650091235286/RGJEs1_l7.png)


And **the last step** is to enjoy the moment, **be willing and confident** for any relevant knowledge at any time.

**Keep on learning.**

Thanks.