These are some of the topics that a standard backend engineer should know. Here we are consciously excluding any particular tool, framework or programming language. Instead we want to focus on topics related to high level system design and architecture. It can’t be an exhaustive list ever. I will try my best to keep adding to and please add your items in the comments so that I can include those as well.
- Multi-Tenant Architecture
- Microservices: A software development technique, a variant of the service-oriented architecture (SOA) architectural style that structures an application as a collection of loosely coupled services.
- Service-Oriented Architecture (SOA)
- Web-oriented architecture (WOA): A substyle of service-oriented architecture (SOA) that leverages Web architecture. It emphasizes the generality of interfaces (user interfaces and APIs) via five fundamental generic interface constraints: resource identification (e.g., uniform resource identifier [URI]), manipulation of resources through representations (e.g., HTTP), self-descriptive messages (e.g., Multipurpose Internet Messaging Extensions [MIME] types), hypermedia as the engine of application state (e.g., links) and application neutrality.
- Serverless Architecture
- Multi-Cloud Architecture
- Monolith Systems
- High Availability (HA): Active-Active vs Active-Passive design discusses two different ways to achieve HA. Also known as Hot-Hot and Hot-Cold design.
- Backpressure
- Circuit Breaker
- Service Discovery
- Green Blue Deployment
- Canary
- Throughput
- Latency
- Throttling
- API Rate Limiter
- CAP theorem
- SOLID Design Principles
- ACID
- SLA vs SLO
- Eventual Consistency
- Read-after-write-consistency
- A/B Testing
- Reverse Engineering
- Fan-in vs Fan-out
- Write-through cache vs Write-around cache
- Data co-location
- Business Continuity Plan (BCP)
- Disaster Recovery (DR)
- Strong Cohesion
- Loose Coupling
- Idempotency in HTTP Request
- Consistent Hashing and DHT
- Lazy Loading
- Eager Loading
- Object Hydration
- Pagination
- Service Mesh
- OpenID Connect
- Capacity Planning
- Blockchain
- Distributed Caching
- Load Balancing
- Database Sharding
- Application Server vs Web Server
- Sidecar Design Pattern for Microservices
- Synthetic Monitoring
- GraphQL API vs REST API
- Asynchronous Messaging
- Deep Copy vs Shallow Copy
- Cloud Computing vs Edge Computing
- Reverse Proxy