Skip to product information
1 of 3

82% Off Fundamentals of Backend Engineering | Udemy Review & Coupon

82% Off Fundamentals of Backend Engineering | Udemy Review & Coupon

One should have knowledge of backend communication design patterns, protocols, execution, and proxying.

This course covers:

This comprehensive course on Fundamentals of Backend Engineering provides aspiring web developers with the essential understanding of the backend engineering process. Through over 15.5 hours of on-demand video tutorials, 3 articles, and 17 downloadable resources, students will gain a thorough grounding in how to build and maintain successful backend engineering projects.

What you'll learn

Gain a comprehensive understanding of backend engineering principles.

Backend communication design patterns are a topic of interest.

Gain knowledge on the functionality of backend communication protocols.

Understand the communication between the OS Kernel and Backend Applications.

The operating system fundamentals include threads, processes, and asynchronous IO in Linux.

Learn about HTTP/1.1, HTTP/2, and HTTP/3.

Learn about gRPC, WebRTC, and WebSockets.

Learn about TLS 1.2, TLS 1.3, and QUIC 0RTT.

About the author

Hussein Nasser works as a software engineer. His journey with software began in 1998 when his uncle gifted him a book titled "Learn Programming and Visual Basic 2.0." The book made me realize that he enjoys the process of building software. He would discuss software through various mediums such as bulletin boards, blogs, books, courses, podcasts, and videos.

Currently, he runs a YouTube channel where he covers software engineering topics, with a specific emphasis on backend technology. He talks about databases, proxies, security, networking, protocols, and programming. He also reports on recent news and current events in the field of software.

He has expertise in the field of geographic information systems (GIS). Since 2005, he has assisted numerous organizations in the Middle East with the implementation of Esri GIS by designing and constructing mapping applications to enhance their workflows. He has written five books on Esri's technologies and has held the position of principal engineer there since 2015.

Using software to solve interesting problems is one of his enjoyable interests. You can contact him through his social media channels to ask questions or share interesting problems. He would be happy to hear it.


Backend engineering is a technical field. Throughout my 18-year career in backend application development, I have observed recurring communication design patterns. There are several ways clients can communicate with backend applications, but I believe the patterns discussed in this course are the most common. Some examples of these patterns include request-response, publish-subscribe, and short and long push.

Engineers have the option to use various protocols for communication purposes. Core transport vehicles are typically restricted to TCP or UDP, but there are numerous industry-specific protocols that have been developed to address specific problems and use cases. Some examples of high level protocols include HTTP/1.1, HTTP/2, HTTP/3, gRPC, WebRTC, and others. QUIC is a transport protocol that was developed using UDP to enhance HTTP/2 streaming at the transport level. Every protocol has its advantages and disadvantages and is suitable for specific use cases. The course covers the common protocols and includes examples and demonstrations when relevant.

Before a client can send a request, it must establish a connection with the backend. It is important to understand how the connection is established and which parts of the connection establishment are completed at the kernel and which parts are completed at the backend application process. The process of accepting connections by the backend application and ensuring its ability to accept connections quickly to prevent the kernel queue from becoming full, which would prevent clients from connecting.

Once the connection is established, the client sends a request. What occurs precisely in the backend application to read the request? Can you provide a definition of a request? Understanding the cost of parsing a request based on the protocol helps engineers appreciate the work done and provides them with better tools to troubleshoot performance problems or bugs.

After the request reaches the backend, the application must execute the request. The backend has multiple design choices for the style of execution it can select. Understanding the distinction between a process and a thread, as well as the concepts of multi-process, multi-threaded systems, and their relationship to the number of CPU cores or hardware threads, is essential in selecting the appropriate execution pattern. Individuals are not limited to adhering to these patterns and have the freedom to create new ones that align with their preferences.

This course is intended for engineers who have experience building backend applications. It is an intermediate to advanced level course that requires certain programming and networking knowledge. If you do not have networking skills, I recommend taking my fundamentals of network engineering course before enrolling in this course. I hope you find this course enjoyable, and thank you for considering it.

This course is intended for:

Data Scientists interested in backend engineering

This course is intended for anyone who wants to gain a better understanding of the fundamentals of Backend Engineering. It will cover topics such as architecture, databases, security, performance, scalability and more. If you are a Backend Engineer, Full Stack Engineer, Frontend Engineer interested in the Backend (must have built a backend application before), Network engineer (with experience in TCP/IP protocol), or even Data Scientist who wants to understand the fundamentals of Backend Engineering, this course is for you.


View full details

Skills for your future

Courses start at just $13.99