It’s important to surround yourself with other developers who are willing to push you and critique your work.
Writing code. Again, lots of it.
If you aren’t learning something new every day, at least one tiny thing, you wasted your day.
It’s interesting to go from something procedural to object oriented to functional. Switching between interpreted languages and compiled language is equally interesting.
Seeing the different design patterns, conventions, and “culture” of each can be an incredible eye-opener. Case in point: I’m reading Clean Code right now, and while it’s written in Java (which I have worked with in the past), I’ve been able to apply many of the lessons to my work in PHP. Just cool little things like that come from studying multiple languages.
Without that passion, you’ll burn out quick and have no interest in it. Then you’ll just be another run-of-the-mill average coder taking up desk space that someone passionate could be using. Not to be rude, just being straight forward: love doing it or find another profession.
I’ve grown my skills by looking to a few mentors and secretly competing with them. This won’t work for everyone, but it did wonders for me.