So. DSA is relatively straightforward to get good at: methodically go through some common patterns and train yourself on the variations. However, system design is a completely different beast.
There's the hard science component of "this DB cluster will probably handle 10K QPS at this scale", eventual consistency, etc. System. And then... there is the art. Design.
I understand there's some level of mentorship/guidance involved, but I'd rather be a mostly hands-off self-improving machine like .
As far as I see it, this is what makes DSA straightforward to improve in: rigorously measure your own work against an objective set of metrics, rinse and repeat.
So my question is: How do you audit your own work when you do system design?