Jeff Moser wrote an excellent piece about becoming a grand-master developer, but in my eyes, this applies to any skill you can learn.
If you're not constantly pushing yourself into unchartered territory, you're not going to improve. I needed this piece for a bit of a wake-up call in both cycling and software development.