What is system design?
Wikipedia: Systems design is the process of defining elements of a system like modules, architecture, components and their interfaces and data for a system based on the specified requirements.
System design is the pain and joy of every engineer
- How do we design scalable systems?
- It's so incredibly fun to think about building components that drive the day-to-day life of millions of people
- At the same time, it's incredibly difficult!
- Especially when system design is an actively tested topic in interviews!
School doesn't help that much!
- Computer science students (at least from what I know) don't have that much experience in designing large-scale systems.
- Most are tripped up when asked questions on system design
How to learn about system design then?
- Books! Websites!
- & Most Importantly REAL-WORLD WORK!
- How do you get real-world work if you can't even pass the system design interview to get your foot in the Tech door?
Can there be a better way of learning system design?
The System Design Game
Imagine an empire building game but this time for designing Facebook from a startup all the way to a MNC!
Along the way you would be met with various disasters such as server crashes, privacy concerns, malicious hackers...
You are in charge of designing the technical infrastructure of Facebook, such that it will be scalable to billions of users and resistant against all sort of hazards.
Can you guide your team and server farms to the next billion user? Or would it crash and burn like the many Myspace, Netscape, Google+ of the past?
Time: 10 min
Quota: 21 ideas
Best Idea: Team based strategy game with attacker & defender
- More realistic scenarios
- Post scenarios e.g. Going to scale to expand to another country
- Vote if defender passed
- Team of 5
- Come up with strategy to defend against scenarios
- Why not just write the idea of what the game would be like (Interface), and then get the community to vote on how the game would be like (Implementation)?
Product Hunt Page Covers
I decide to learn from the best by copying the design of this page
Time Taken: 2.5 hrs
Day 3 of 30 Apps in 30 Days The System Design Game Imagine an empire building game but this time for designing the tech infrastructure Facebook from a startup all the way to a MNC! Learn system design by playing a game. Join WaitList: sysdesign.30apps.me/ Upvote on ProductHunt if you love the idea: https://www.producthunt.com/posts/the-system-design-game TikTok: https://vt.tiktok.com/ Reflection - Process > Outcome - Outcomes are stepping stones to refine the process - What I think is ingenious ≠ What people want to use! - (Platinum-rated Suggestion from Friend) DO NOT TELL FRENS TO UPVOTE OR SUBSCRIBE - THIS SKEWS THE RESULTS! - WHAT'S THE POINT IF YOU JUST PEER PRESSURE PPL TO UPVOTE! - WE ARE TESTING VIABILITY HERE! - Failure desensitisation is real! - If I just launched one idea, I would have feel super bad that the hit rate is so low! - But now, I view everything as part of the PROCESS! Process refinement changelog: https://30apps.me/process-refinement-changelog Reply UNSUB to unsub