Fundamentals of Backend Engineering
You will enjoy Backend Engineering
This course will take you out of usual grunt work of tutorials and confusing abstraction to absolute joy in the craft of backend engineering.
Let me take your hand and walk you through this art.
BUY NOW
58,500+
Engineers enrolled
4.7
6,956 ratings
English
Course Language
Last Updated
August 2026
Course Overview Video
18 hours on-demand video
43 downloadable resources
Access on mobile and TV
Full lifetime content access
Certificate of Completion
What you'll learn
- IP/IP Protocol
- UDP Protocol
- Understand the circumstances where requests and responses are slowed down
- Learn how DNS works
- Learn how TLS works
- Learn the building blocks of TCP/IP Protocol
- Learn the OSI Model and where your application fits in it
- Understand the performance impact of TCP/IP in Backend applications
- Learn how Routing Works inside out
- Make better decisions on what protocol to select for the Backend
- Build and Design better TCP/UDP Backends
- Use Wireshark and TCPDUMP to inspect traffic
- Build TCP and UDP Servers with multiple languages (Javascript and C)
- Networking with Docker
Course Description
We are entering an era in software engineering where we rely on libraries and frameworks to do most of our work. While this is useful and save tremendous dev hours, it creates leaky abstractions that manifest in form of performance degradation, unexpected errors, 100% CPU , network and disk usage, hangs, latency and many other. It becomes difficult to articulate what goes wrong on the backend and how to fix it when engineers don't understand the basic building block of what they are interacting with.
Network communication is one of the most critical pieces in backend engineering. And the TCP/IP Internet suite is the basic fundemntal building block of communications that link the frontend to the backend. Any protocol we use eventually gets encapsulated into either a TCP segment or UDP datagram. That packet is wrapped in an IP packet which is placed into a frame and then sent across the network. These layers are important to understand for backend engineers in order to optimize the stack, minimize latency, and increase throughput. What matters is the true understanding of these pieces and not just memorizing definitions and packet headers to pass an exam. If an engineer truly understood what is happening when their backend API receives an HTTP POST request for example, they will be astonished at how much is happening behind the scenes. They would completely change the way they approach backend API designs, they will try to select the best protocol for the job, and they will tune that protocol to its maximum potential. They will start asking questions about frameworks and libraries that nobody else does. It is those questions that will make them fully utilize those framework to their maximum potential.
This course is primarily designed for backend engineers who built applications, services or APIs and want to take their skillset to the next level. If you are a frontend engineer who are interested in the backend and have attempted to build backend apps before this course is also for you. If you are a network engineer who already know the basic fundamentals and want to start building backend applications effectively this course might help you bridge the gap
This course is not designed for those who want to pass network certification tests (CCNA, CCNP, CCIE etc..)
Curriculum
-
Module 1: Introduction
4 lessons- Welcome
- Who is this course for?
- Course Outline
- Download Course Slides and resources here
-
Module 2: Fundamentals of Networking
4 lessons- Client - Server Architecture
- OSI Model
- Host to Host communication
- Fundamentals of Networking Quiz
-
Module 3: Internet Protocol (IP)
8 lessons- The IP Building Blocks
- IP Packet
- ICMP, PING, TraceRoute
- ARP
- Capturing IP, ARP and ICMP Packets with TCPDUMP
- Routing Example
- Private IP addresses (Airlines WIFI example)
- Internet Protocol Quiz
-
Module 4: User Datagram Protocol (UDP)
6 lessons- What Is UDP?
- User Datagram Structure
- UDP Pros & Cons
- UDP Server with Javascript using NodeJS
- UDP Server with C
- Capturing UDP traffic with TCPDUMP
-
Module 5: Transmission Control Protocol (TCP)
12 lessons- What is TCP?
- TCP Segment
- Flow Control
- Congestion Control
- Slow Start vs Congestion Avoidance
- NAT
- TCP Connection States
- TCP Pros and Cons
- Sockets, Connections and Kernel Queues
- TCP Server with Javascript using NodeJS
- TCP Server with C
- Capturing TCP Segments with TCPDUMP
-
Module 6: Overview of Popular Networking Protocols
4 lessons- Networking Protocols Introduction
- DNS
- TLS
- HTTPS, TLS, Keys and Certificates
-
Module 7: Network Performance
12 lessons- Network Performance Introduction
- MSS vs MTU vs PMTUD
- Nagle's Algorithm's Effect on Performance
- Delayed Acknowledgment Effect on Performance
- Cost of Connection Establishment
- TCP Fast Open
- Listening Server
- TCP Head of Line Blocking
- The importance of Proxy and Reverse Proxies
- Load Balancing at Layer 4 vs Layer 7
- Network Acceleration
- Socket Management Demo
-
Module 8: Network Routing
2 lessons- Fundamentals of Network Routing
- Networking with Docker
-
Module 9: Analyzing Protocols with Wireshark
4 lessons- Wiresharking UDP
- Wiresharking TCP/HTTP
- Wiresharing HTTP/2 (Decrypting TLS)
- Wiresharking MongoDB
Who is this course for?
Do I need any prior knowledge?
How long is the course?
Join the Membership Plan
Pick the option that fits how you want to learn. Buy standalone courses or get full access to all courses as long as you have an active membership plan.