Backend Developer
From HTTP semantics and SQL queries to distributed microservices, message queues, and caching.
1. Beginner
Operating systems, networking, and terminal fluency.
Linux & Shell Scripting
Process management, file permissions, pipes, ssh, curl, top/htop.
Internet & HTTP Protocols
DNS lookup, TCP/UDP, TLS handshake, HTTP/1.1 vs HTTP/2 vs HTTP/3.
2. Foundation
Choose your primary language and runtime deeply.
Runtime Mastery (Node.js / Go / Python)
Concurrency models: event loop (Node), goroutines (Go), GIL (Python).
Relational Databases & SQL
Schema design, normalization (1NF-3NF), ACID transactions, indexing strategies.
3. Core Skills
API design paradigms, validation, and security fundamentals.
RESTful & RPC API Architecture
Resource modeling, idempotency, versioning, pagination (cursor vs offset), rate limiting.
Authentication & Authorization
JWT, OAuth 2.0, OpenID Connect, RBAC, session cookies vs Bearer tokens.
4. Framework
Production web frameworks, middleware pipelines, and ORMs.
Production Framework (Express/NestJS/FastAPI)
Dependency injection, middleware chain, validation pipes, interceptors.
Caching Strategies (Redis)
Cache-aside, write-through, TTL, cache stampede mitigation, Redis data types.
5. Real Projects
Build robust backends tested under real stress.
Multi-Tenant Auth & RBAC Microservice
Token revocation, brute force rate limiter, magic links, audit log.
Distributed URL Shortener
Base62 encoding, read-heavy caching, Redis bloom filters, analytics queue.
6. Advanced
Distributed systems, message queues, and high availability.
Message Brokers (Kafka / RabbitMQ)
Producer-consumer pattern, consumer groups, partition keys, dead letter queues (DLQ).
Database Scaling & Sharding
Read replicas, connection pooling (PgBouncer), horizontal sharding, two-phase commit.
7. Interview Prep
System design drills, database concurrency, and live coding.
Large-scale System Design
Designing Rate Limiter, Notification Service, Key-Value Store, Ticketmaster.
Concurrency & Race Conditions
Deadlocks, optimistic vs pessimistic locking, select for update, idempotency keys.