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
Post a Comment