System Design
Design reliable backend systems through data, traffic, async work, and failure trade-offs.
Structured backend curriculum
Choose a path, work through connected lessons, check your understanding, and return exactly where you left off.
Your learning plan
Choose a course, follow the lessons in order, and check your understanding as you go.
Six learning paths · 77 lessons
Lessons may support more than one path. Completing a shared lesson counts everywhere it appears.
Design reliable backend systems through data, traffic, async work, and failure trade-offs.
Choose Java collections by access pattern, correctness constraints, and performance behavior.
Build clear API contracts that remain predictable through errors, retries, and change.
Understand identity, tokens, sessions, OAuth, and browser security boundaries.
Protect APIs, credentials, sessions, integrations, and operational trust boundaries.
Build practical complexity judgment for search, arrays, heaps, and backend code reviews.