What’s better for improving at real system design? Too early?

For real-world architecture/system design, earlier in your career, is it better to learn more passively first by taking your time learning from others/attending meetings, or by actually doing it and actively participating from the start? Is good feedback/mentorship what truly matters or is it feasible to get good via self-teaching/research/testing? I have the option of being on a startup-y team with more responsibility vs. a mature env where I can access more resources/existing processes but likely contribute less. I’ve gotten my feet wet and want to level up my design skills, but I’m just mid-level with 2 YOE. Is it too early/ambitious to try making decent architecture decisions at 2 YOE (what about 1 or 3)? Is a scrappier env typically detrimental to good sys design? And this can apply to different domains (frontend, backend, mobile, etc.). There are 2 pairs of choices in the poll, so there can be multiple selections. TC: 160k #systemdesign

Poll
32 Participants
Multiple selections allowed
Google dhe Jun 9, 2022

Actively building stuff and not fearing failures. Some tradeoffs are learnt only when there's failures and you need to actually think on your feet

Expedia Group m!AeWPuN82 Jun 9, 2022

Both. Understand the pattern and the reason and test it by doing it.