Ideas from books, articles & podcasts.
You can't design a system if you don't know what you're designing.
First, ask questions to clarify what you need to implement. Then make a list of all major features and use cases that your design must cover.
For example, if you're designing TinyURL, that list might be:
MORE IDEAS FROM THE SAME ARTICLE
Once you have a basic design in mind, focus on the key issues. Identify the bottlenecks and major challenges of the system, and then adjust your design to handle them.
Depending on the type of system you are designing, you need to estimate its scale: how many users will access it every day, how much data you will store and process, etc.
There is no single design for any system that works perfectly. There are always trade-offs. Two different people can come up with different designs, with both being excellent given different assumptions.
created 6 ideas
created 7 ideas
Chapter 3 How to influence people and friends
❤️ Brainstash Inc.