Skip to content
RoadmapBackend

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
1

Phase 1: Backend Fundamentals

Current

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

beginnerPhase

Understand the role of backend in software applications.

30m
0 problems
beginnerPhase

Compare frontend and backend responsibilities and technologies.

30m
0 problems
beginnerPhase

Learn how clients and servers communicate over networks.

45m
0 problems
beginnerPhase

Understand the fundamental communication pattern of the web.

30m
0 problems
beginnerPhase

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

30m
0 problems
beginnerPhase

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

30m
0 problems
beginnerPhase

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

30m
0 problems
beginnerPhase

Understand how web servers handle incoming HTTP requests.

30m
0 problems
beginnerPhase

Learn how reverse proxies protect and distribute backend traffic.

30m
0 problems
beginnerPhase

Understand how load balancers distribute traffic across multiple servers.

45m
0 problems
beginnerPhase

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

20m
0 problems
beginnerPhase

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

30m
0 problems
beginnerPhase

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

40m
0 problems
beginnerPhase

Understand concurrent request handling and its impact on backend design.

45m
0 problems
beginnerPhase

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.

beginnerPhase

Understand the Hypertext Transfer Protocol that powers the web.

45m
0 problems
beginnerPhase

Learn how TLS/SSL secures HTTP communication.

30m
0 problems
beginnerPhase

Understand the structure and components of an HTTP request.

30m
0 problems
beginnerPhase

Learn how servers construct and send HTTP responses.

30m
0 problems
beginnerPhase

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

40m
0 problems
beginnerPhase

Deep dive into the GET method for reading resources.

20m
0 problems
beginnerPhase

Deep dive into the POST method for creating resources.

20m
0 problems
beginnerPhase

Deep dive into the PUT method for replacing resources.

20m
0 problems
beginnerPhase

Deep dive into the PATCH method for partial updates.

20m
0 problems
beginnerPhase

Deep dive into the DELETE method for removing resources.

20m
0 problems
beginnerPhase

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

45m
0 problems
beginnerPhase

Learn essential HTTP request headers and their purposes.

30m
0 problems
beginnerPhase

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

30m
0 problems
beginnerPhase

Learn how cookies work for state management in web applications.

30m
0 problems
beginnerPhase

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

30m
0 problems
beginnerPhase

Learn about MIME types and Content-Type headers.

20m
0 problems
beginnerPhase

Master JSON as the standard data format for API communication.

30m
0 problems
beginnerPhase

Understand form-encoded data and multipart uploads.

20m
0 problems
intermediatePhase

Learn Cross-Origin Resource Sharing and why it exists.

40m
0 problems
intermediatePhase

Understand OPTIONS requests and CORS preflight mechanism.

30m
0 problems
beginnerPhase

Learn how persistent connections improve HTTP performance.

20m
0 problems
beginnerPhase

Understand HTTP/1.1 features, pipelining, and limitations.

30m
0 problems
intermediatePhase

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

30m
0 problems
intermediatePhase

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.

beginnerPhase

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

30m
0 problems
beginnerPhase

Learn the Representational State Transfer architectural style.

45m
0 problems
beginnerPhase

Master the six REST constraints.

40m
0 problems
beginnerPhase

Learn how to model your domain as RESTful resources.

40m
0 problems
beginnerPhase

Design clean, consistent, and intuitive API URLs.

35m
0 problems
beginnerPhase

Map HTTP methods to CRUD operations in REST APIs.

30m
0 problems
beginnerPhase

Choose the right HTTP status codes for REST API responses.

30m
0 problems
beginnerPhase

Validate incoming API requests to ensure data integrity.

40m
0 problems
beginnerPhase

Design consistent and useful API response structures.

35m
0 problems
intermediatePhase

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

45m
0 problems
beginnerPhase

Design query parameter filtering for REST APIs.

30m
0 problems
beginnerPhase

Implement sorting parameters in REST API endpoints.

25m
0 problems
intermediatePhase

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

35m
0 problems
intermediatePhase

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

35m
0 problems
intermediatePhase

Understand why idempotency matters and how to implement it.

40m
0 problems
beginnerPhase

Design consistent error responses with error codes and messages.

40m
0 problems
beginnerPhase

Document your APIs effectively for other developers.

30m
0 problems
intermediatePhase

Use OpenAPI specification to define and document REST APIs.

40m
0 problems
beginnerPhase

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.

intermediatePhase

Understand how Java backend applications are structured.

45m
0 problems
intermediatePhase

Learn the controller-service-repository layered pattern.

40m
0 problems
intermediatePhase

Understand the controller layer that handles HTTP requests.

35m
0 problems
intermediatePhase

Learn the service layer that contains business logic.

35m
0 problems
intermediatePhase

Understand the repository layer that handles database access.

35m
0 problems
intermediatePhase

Learn how domain entities map to database tables.

30m
0 problems
intermediatePhase

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

30m
0 problems
intermediatePhase

Learn to map between entities and DTOs cleanly.

30m
0 problems
intermediatePhase

Master DI for creating loosely coupled, testable backend code.

45m
0 problems
intermediatePhase

Understand the IoC principle behind dependency injection frameworks.

35m
0 problems
beginnerPhase

Manage backend configuration for different environments.

30m
0 problems
beginnerPhase

Use environment variables for secrets and environment-specific config.

25m
0 problems
beginnerPhase

Implement proper logging in backend applications.

35m
0 problems
intermediatePhase

Handle exceptions gracefully in backend code.

40m
0 problems
intermediatePhase

Create centralized exception handlers for consistent error responses.

35m
0 problems
intermediatePhase

Validate request data using annotations and custom validators.

40m
0 problems
intermediatePhase

Design standard API response wrapper classes.

30m
0 problems
beginnerPhase

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.

intermediatePhase

Understand the Spring ecosystem and its core principles.

30m
0 problems
intermediatePhase

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

30m
0 problems
beginnerPhase

Understand the standard Spring Boot project layout.

30m
0 problems
beginnerPhase

Create and run your first Spring Boot application.

40m
0 problems
intermediatePhase

Understand how Spring manages dependencies through its IoC container.

45m
0 problems
intermediatePhase

Learn what Spring beans are and how they are managed.

35m
0 problems
intermediatePhase

Understand how Spring discovers and registers components.

25m
0 problems
intermediatePhase

Use @Component to mark classes for Spring management.

20m
0 problems
intermediatePhase

Use @Service to annotate service layer classes.

20m
0 problems
intermediatePhase

Use @Repository to annotate data access classes.

20m
0 problems
intermediatePhase

Use @Controller for traditional MVC controllers.

25m
0 problems
intermediatePhase

Use @RestController for building REST APIs.

25m
0 problems
intermediatePhase

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

30m
0 problems
intermediatePhase

Learn why constructor injection is the recommended DI approach.

30m
0 problems
intermediatePhase

Configure Spring Boot applications using Java config and properties.

35m
0 problems
beginnerPhase

Configure Spring Boot using application.properties files.

25m
0 problems
beginnerPhase

Use YAML format for Spring Boot configuration.

20m
0 problems
intermediatePhase

Use Spring Profiles for environment-specific configuration.

30m
0 problems
intermediatePhase

Build complete REST endpoints with Spring MVC.

40m
0 problems
intermediatePhase

Extract query parameters, path variables, and request bodies.

35m
0 problems
intermediatePhase

Use @PathVariable to extract values from URL paths.

25m
0 problems
intermediatePhase

Use @RequestBody to deserialize JSON request bodies.

25m
0 problems
intermediatePhase

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

30m
0 problems
intermediatePhase

Validate request data using Bean Validation annotations.

40m
0 problems
intermediatePhase

Handle exceptions using @ExceptionHandler.

35m
0 problems
intermediatePhase

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.

intermediatePhase

Understand how backend applications interact with databases.

40m
0 problems
intermediatePhase

Learn Java Database Connectivity for raw SQL execution.

40m
0 problems
intermediatePhase

Understand why connection pooling is essential and how it works.

35m
0 problems
intermediatePhase

Learn Object-Relational Mapping concepts and benefits.

35m
0 problems
intermediatePhase

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

40m
0 problems
intermediatePhase

Master Hibernate as the most popular JPA implementation.

45m
0 problems
intermediatePhase

Map Java entities to database tables with annotations.

40m
0 problems
intermediatePhase

Define and generate primary keys for JPA entities.

30m
0 problems
intermediatePhase

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

45m
0 problems
intermediatePhase

Implement one-to-one entity relationships.

30m
0 problems
intermediatePhase

Implement one-to-many entity relationships.

30m
0 problems
intermediatePhase

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

35m
0 problems
intermediatePhase

Understand lazy loading and its impact on database queries.

35m
0 problems
intermediatePhase

Understand eager loading and when to use it.

30m
0 problems
intermediatePhase

Learn database transactions and their ACID properties.

40m
0 problems
intermediatePhase

Use @Transactional for declarative transaction management in Spring.

40m
0 problems
advancedPhase

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

45m
0 problems
advancedPhase

Optimize database queries for better backend performance.

45m
0 problems
intermediatePhase

Understand indexes and their impact on query performance.

40m
0 problems
intermediatePhase

Implement database-level pagination in Spring Data JPA.

35m
0 problems
intermediatePhase

Manage database schema changes with version-controlled migrations.

35m
0 problems
intermediatePhase

Learn migration tools for managing database schema evolution.

30m
0 problems
7

Phase 7: Authentication

Implement secure user authentication and authorization in backend applications.

beginnerPhase

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

25m
0 problems
beginnerPhase

Trace the complete user login flow from request to response.

40m
0 problems
intermediatePhase

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

40m
0 problems
beginnerPhase

Use server-side sessions to maintain authenticated state.

35m
0 problems
beginnerPhase

Use cookies to transmit session identifiers and tokens.

30m
0 problems
intermediatePhase

Understand JSON Web Tokens for stateless authentication.

45m
0 problems
intermediatePhase

Design short-lived access tokens for API authentication.

35m
0 problems
intermediatePhase

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

35m
0 problems
intermediatePhase

Manage token lifetimes and handle expired tokens gracefully.

30m
0 problems
intermediatePhase

Implement RBAC to control what authenticated users can access.

40m
0 problems
intermediatePhase

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

40m
0 problems
advancedPhase

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

50m
0 problems
intermediatePhase

Design secure authentication systems with proper separation of concerns.

45m
0 problems
intermediatePhase

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.

intermediatePhase

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

40m
0 problems
intermediatePhase

Prevent SQL injection with parameterized queries and ORM.

45m
0 problems
intermediatePhase

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

40m
0 problems
intermediatePhase

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

35m
0 problems
intermediatePhase

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

40m
0 problems
intermediatePhase

Detect and prevent broken authorization vulnerabilities.

35m
0 problems
intermediatePhase

The most common vulnerability - understand and prevent it.

40m
0 problems
intermediatePhase

Implement secure password policies, storage, and reset flows.

35m
0 problems
intermediatePhase

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

35m
0 problems
intermediatePhase

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

30m
0 problems
beginnerPhase

Enforce HTTPS everywhere and understand TLS termination.

25m
0 problems
intermediatePhase

Validate and sanitize all user input to prevent injection attacks.

35m
0 problems
intermediatePhase

Protect APIs from abuse with rate limiting and throttling.

40m
0 problems
intermediatePhase

Log security-relevant events for monitoring and incident response.

30m
0 problems
intermediatePhase

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.

beginnerPhase

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

35m
0 problems
intermediatePhase

Offload long-running work to background job processors.

40m
0 problems
intermediatePhase

Use task queues to decouple request handling from work processing.

40m
0 problems
intermediatePhase

Understand message queues as the backbone of asynchronous systems.

45m
0 problems
intermediatePhase

Learn how producers publish messages to queues.

25m
0 problems
intermediatePhase

Learn how consumers receive and process messages from queues.

25m
0 problems
intermediatePhase

Understand queue data structures in messaging systems.

25m
0 problems
advancedPhase

Master Apache Kafka for high-throughput event streaming.

50m
0 problems
advancedPhase

Learn RabbitMQ for reliable message-based communication.

45m
0 problems
advancedPhase

Scale message processing with consumer groups.

35m
0 problems
advancedPhase

Guarantee message ordering when it matters.

35m
0 problems
intermediatePhase

Implement retry logic with exponential backoff for failed operations.

35m
0 problems
intermediatePhase

Implement exponential backoff to avoid overwhelming failing services.

30m
0 problems
intermediatePhase

Handle permanently failed messages with dead letter queues.

30m
0 problems
advancedPhase

Understand delivery guarantees and at-least-once semantics.

35m
0 problems
advancedPhase

Process duplicate messages safely with idempotent consumers.

35m
0 problems
advancedPhase

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.

13

Phase 13: Backend Performance

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

15

Phase 15: Testing

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

19

Phase 19: Backend Case Studies

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

advancedPhase

Design and build a complete authentication service.

1h 30m
0 problems
advancedPhase

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

1h 30m
0 problems
advancedPhase

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

2h
0 problems
advancedPhase

Build order processing with transactions and state machines.

1h 40m
0 problems
advancedPhase

Design secure payment processing with idempotency and retry.

1h 40m
0 problems
advancedPhase

Build a multi-channel notification service with async processing.

1h 30m
0 problems
advancedPhase

Design scalable file uploads with presigned URLs and metadata.

1h 30m
0 problems
advancedPhase

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

1h 30m
0 problems
advancedPhase

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

1h 30m
0 problems
advancedPhase

Build a shopping cart with session management and persistence.

1h 30m
0 problems
advancedPhase

Design order tracking, restaurant management, and delivery routing.

2h
0 problems
advancedPhase

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

2h
0 problems
advancedPhase

Design real-time messaging with WebSockets and message persistence.

2h
0 problems
advancedPhase

Build a distributed job processing system with scheduling.

1h 40m
0 problems
advancedPhase

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.

intermediatePhase

Common backend questions asked in Amazon interviews.

1h
10 problems
intermediatePhase

Java-specific backend questions for Amazon interviews.

1h
10 problems
intermediatePhase

Spring Boot framework questions commonly asked.

1h
5 problems
intermediatePhase

REST API design and implementation questions.

1h
5 problems
intermediatePhase

Database design and optimization interview questions.

1h
10 problems
intermediatePhase

Authentication and security interview questions.

45m
5 problems
intermediatePhase

Caching strategy and implementation questions.

45m
5 problems
advancedPhase

Threading, synchronization, and concurrency questions.

1h
10 problems
intermediatePhase

Backend security and vulnerability prevention questions.

45m
5 problems
advancedPhase

Performance optimization and scalability questions.

45m
5 problems
advancedPhase

Debugging production issues and incident response questions.

45m
5 problems
advancedPhase

How to handle and discuss production incidents in interviews.

45m
0 problems
intermediatePhase

API design questions from Amazon interviews.

1h
5 problems
advancedPhase

System architecture and design pattern questions.

1h
0 problems
advancedPhase

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

1h
0 problems