Hard to say. The things I think made the biggest difference:
- Side projects, even just running websites for and extended period has taught me a lot that I've taken with me to work contexts.
- Committed to accelerating learning key languages on my own time (eg. PHP early on, then JavaScript, etc). I allocated specific time to do it, bought books and worked through them, built some things with them. But it was the commitment that really drove it.
- Moved jobs. I was in a web job with a big title and a team to manage; I moved to a dev position in a software company. I wanted to learn "software things" like testing and deployment pipelines (which were not a thing in web teams at the time). I didn't realise I'd also encounter pair programming and code reviews.
- Pair program with people more experienced than you, you will learn a lot about code.
- Pair program with people much less experienced than you, you will learn to teach.
- Embrace code review. Getting your work pulled apart line by line is confronting, but you will learn heaps. If nothing else you learn to treat the code less personally. It's the property of the whole team and you are contributing to that. You are not your code, your code can have flaws and that doesn't mean you have flaws (I mean we all do but that's not because we wrote a crappy function one time and it marked our psyche forever).
- Learn more than one language, in order to mentally demote syntax and promote concepts. I learned some Python after I'd started to really get to grips with JavaScript and it drove home the way core programming concepts cross languages.
If any one thing made the biggest difference it's probably learning more than one language. You need to be confident you can learn the next thing and not wait around, stagnating in your comfort zone.