+ 1
I think that a good programmer, most importantly, should be passionate about coding. If you don't like what you're doing, you won't excel at it no matter how much you try to learn. You should also have:
- Persistence.
- Motivation.
- Willingness to learn new things.
- Not being afraid to fail.
And practice, practice, practice.