Topics for Backend Engineer

 

Topics for Backend Engineer

Week 1

Network Fundamentals

In this module, we'll dive deep into the fundamental building blocks of modern networking. Students will learn both theoretical concepts and gain hands-on experience through practical exercises. By the end of this week, participants will have a solid understanding of how data flows through networks and the key protocols that power the internet.

📚 Theory

  • How internet works
  • DNS
  • OSI Model
  • TCP/IP
  • Protocols TCP/UDP
  • Client-server architecture
  • 3 way handshake

👷🏾‍♂️ Practicals

  • Trace network packets using WireShark
  • Analyse DNS using Dig
  • Build a TCP server
  • Build a UDP server

HTTP deep dive

In this module, we'll explore HTTP, from versions 1.1 to 3, and how they improve web performance. Students will learn about status codes, headers, methods, cookies, and ETags for caching and state management. We'll also cover the essentials of TLS/SSL for secure communication. By the end, participants will have a clear understanding of HTTP and its key components.

📚 Theory

  • Understanding HTTP (1.1, 2, 3)
  • Status codes
  • Headers
  • Methods
  • Cookies
  • ETag
  • TLS/SSL

👷🏾‍♂️ Practicals

  • Build our own HTTP Protocol
  • Build own custom http server
  • Analyse HTTP request in WireShark


Week 2

Fundamentals of Linux and Virtual machines

This module covers Linux operating system basics and SSH protocol fundamentals, teaching essential commands, file management, and secure remote access through hands-on exercises.

📚 Theory

  • User management
  • File system
  • SSH Protocol
  • Authentication using SSH
  • SSH Keys
  • SFTP

👷🏾‍♂️ Practicals

  • Add new users to server using SSH authentication
  • Copy files to server and from server using SFTP

Terminal & Shell

In this module, we'll explore terminal operations and shell scripting fundamentals. Students will learn essential command-line concepts while getting hands-on practice. By the end of this week, participants will understand how to effectively use the terminal and write basic shell scripts to automate tasks.

📚 Theory

  • Bash scripting and automation
  • Most used commands for backend engineer

👷🏾‍♂️ Practicals

  • All commands linux lab
  • Build a project bootstrapper automation using bash script. (Express generator clone) 

Week 3

Web servers

This module explores web server architecture and implementation. Students will gain both theoretical knowledge and practical experience through hands-on exercises. By the end of this week, participants will understand how web servers handle requests, manage resources, and scale to serve multiple clients.

📚 Theory

  • Single threaded servers
  • Multi threaded servers

👷🏾‍♂️ Practicals

  • Analyse Nginx server
  • Build our own multi threaded server

Api design

This module includes learning how to design and build REST APIs. It covers managing API versions, creating clean and user-friendly URLs, and documenting APIs using OpenAPI. You'll also learn request validation, optimizing responses, and handling errors in a simple and reliable way.

📚 Theory

  • REST apis
  • Api versioning
  • Url structures
  • Api documentation using Openapi specs.
  • Request validation
  • Response optimisations
  • Error handling

👷🏾‍♂️ Practicals

  • Build apis for quick commerce app
  • Create api documentation


Week 4

Relational databases

Explore the fundamentals of relational databases and SQL. This module covers essential SQL commands, data types, and indexing concepts. Students will apply their knowledge through practical database coding exercises in a hands-on lab environment.

📚 Theory

  • Why databases?
  • NoSQL and SQL Databases
  • Database architecture
  • SQL Basic commands
  • Data types
  • Index

👷🏾‍♂️ Practicals

  • SQL database coding lab

Database modeling & relations

Learn the principles of database design and relationships. This module explores table relations, join operations, and foreign key constraints. Students will apply these concepts by designing a complete database schema for an educational technology application.

📚 Theory

  • Relations
  • Joins
  • Foreign keys

👷🏾‍♂️ Practicals

  • Design a database for Ed-tech application
  • Design a database for Netflix application


Week 5

Advanced database

Explore advanced database concepts including transaction management, data distribution strategies, and system redundancy. Students will deepen their understanding through designing a robust banking transaction system that implements these complex concepts in practice.

📚 Theory

  • Transactions
  • ACID
  • Sharding
  • Partitions
  • Replicas
  • Connection pools

👷🏾‍♂️ Practicals

  • Design a bank transaction system
  • Configure Master slave replicas
  • Partition/Sharding Ed-tech database
  • Design a order inventory database


Week 6

Web Security

Dive into essential web security concepts and common vulnerabilities. This module covers cross-site scripting (XSS), CSRF attacks, encryption techniques, and SQL injection prevention. Through practical labs, students will implement secure document storage, explore security vulnerabilities, and build protection mechanisms.

📚 Theory

  • CSRF
  • XSS
  • Encryptions
  • Hashing
  • SQL Injection

👷🏾‍♂️ Practicals

  • Encrypt and store personal documents
  • SQL Injection Lab
  • CSRF token system

Web performance & monitoring

Learn web application performance optimization and monitoring techniques. This module covers profiling tools, memory management, connection pooling, and data serialization. Students will gain hands-on experience analyzing server applications and implementing resource monitoring systems.

📚 Theory

  • Profiling
  • Memory leaks
  • Serialisation & deserialisation

👷🏾‍♂️ Practicals

  • Profile a server application
  • Monitor web server’s resources


Week 7

Testing

Learn comprehensive software testing strategies and best practices. This module covers unit testing, integration testing, and mocking techniques. Students will apply Test-Driven Development (TDD) principles by building banking APIs, focusing on writing tests before implementation code.

📚 Theory

  • Unit tests
  • Integration tests (Api testing)
  • Mocking
  • Testing technics

👷🏾‍♂️ Practicals

  • Build bank apis using TDD (Test driven development)

Data transfer techniques

Explore efficient data transfer techniques for handling large-scale content delivery. This module covers HTTP streaming, buffered responses, and large file handling. Students will apply these concepts by building a music streaming service and a real-time log streaming system.

📚 Theory

  • HTTP Streaming
  • Buffered response
  • Large file upload

👷🏾‍♂️ Practicals

  • Build Spotify clone
  • Build a real-time log streamer
  • S3 Clone


Week 8

API architectures

Explore modern API architectures and real-time communication protocols. This module covers REST, gRPC, GraphQL, Server-Sent Events, and WebSockets. Through practical projects, students will build diverse applications including a gRPC service, social media platform, AI chat interface, and real-time messaging system.

📚 Theory

  • REST
  • gRPC
  • GraphQL
  • Server sent events
  • Websockets

👷🏾‍♂️ Practicals

  • Build a gRPC service
  • Build a social media app using GraphQL
  • Build ChatGPT Like app using SSE
  • Build a chat app using Websockets 


Week 9

Authentication and Authorization

Explore authentication and authorization

📚 Theory

  • Sessions
  • JWT
  • Passwords
  • OAuth2
  • Authentication in distributed systems

👷🏾‍♂️ Practicals

  • Build an authentication and authorization system 


Week 10

System design I

Explore core system architecture principles and distributed system concepts. This module covers architectural patterns, scaling strategies, and essential components like load balancers and API gateways, along with the CAP theorem. Students will gain hands-on experience by building a load balancer and designing a scalable streaming service architecture.

📚 Theory

  • Monolith vs Microservices
  • Horizontal scaling vs Vertical scaling
  • Load balancers
  • LLD
  • Api gateways
  • CAP theorem

👷🏾‍♂️ Practicals

  • Build our own load balancer
  • Design Jio Cinema

System design II

Dive into advanced distributed systems concepts and asynchronous architectures. This module explores message brokers, system resource planning, distributed tracing, and service level agreements (SLA). Students will implement a notification service and practice troubleshooting distributed systems using tracing tools.

📚 Theory

  • HLD
  • Message brokers and queues
  • Resource estimation
  • Distributed tracing
  • SLA

👷🏾‍♂️ Practicals

  • Build a notification service
  • Find issues in system using distributed tracing


Week 11

Devops and containers

Learn containerization and deployment strategies using Docker. This module covers container fundamentals, zero-downtime deployment techniques, and container orchestration with Docker Compose. Students will gain practical experience building production-ready Docker images and deploying highly available applications.

📚 Theory

  • Docker containers
  • Docker compose
  • Zero downtime deployment
  • Docker registry

👷🏾‍♂️ Practicals

  • Build a production docker image
  • Deploy a zero downtime stack application

Devops and CI-CD

Learn modern continuous integration and deployment practices. This module covers CI/CD pipelines, GitHub Actions, configuration management, and advanced deployment strategies like Blue-Green deployment. Students will apply these concepts by building a complete CI/CD pipeline for an application with zero-downtime deployment capabilities.

📚 Theory

  • CI & CD pipelines
  • Github actions
  • Automatic deployment
  • Configuration management
  • Blue-green deployment

👷🏾‍♂️ Practicals

  • Create a complete CI CD pipeline for an application which implements Blue-green deployment


Week 12

Top 7 software design patterns for backend engineers

Explore essential software design patterns crucial for backend development. This module covers key patterns including Repository, Factory, Strategy, Chain of Responsibility, and Service Layer, along with modern practices like Feature Flags and Compensating Transactions. Students will apply these patterns by building a comprehensive order processing system.

📚 Theory

  • Repository pattern
  • Factory
  • Strategy
  • Chain of responsibility
  • Feature flags
  • Compensating transaction
  • Service layer

👷🏾‍♂️ Practicals

  • Build a order processing system


Week 13

Working with third party apis/systems

Learn to seamlessly integrate and communicate with external services and APIs in modern applications. This module covers essential concepts like webhooks, payment gateways, and third-party integrations. Students will gain hands-on experience implementing secure payment processing and working with AI services like ChatGPT APIs, while mastering best practices for external system integration.

📚 Theory

  • Webhooks
  • Payment gateways
  • Third party apis

👷🏾‍♂️ Practicals

  • Payment processing
  • Working with ChatGPT apis

Interview prep and resume building for backend engineer

Prepare for backend engineering career opportunities through focused interview preparation and resume development. This module guides students in crafting technical resumes, highlighting relevant skills, and presenting projects effectively. Students will create a professional resume while learning key interview topics and project presentation strategies.

📚 Theory

  • Resume structure
  • Skills mentions
  • Project recommendation
  • Hot topics for interview prep.
  • Project explanation techniques

👷🏾‍♂️ Practicals

  • Build a resume from scratch

Bonus

AI powered featured family assistant using RAG

Create a personalized AI family assistant through hands-on development and theoretical foundations. This module guides learners in building a fully-featured chatbot using RAG systems, embeddings, vector databases, and LLMs. Students will develop a practical AI assistant while learning key concepts in retrieval-augmented generation and implementing features to support daily family needs.

📚 Theory

  • RAG system
  • Embeddings
  • Vector databases
  • LLMs

👷🏾‍♂️ Practicals

  • Fully featured AI personal chatbot


Comments

Popular posts from this blog

JavaScript Must-Read Topics for Senior Developer Interviews

React.js Topics for a Mid-Senior Level Developer Interview Preparation

Recursive selection sort