System Design
System Design Roadmap
Everything you need to know about designing large-scale systems in @currentYear@
This page is a visitor-friendly snapshot of how William currently sees this area: what feels strong, what is still being refined, and where the evidence is still partial.
0
Done
11
Learning
0
Target
0
Skipped
147
Tracked
Status meanings
Done: enough evidence to present this area as a solid strength.
Learning: an area of active development with growing confidence.
Target: relevant and intentional, but still earlier in the journey.
Skipped: not a current priority relative to other areas.
How the estimates are formed
Profile and manual review: 5
Evidence from project experience: 5
Competency mapping alignment: 1
Quiz-backed updates: 0
These signals help estimate progress, but they are still best treated as directional rather than perfectly complete.
Areas currently being strengthened
Load Balancers
This is actively developing and would benefit from more practice, proof, or recent examples.
Microservices
This is actively developing and would benefit from more practice, proof, or recent examples.
Caching
This is actively developing and would benefit from more practice, proof, or recent examples.
Monitoring
This is actively developing and would benefit from more practice, proof, or recent examples.
Circuit Breaker
This is actively developing and would benefit from more practice, proof, or recent examples.
Resiliency
This is actively developing and would benefit from more practice, proof, or recent examples.
Introduction
What is System Design?
How to approach System Design?
Performance vs Scalability
Latency vs Throughput
Availability vs Consistency
CAP Theorem
Consistency Patterns
Eventual Consistency
Weak Consistency
Strong Consistency
Availability Patterns
Fail-Over
Replication
Availability in Numbers
Background Jobs
Event-Driven
Schedule Driven
Returning Results
Domain Name System
Content Delivery Networks
Pull CDNs
Push CDNs
Load Balancers
Updated 3/21/2026
LB vs Reverse Proxy
Load Balancing Algorithms
Layer 7 Load Balancing
Layer 4 Load Balancing
Horizontal Scaling
Application Layer
Service Discovery
Microservices
Updated 3/21/2026
Databases
SQL vs NoSQL
Replication
Sharding
Federation
Denormalization
SQL Tuning
Key-Value Store
Document Store
Wide Column Store
Graph Databases
Caching
Updated 3/21/2026
Refresh Ahead
Write-behind
Write-through
Cache Aside
Client Caching
CDN Caching
Web Server Caching
Database Caching
Application Caching
Asynchronism
Task Queues
Message Queues
Back Pressure
Idempotent Operations
Communication
UDP
HTTP
TCP
RPC
REST
gRPC
GraphQL
Performance Antipatterns
Busy Database
Busy Frontend
Chatty I/O
Extraneous Fetching
Improper Instantiation
Monolithic Persistence
No Caching
Noisy Neighbor
Retry Storm
Synchronous I/O
Monitoring
Updated 3/21/2026
Security Monitoring
Health Monitoring
Availability Monitoring
Performance Monitoring
Usage Monitoring
Instrumentation
Visualization & Alerts
Cloud Design Patterns
Messaging
Sequential Convoy
Scheduling Agent Supervisor
Queue-Based Load Leveling
Publisher/Subscriber
Priority Queue
Pipes and Filters
Competing Consumers
Choreography
Claim Check
Async Request Reply
Data Management
Valet Key
Static Content Hosting
Sharding
Materialized View
Index Table
Event Sourcing
CQRS
Cache-Aside
Design & Implementation
Strangler Fig
Static Content Hosting
Sidecar
Pipes & Filters
Leader Election
Gateway Routing
Gateway Offloading
Gateway Aggregation
External Config Store
Compute Resource Consolidation
CQRS
Backends for Frontend
Anti-Corruption Layer
Ambassador
Reliability Patterns
Availability
Deployment Stamps
Geodes
Health Endpoint Monitoring
Queue-Based Load Leveling
Throttling
High Availability
Deployment Stamps
Geodes
Health Endpoint Monitoring
Bulkhead
Circuit Breaker
Updated 3/21/2026