In summary try to develop good judgement based on real world experience.
Never, ever, stop learning. Don't feel too bad if you can't find time for a personal project like everybody else seems to have. Just make sure you are up-to-date with the hectic changes in the programming world.
Every single time you're on HN and you're reading an article about Kubernetes while you're just a frontend web developer expands your horizons and advances your career.
And when you know something about most things, with some specialisation, go freelance and expand your skillset and knowledge further.
The moment you stop learning is the moment your career crystallises and dies.
For example, ElasticSearch is “fast”, but what makes it so? What trade offs were made to make it “fast”?
You may start seeing patterns on how good/bad tech stack are built (aka the meta), and those meta would help you a lot down the road in knowing what type of toolset you can use, common type of problems a given architecture would exposed to.