I want to become a good programmer. What are the things that I need to keep in mind to become a good programmer. For example I wish to know something like-
What I should study?
How should I study?
In what time frame I should complete a concept?
Things I need to keep in mind in order to study some concept.
What amount to practice and to what level I need to study the theory?
I am not looking for a specific answer but anything from a tip to a long advice that might help me become a good programmer would help.