Fundamentals of back-end engineering
Recently I discovered a really nice YouTube channel. The creator and the channel goes by the name Hussein Nasser.
He recently curated a playlist of his videos to help the beginners in Back-end Engineering. In this article I would expand on some areas of the list of contents he recommends and somewhat dissect the playlist.
There are 22 videos in the playlist, of which 8videos are opinion based and remaining 14 are topic based. For the following section we would only consider the 14 topics.
As per the playlist from Hussein Nasser, the topics every back-end engineer should be familiar with are:
- The OSI Model
- TCP vs UDP
- Network Address Translation (NAT)
- Hyper Text Transfer Protocol (HTTP) and its various versions
- Web Servers
- Encryption (Symmetrical and Asymmetrical)
- Transport Layer Security and its evolution
- Proxy and Reverse Proxy
- Relational Database and ACID Properties
- Publish-Subscribe architecture
- Asynchronous, Multi-threading and Multi-processing
- Synchronous and Asynchronous applications
- End-to-end flow of web
- Database Indexing
Pheww, that is a lot of things to understand for a back-end engineer.
The very first thing I want to do is map these topics to the engineering subjects a student will study in his/her academia.
for the next section I will consider DDIT syllabus and refer particular sections
Relevant subjects taught in DDIT: —
- IT 407 COMPUTER AND COMMUNICATION NETWORK
- IT-717 DISTRIBUTED COMPUTING
- IT -718 E-COMMERCE AND E-SECURITY
- IT 502 –DATABASE MANAGEMENT SYSTEM
- IT 716 –WEB TECHNOLOGY and IT 617 –ADVANCED JAVA TECHNOLOGY
while the contents of these course are specific to .NET and JAVA, the flow of web is what you will understand in these courses.
- IT 607 –APPLIED OPERATING SYSTEM
In this course you would learn more about concurrency, threads, and inter process communication, which are crucial to back-end engineering.
NOTE: While “Publish-Subscribe” is not something directly covered in the course syllabus, but if you focus on the topic of interrupts in the subject you would be able to draw parallels to the broader topic of “Pub-Sub”.
- IT 506 –(ELECTIVE -I) ADVANCED MICROPROCESSOR ARCHITECTURE
- IT 403 –MICROPROCESSOR ARCHITECTURE PROG. AND INTERFACING
PS: And if you have chosen IT 618 –(ELECTIVE -II) DESIGN PATTERNS AND APPLICATION FRAMEWORKS you should definitely checkout the following two YouTube channels.
Hussein Nasser — for back-end related content
FireShip — for front-end related content