Many developers rise to surprisingly senior positions without having any idea which design patterns lead to success and which to failure.
To learn the right patterns, begin by temporarily ignoring everyone around you.
Find your favorite open source projects, and go see what they do.
Don't try to read or understand all or even most of their code.
Look for broad patterns.
What tools they use?
How they organize things?
Do they specify dependencies as specific versions, like `pkg==1.2.3`, or do they usually just specify `pkg`, and sometimes (but rarely) `pkg>=1.2.3`?
Before you can learn from your colleagues, remember that most startups fail, and many large companies are quite dysfunctional and can afford inefficient developer teams.
First learn from the many successful open codebases you use in your day to day life.
Distill the patterns they share, and you'll be years ahead of your contemporaries in your intuition about our field.