First of all this is pretty subjective. I agree with the other two as well although I don't see consistent code-formatting, swearing or team-spirit as a quality necessary for a good developer. Although I probably prefer working with developers having these traits more than with the ones without.
So my list would be.
Patience and Structure
In our craft doing things quick usually leads downhill. Having the Patience to do the hard thing first .... to think before acting. creating a plan before executing random deep dives. I don't wanna go so far as say TDD although I think it helps. Using pen and paper, talk about the problem (even to yourself) and than work on it. That's in my experience more stable.
Acting based on Context
I like to quote the new star trek series:
Universal law is for lackeys. Context is for kings.
every assumption that this is the "only way" to do something, is a sign that usually people don't understand the problem. Because every assumption you make is based on a model of your current knowledge which leads me to another favorite quote...
Essentially, all models are wrong, but some are useful.
(George E. P. Box)
Knowing when to use what, knowing that all your decision basically are wrong but you picked the trade-off that made sense at the time.
Ability to grasp functional elegance
usually developer are obsessed with syntactical elegance, it's something easy to understand we have guidelines like _clean code _or the pragmatic programmer and other good books that explains "how we should work" and "how we should structure our code" which are great (although once again .... context never commit yourself to a dogma).
functional elegance can be in a piece of code that looks ugly based on the assumptions above, but it solves an issue you would solve with 200 lines of code with 20 if conditions in maybe 10. For example moving the mathematical base to 2 and using shift. Instead of trying to catch the "exceptions" with complexity they eliminate them and create simplicity.
Those are only a fragments of my opinion about what a good programmer should do and are of interchangeable. But they are currently the first 3 ones on my list.
Still I will surely change my mind which leads to another quote:
No one can keep you from changing your mind over night. No one can keep you from getting a little bit smarter over night.
(this is a rough translation, it works better in german)