Make money doing the work you believe in
If you're a software engineer who wants to upskill in system design, read these 14 articles (links below):
1. From Passwords to Modern Approaches: sessions-cookies, tokens, API keys, OTP, and SSO.
2. OAuth2 and JWT: the Modern API Authentication Standards.
3. A Practical Guide to Managing State and Building Scalable Web Applications.
4. A not-well-known pattern for designing better distributed systems.
5. A quick journey through replication, partitioning, and NoSQL databases.
6. From theory to production: cache performance, architecture, and deployment strategies.
7. An overview of more advanced cache concepts: read and write strategies, replacement policies, invalidation, and TTL
8. Common mistakes software engineers make during system design interviews and how to avoid them.
9. How to define system requirements and go from vague problems to clear solutions.
10. How to answer this popular system design question: from a simple concept to a scalable system.
11. What every engineer should know when working with distributed systems.
12. How intentional failures can make distributed systems more resilient.
13. A taxonomy of the most used types of database available on the market: relational, NoSQL, time-series and NewSQL.
14. How to measure a system capacity or performance requirements and choose the best design.

