Skip to content
Roadmap Backend

Backend Engineering

Master backend development from HTTP fundamentals to production-ready systems. 20 phases covering APIs, databases, security, caching, and scalability.

Your Progress

Complete all 20 phases to master this track

0 / 20
Phases
0 / 309
Topics
0%
Complete

Backend engineering roadmap — 20 phases from HTTP fundamentals through APIs, databases, security, caching, and scalable microservices.

1

Phase 1: Backend Fundamentals

Current

Understand what backend development is, how servers work, and the core concepts behind every backend application.

beginner Phase

Understand the role of backend in software applications.

30m
0 problems
beginner Phase

Compare frontend and backend responsibilities and technologies.

30m
0 problems
beginner Phase

Learn how clients and servers communicate over networks.

45m
0 problems
beginner Phase

Understand the fundamental communication pattern of the web.

30m
0 problems
beginner Phase

Learn the difference between stateless and stateful designs and their scaling implications.

30m
0 problems
beginner Phase

Understand how backend applications start, handle requests, and shut down.

30m
0 problems
beginner Phase

Learn what application servers do and how they differ from web servers.

30m
0 problems
beginner Phase

Understand how web servers handle incoming HTTP requests.

30m
0 problems
beginner Phase

Learn how reverse proxies protect and distribute backend traffic.

30m
0 problems
beginner Phase

Understand how load balancers distribute traffic across multiple servers.

45m
0 problems
beginner Phase

Learn how network ports work and how backend services bind to them.

20m
0 problems
beginner Phase

Understand operating system processes and how backend applications run as processes.

30m
0 problems
beginner Phase

Learn about threads, thread models, and how they relate to backend request handling.

40m
0 problems
beginner Phase

Understand concurrent request handling and its impact on backend design.

45m
0 problems
beginner Phase

Learn the fundamentals of scaling backend applications vertically and horizontally.

45m
0 problems
2

Phase 2: HTTP and Web Fundamentals

Master HTTP protocol fundamentals - the backbone of all backend web communication.

beginner Phase

Understand the Hypertext Transfer Protocol that powers the web.

45m
0 problems
beginner Phase

Learn how TLS/SSL secures HTTP communication.

30m
0 problems
beginner Phase

Understand the structure and components of an HTTP request.

30m
0 problems
beginner Phase

Learn how servers construct and send HTTP responses.

30m
0 problems
beginner Phase

Master GET, POST, PUT, PATCH, DELETE and their semantics.

40m
0 problems
beginner Phase

Deep dive into the GET method for reading resources.

20m
0 problems
beginner Phase

Deep dive into the POST method for creating resources.

20m
0 problems
beginner Phase

Deep dive into the PUT method for replacing resources.

20m
0 problems
beginner Phase

Deep dive into the PATCH method for partial updates.

20m
0 problems
beginner Phase

Deep dive into the DELETE method for removing resources.

20m
0 problems
beginner Phase

Master all HTTP status code categories and when to use each.

45m
0 problems
beginner Phase

Learn essential HTTP request headers and their purposes.

30m
0 problems
beginner Phase

Understand response headers for caching, security, and content negotiation.

30m
0 problems
beginner Phase

Learn how cookies work for state management in web applications.

30m
0 problems
beginner Phase

Understand server-side sessions and how they maintain user state.

30m
0 problems
beginner Phase

Learn about MIME types and Content-Type headers.

20m
0 problems
beginner Phase

Master JSON as the standard data format for API communication.

30m
0 problems
beginner Phase

Understand form-encoded data and multipart uploads.

20m
0 problems
intermediate Phase

Learn Cross-Origin Resource Sharing and why it exists.

40m
0 problems
intermediate Phase

Understand OPTIONS requests and CORS preflight mechanism.

30m
0 problems
beginner Phase

Learn how persistent connections improve HTTP performance.

20m
0 problems
beginner Phase

Understand HTTP/1.1 features, pipelining, and limitations.

30m
0 problems
intermediate Phase

Learn HTTP/2 multiplexing, header compression, and server push.

30m
0 problems
intermediate Phase

Understand HTTP/3 and QUIC protocol fundamentals.

25m
0 problems
3

Phase 3: REST API Development

Master RESTful API design principles, patterns, and best practices for building clean backend APIs.

beginner Phase

Understand what APIs are and why they matter in backend development.

30m
0 problems
beginner Phase

Learn the Representational State Transfer architectural style.

45m
0 problems
beginner Phase

Master the six REST constraints.

40m
0 problems
beginner Phase

Learn how to model your domain as RESTful resources.

40m
0 problems
beginner Phase

Design clean, consistent, and intuitive API URLs.

35m
0 problems
beginner Phase

Map HTTP methods to CRUD operations in REST APIs.

30m
0 problems
beginner Phase

Choose the right HTTP status codes for REST API responses.

30m
0 problems
beginner Phase

Validate incoming API requests to ensure data integrity.

40m
0 problems
beginner Phase

Design consistent and useful API response structures.

35m
0 problems
intermediate Phase

Implement offset, cursor, and keyset pagination for list endpoints.

45m
0 problems
beginner Phase

Design query parameter filtering for REST APIs.

30m
0 problems
beginner Phase

Implement sorting parameters in REST API endpoints.

25m
0 problems
intermediate Phase

Design search endpoints with query parameters and full-text search.

35m
0 problems
intermediate Phase

Version your APIs using URL path, headers, or query parameters.

35m
0 problems
intermediate Phase

Understand why idempotency matters and how to implement it.

40m
0 problems
beginner Phase

Design consistent error responses with error codes and messages.

40m
0 problems
beginner Phase

Document your APIs effectively for other developers.

30m
0 problems
intermediate Phase

Use OpenAPI specification to define and document REST APIs.

40m
0 problems
beginner Phase

Compile all REST best practices into a checklist.

30m
0 problems
4

Phase 4: Java Backend Development

Learn how Java is used to build backend applications with layered architecture and clean code patterns.

intermediate Phase

Understand how Java backend applications are structured.

45m
0 problems
intermediate Phase

Learn the controller-service-repository layered pattern.

40m
0 problems
intermediate Phase

Understand the controller layer that handles HTTP requests.

35m
0 problems
intermediate Phase

Learn the service layer that contains business logic.

35m
0 problems
intermediate Phase

Understand the repository layer that handles database access.

35m
0 problems
intermediate Phase

Learn how domain entities map to database tables.

30m
0 problems
intermediate Phase

Understand Data Transfer Objects and why they separate API contracts from domain models.

30m
0 problems
intermediate Phase

Learn to map between entities and DTOs cleanly.

30m
0 problems
intermediate Phase

Master DI for creating loosely coupled, testable backend code.

45m
0 problems
intermediate Phase

Understand the IoC principle behind dependency injection frameworks.

35m
0 problems
beginner Phase

Manage backend configuration for different environments.

30m
0 problems
beginner Phase

Use environment variables for secrets and environment-specific config.

25m
0 problems
beginner Phase

Implement proper logging in backend applications.

35m
0 problems
intermediate Phase

Handle exceptions gracefully in backend code.

40m
0 problems
intermediate Phase

Create centralized exception handlers for consistent error responses.

35m
0 problems
intermediate Phase

Validate request data using annotations and custom validators.

40m
0 problems
intermediate Phase

Design standard API response wrapper classes.

30m
0 problems
beginner Phase

Organize Java backend projects for maintainability.

30m
0 problems
5

Phase 5: Spring Boot Fundamentals

Master Spring Boot - the industry-standard framework for building Java backend applications.

intermediate Phase

Understand the Spring ecosystem and its core principles.

30m
0 problems
intermediate Phase

Learn why Spring Boot exists and how it simplifies Spring development.

30m
0 problems
beginner Phase

Understand the standard Spring Boot project layout.

30m
0 problems
beginner Phase

Create and run your first Spring Boot application.

40m
0 problems
intermediate Phase

Understand how Spring manages dependencies through its IoC container.

45m
0 problems
intermediate Phase

Learn what Spring beans are and how they are managed.

35m
0 problems
intermediate Phase

Understand how Spring discovers and registers components.

25m
0 problems
intermediate Phase

Use @Component to mark classes for Spring management.

20m
0 problems
intermediate Phase

Use @Service to annotate service layer classes.

20m
0 problems
intermediate Phase

Use @Repository to annotate data access classes.

20m
0 problems
intermediate Phase

Use @Controller for traditional MVC controllers.

25m
0 problems
intermediate Phase

Use @RestController for building REST APIs.

25m
0 problems
intermediate Phase

Understand field, setter, and constructor injection with @Autowired.

30m
0 problems
intermediate Phase

Learn why constructor injection is the recommended DI approach.

30m
0 problems
intermediate Phase

Configure Spring Boot applications using Java config and properties.

35m
0 problems
beginner Phase

Configure Spring Boot using application.properties files.

25m
0 problems
beginner Phase

Use YAML format for Spring Boot configuration.

20m
0 problems
intermediate Phase

Use Spring Profiles for environment-specific configuration.

30m
0 problems
intermediate Phase

Build complete REST endpoints with Spring MVC.

40m
0 problems
intermediate Phase

Extract query parameters, path variables, and request bodies.

35m
0 problems
intermediate Phase

Use @PathVariable to extract values from URL paths.

25m
0 problems
intermediate Phase

Use @RequestBody to deserialize JSON request bodies.

25m
0 problems
intermediate Phase

Control HTTP response status, headers, and body with ResponseEntity.

30m
0 problems
intermediate Phase

Validate request data using Bean Validation annotations.

40m
0 problems
intermediate Phase

Handle exceptions using @ExceptionHandler.

35m
0 problems
intermediate Phase

Create @ControllerAdvice for centralized exception handling.

35m
0 problems
6

Phase 6: Database Integration

Connect backend applications to databases using JDBC, JPA, and Hibernate for persistent data storage.

intermediate Phase

Understand how backend applications interact with databases.

40m
0 problems
intermediate Phase

Learn Java Database Connectivity for raw SQL execution.

40m
0 problems
intermediate Phase

Understand why connection pooling is essential and how it works.

35m
0 problems
intermediate Phase

Learn Object-Relational Mapping concepts and benefits.

35m
0 problems
intermediate Phase

Understand Java Persistence API as the standard for ORM in Java.

40m
0 problems
intermediate Phase

Master Hibernate as the most popular JPA implementation.

45m
0 problems
intermediate Phase

Map Java entities to database tables with annotations.

40m
0 problems
intermediate Phase

Define and generate primary keys for JPA entities.

30m
0 problems
intermediate Phase

Model one-to-one, one-to-many, and many-to-many relationships.

45m
0 problems
intermediate Phase

Implement one-to-one entity relationships.

30m
0 problems
intermediate Phase

Implement one-to-many entity relationships.

30m
0 problems
intermediate Phase

Implement many-to-many entity relationships with join tables.

35m
0 problems
intermediate Phase

Understand lazy loading and its impact on database queries.

35m
0 problems
intermediate Phase

Understand eager loading and when to use it.

30m
0 problems
intermediate Phase

Learn database transactions and their ACID properties.

40m
0 problems
intermediate Phase

Use @Transactional for declarative transaction management in Spring.

40m
0 problems
advanced Phase

Identify and solve the N+1 query problem in ORM.

45m
0 problems
advanced Phase

Optimize database queries for better backend performance.

45m
0 problems
intermediate Phase

Understand indexes and their impact on query performance.

40m
0 problems
intermediate Phase

Implement database-level pagination in Spring Data JPA.

35m
0 problems
intermediate Phase

Manage database schema changes with version-controlled migrations.

35m
0 problems
intermediate Phase

Learn migration tools for managing database schema evolution.

30m
0 problems
7

Phase 7: Authentication

Implement secure user authentication and authorization in backend applications.

beginner Phase

Understand the critical difference between who you are and what you can do.

25m
0 problems
beginner Phase

Trace the complete user login flow from request to response.

40m
0 problems
intermediate Phase

Hash passwords with bcrypt, scrypt, or Argon2 - never store plaintext.

40m
0 problems
beginner Phase

Use server-side sessions to maintain authenticated state.

35m
0 problems
beginner Phase

Use cookies to transmit session identifiers and tokens.

30m
0 problems
intermediate Phase

Understand JSON Web Tokens for stateless authentication.

45m
0 problems
intermediate Phase

Design short-lived access tokens for API authentication.

35m
0 problems
intermediate Phase

Use refresh tokens to obtain new access tokens without re-login.

35m
0 problems
intermediate Phase

Manage token lifetimes and handle expired tokens gracefully.

30m
0 problems
intermediate Phase

Implement RBAC to control what authenticated users can access.

40m
0 problems
intermediate Phase

Understand OAuth as a delegation protocol for third-party access.

40m
0 problems
advanced Phase

Master OAuth 2.0 flows: authorization code, client credentials, PKCE.

50m
0 problems
intermediate Phase

Design secure authentication systems with proper separation of concerns.

45m
0 problems
intermediate Phase

Avoid the top authentication anti-patterns and vulnerabilities.

35m
0 problems
8

Phase 8: Backend Security

Protect backend applications from common vulnerabilities following OWASP guidelines.

intermediate Phase

Learn the OWASP Top 10 and why it matters for backend developers.

40m
0 problems
intermediate Phase

Prevent SQL injection with parameterized queries and ORM.

45m
0 problems
intermediate Phase

Prevent Cross-Site Scripting through input sanitization and output encoding.

40m
0 problems
intermediate Phase

Prevent Cross-Site Request Forgery with tokens and same-site cookies.

35m
0 problems
intermediate Phase

Defend against brute force, credential stuffing, and session hijacking.

40m
0 problems
intermediate Phase

Detect and prevent broken authorization vulnerabilities.

35m
0 problems
intermediate Phase

The most common vulnerability - understand and prevent it.

40m
0 problems
intermediate Phase

Implement secure password policies, storage, and reset flows.

35m
0 problems
intermediate Phase

Never hardcode secrets - use vaults, environment variables, and key rotation.

35m
0 problems
intermediate Phase

Set Content-Security-Policy, X-Frame-Options, and other security headers.

30m
0 problems
beginner Phase

Enforce HTTPS everywhere and understand TLS termination.

25m
0 problems
intermediate Phase

Validate and sanitize all user input to prevent injection attacks.

35m
0 problems
intermediate Phase

Protect APIs from abuse with rate limiting and throttling.

40m
0 problems
intermediate Phase

Log security-relevant events for monitoring and incident response.

30m
0 problems
intermediate Phase

Design APIs with security as a first-class concern.

40m
0 problems
9

Phase 9: Caching

Implement caching strategies to dramatically improve backend performance and reduce database load.

10

Phase 10: Asynchronous Processing

Process work asynchronously with message queues, event-driven architecture, and background workers.

beginner Phase

Understand when to process requests synchronously and when to go async.

35m
0 problems
intermediate Phase

Offload long-running work to background job processors.

40m
0 problems
intermediate Phase

Use task queues to decouple request handling from work processing.

40m
0 problems
intermediate Phase

Understand message queues as the backbone of asynchronous systems.

45m
0 problems
intermediate Phase

Learn how producers publish messages to queues.

25m
0 problems
intermediate Phase

Learn how consumers receive and process messages from queues.

25m
0 problems
intermediate Phase

Understand queue data structures in messaging systems.

25m
0 problems
advanced Phase

Master Apache Kafka for high-throughput event streaming.

50m
0 problems
advanced Phase

Learn RabbitMQ for reliable message-based communication.

45m
0 problems
advanced Phase

Scale message processing with consumer groups.

35m
0 problems
advanced Phase

Guarantee message ordering when it matters.

35m
0 problems
intermediate Phase

Implement retry logic with exponential backoff for failed operations.

35m
0 problems
intermediate Phase

Implement exponential backoff to avoid overwhelming failing services.

30m
0 problems
intermediate Phase

Handle permanently failed messages with dead letter queues.

30m
0 problems
advanced Phase

Understand delivery guarantees and at-least-once semantics.

35m
0 problems
advanced Phase

Process duplicate messages safely with idempotent consumers.

35m
0 problems
advanced Phase

Design systems around events rather than direct service calls.

50m
0 problems
11

Phase 11: Concurrency

Master concurrent programming for building high-performance backend systems.

intermediate Phase

Understand concurrency vs parallelism and why backend systems need both.

35m
0 problems
intermediate Phase

Execute multiple computations simultaneously for faster processing.

30m
0 problems
intermediate Phase

Understand thread lifecycle, states, and JVM thread model.

40m
0 problems
intermediate Phase

Manage thread creation and reuse with thread pool executors.

45m
0 problems
advanced Phase

Detect and prevent race conditions in concurrent code.

45m
0 problems
intermediate Phase

Protect shared resources with critical sections.

35m
0 problems
intermediate Phase

Use explicit locks for fine-grained concurrency control.

40m
0 problems
intermediate Phase

Synchronize access to shared mutable state.

40m
0 problems
advanced Phase

Detect, prevent, and recover from deadlocks.

45m
0 problems
advanced Phase

Prevent thread starvation with fair scheduling.

30m
0 problems
intermediate Phase

Write thread-safe code using immutability, synchronization, and atomics.

45m
0 problems
intermediate Phase

Use ConcurrentHashMap, CopyOnWriteArrayList, and other concurrent collections.

40m
0 problems
advanced Phase

Use CompletableFuture and async frameworks for non-blocking operations.

45m
0 problems
intermediate Phase

Master the most frequently asked concurrency questions.

45m
10 problems
13

Phase 13: Backend Performance

Identify and resolve backend performance bottlenecks for fast, responsive applications.

intermediate Phase

Measure and optimize response latency in backend systems.

35m
0 problems
intermediate Phase

Maximize requests per second while maintaining correctness.

35m
0 problems
intermediate Phase

Understand and optimize end-to-end response time.

30m
0 problems
advanced Phase

Identify and resolve database performance issues.

45m
0 problems
advanced Phase

Detect and fix N+1 query problems that kill performance.

40m
0 problems
advanced Phase

Tune connection pools for optimal database performance.

35m
0 problems
intermediate Phase

Use caching to eliminate redundant database queries.

40m
0 problems
intermediate Phase

Implement efficient pagination for large result sets.

30m
0 problems
intermediate Phase

Process large datasets efficiently with batch operations.

40m
0 problems
intermediate Phase

Offload slow operations to improve request response time.

35m
0 problems
beginner Phase

Use gzip or brotli to reduce response payload size.

25m
0 problems
intermediate Phase

Use Content Delivery Networks to reduce latency globally.

30m
0 problems
intermediate Phase

Distribute load effectively across backend instances.

35m
0 problems
advanced Phase

Profile backend applications to find performance hotspots.

45m
0 problems
advanced Phase

Systematic approach to diagnosing and fixing performance issues.

45m
0 problems
14

Phase 14: Observability

Make backend systems observable with logging, metrics, tracing, and alerting.

15

Phase 15: Testing

Write reliable backend code with unit, integration, and API testing strategies.

intermediate Phase

Write fast, isolated tests for individual components.

45m
0 problems
intermediate Phase

Test how components work together, including databases and APIs.

45m
0 problems
intermediate Phase

Test REST API endpoints for correctness and edge cases.

40m
0 problems
intermediate Phase

Replace external dependencies with mocks for isolated testing.

40m
0 problems
intermediate Phase

Understand mocks, stubs, fakes, and spies.

35m
0 problems
intermediate Phase

Test database access layers with embedded databases.

40m
0 problems
intermediate Phase

Test business logic in service layers with mocked dependencies.

40m
0 problems
intermediate Phase

Test REST controllers with MockMvc or WebTestClient.

40m
0 problems
intermediate Phase

Test database operations with test containers and fixtures.

40m
0 problems
advanced Phase

Use Docker containers for realistic integration testing.

40m
0 problems
intermediate Phase

Measure and improve test coverage without chasing 100%.

30m
0 problems
intermediate Phase

Test error paths, exceptions, and edge cases.

35m
0 problems
intermediate Phase

Test authentication and authorization logic thoroughly.

35m
0 problems
intermediate Phase

Write comprehensive API tests that validate full request flows.

40m
0 problems
19

Phase 19: Backend Case Studies

Apply backend engineering concepts through guided real-world case studies.

advanced Phase

Design and build a complete authentication service.

1h 30m
0 problems
advanced Phase

Build a URL shortener with hashing, redirects, and analytics.

1h 30m
0 problems
advanced Phase

Design product catalog, cart, and checkout for an e-commerce platform.

2h
0 problems
advanced Phase

Build order processing with transactions and state machines.

1h 40m
0 problems
advanced Phase

Design secure payment processing with idempotency and retry.

1h 40m
0 problems
advanced Phase

Build a multi-channel notification service with async processing.

1h 30m
0 problems
advanced Phase

Design scalable file uploads with presigned URLs and metadata.

1h 30m
0 problems
advanced Phase

Build a search API with filtering, sorting, and full-text search.

1h 30m
0 problems
advanced Phase

Design a product catalog with categories, variants, and pricing.

1h 30m
0 problems
advanced Phase

Build a shopping cart with session management and persistence.

1h 30m
0 problems
advanced Phase

Design order tracking, restaurant management, and delivery routing.

2h
0 problems
advanced Phase

Build ride matching, pricing, and real-time tracking.

2h
0 problems
advanced Phase

Design real-time messaging with WebSockets and message persistence.

2h
0 problems
advanced Phase

Build a distributed job processing system with scheduling.

1h 40m
0 problems
advanced Phase

Design email sending with templates, queuing, and delivery tracking.

1h 30m
0 problems
20

Phase 20: Amazon Interview Preparation

Prepare for backend-focused questions in Amazon SDE-1 interviews.

intermediate Phase

Common backend questions asked in Amazon interviews.

1h
10 problems
intermediate Phase

Java-specific backend questions for Amazon interviews.

1h
10 problems
intermediate Phase

Spring Boot framework questions commonly asked.

1h
5 problems
intermediate Phase

REST API design and implementation questions.

1h
5 problems
intermediate Phase

Database design and optimization interview questions.

1h
10 problems
intermediate Phase

Authentication and security interview questions.

45m
5 problems
intermediate Phase

Caching strategy and implementation questions.

45m
5 problems
advanced Phase

Threading, synchronization, and concurrency questions.

1h
10 problems
intermediate Phase

Backend security and vulnerability prevention questions.

45m
5 problems
advanced Phase

Performance optimization and scalability questions.

45m
5 problems
advanced Phase

Debugging production issues and incident response questions.

45m
5 problems
advanced Phase

How to handle and discuss production incidents in interviews.

45m
0 problems
intermediate Phase

API design questions from Amazon interviews.

1h
5 problems
advanced Phase

System architecture and design pattern questions.

1h
0 problems
advanced Phase

Backend-focused follow-up questions in system design interviews.

1h
0 problems