Live data from Hacker News

How to become good at system design?

news.ycombinator.com

1–10 of 29 posts

Re: How to become good at system design?

#5

Sorry, there is no way to be good at something without doing it. After some initial reading try to get your hands dirty with any large scale application you can get access to.

But there are many ways to fail at getting good at something while doing it a lot.

Re: How to become good at system design?

#6
post #5

Sorry, there is no way to be good at something without doing it. After some initial reading try to get your hands dirty with any large scale application you can get access to.

But there are many ways to fail at getting good at something while doing it a lot.

Good judgment comes from experience; experience comes from bad judgment

Re: How to become good at system design?

#7

Learn ho to modularize and how to keep cohesion high and coupling low. Avoid horizontal dependencies, don't mix abstraction layers, learn to isolate, apply tagless final. Use formal API definitions.

Although these are in general great advice, it means nothing to someone without handson experience, way too generic and abstract.

Re: How to become good at system design?

#8
Please don't bother with the whole charade of you have to do it to learn it. This kind of advice places more importance on people working at internet companies which have achieved scale. If you are at these companies then you have nothing to worry, experience will teach you. If you are not, follow @cppr's advice and read through DDIA. It will give you good enough introduction to data systems - not just databases. Then I would suggest to learn how message queues work since that part isn't covered in the book. Do a lot of mock designs and attack your designs with different load parameters - how much data do I store, how many machines (if more than one is necesary), can I do it simpler. Honestly if you can estimate storage and throughput well then you are fine. Pick up some distributed systems papers if you are very interested. Once you have these down you would be able to pick more topics yourself. Good luck. Keep learning.

Re: How to become good at system design?

#9
I think that good analytical skills are prerequisite. You must know how each component/module will interact /interfere with other components. I don't know if there are any labs that might help you. Which existing application do you consider to be large scale application?

Re: How to become good at system design?

#10
post #5

Earlier quoted context omitted.

But there are many ways to fail at getting good at something while doing it a lot.

Good judgment comes from experience; experience comes from bad judgment

Good judgement comes from a mix of positive and negative experiences while paying attention to the right things.
Post reply on HN