While I've successfully managed these projects, they haven't required complex scalability solutions.
I'm currently preparing for interviews and finding system design questions challenging. Despite studying resources like Alex Xu's System Design Interview books and 'Designing Data-Intensive Applications', I struggle with:
1. Confidently recommending distributed system solutions
2. Asking the right questions during discussions
3. Articulating trade-offs between different approaches
I'm looking for advice from engineers who've been in similar situations:
1. How did you bridge the gap between theoretical knowledge and practical discussions?
2. What strategies helped you practice and improve your system design skills?
3. How did you build confidence in discussing large-scale architectures without direct experience?
Would especially appreciate hearing about specific approaches or resources that helped you succeed in system design interviews."
In my case I learned a collection of tiny things contribute to application performance improvements more than any single big thing. That in combination with very fast test automation allowed me to do very big changes on personal projects in 2-4 hours at very low risk while much smaller efforts at work were taking me more than 2 weeks at substantially greater risk. I had learned good systems design and by learning to build more simple architecture the flow control became very short.