- Make changes to existing projects
- Create and use projects you have an interest or use in for yourself
- Reading technical articles
- Reading guidance docs (like Microsoft dotnet or SQL Server docs giving introduction to architecture, systems, approaches, behaviors, design decisions, etc)
- Working with more experienced people - seeing them work, being instructed, reviewed, commented, guided by them
- Experiencing alternative technologies and approaches
- Experience in general
- Exploring existing projects and their architectures
I don't know how far along you are in Python use. In general, I don't think Python guides you into good practice or architecture. It's too dynamic and varied of a language. You'll need a framework to be guided. Personally, I have a dislike for it for multiple reasons. Others seem to like it. Other languages and ecosystems are more limited, in good ways. (Maybe I'm misinterpreting "todays" Python, I've only peeking experience with Python.)
I would suggest trying out Go or/and then C#. Both are relatively simple to get into, and have more native/mainline frameworks and guidance. C#/Dotnet in general has a lot of guidance, documentation in broad and specific, and tutorials and sample projects.