I have build many small size web apps.
I lack experience in designing medium to large application. I tried to read system design content but not able to gain confidence.
How can I do the hands-on practice of system design concepts. Please your tips, resources, plan etc.
1. That has a functioning app
AND
2. Business is growing rapidly bringing more customers than the system can handle.
In other words you learn on the job by getting your hands burnt. I got lucky to have joined such a startup. Learnt a lot, from fixing DB queries, designing asynchronous order processor, using CDN etc. I worked on scaling up the full stack including stuff like connection pools.
So your best bet is to join such a startup. You will learn a lot by handling real user traffic. And also scaling isn’t homogeneous. For example, you make different trade offs scaling a search application Vs scaling a payment processor. So business use case and business domain does matter.