I found this article explaining the differences between a good programmer and an average one
I’m pleased that i can read that list and honestly say I am/do most of those things. Possibly the notable exception is reading books. I agree with one of the commenters in that books are virtually outdated from the moment they’re printed. Software is changing so fast, the most beneficial information you could get from a book is not instructions on implementing a solution (ie: “Teach Yourself XXX in 24 Hours”), but the theories behind good solutions (eg: “Design Patterns: Elements of Reusable Object-Oriented Software“).
I own both, and I have rarely ever picked up the former after reading it.