2) The symptoms are largely hipster BS. ThinkGeek, Referal links to specific books, really?
3) A destructive pursuit of perfection is the sign of incompetence and is frequently career ending when combined with this symptom: "Contempt for delivery dates". The mere fact this was put to paper is proof the OP is completely worthless. If a developer can't produce an acceptable, working product on a reasonable deadline they get fired.
Eager to fix what isn't broken should be more like getting better at your job over a period of time. Sitting around and rewriting apps that work perfectly to make cleaner/optimized code is not usually a good use of time. But taking lessons learned from one project to do better on the next is expected.
No matter who writes an app, the next person in charge of it thinks it was written terribley and wants to rewrite it. This is a vicious circle and I have seen lots of development teams never achieve anything that really helps the business or users because of this. Be careful of ever being eager to fix what truly isn't broken.
I think probably these are signs of a good programmer. But i wouldn't worry too much about how you compare to these things. To be a good programmer, program.
2) The symptoms are largely hipster BS. ThinkGeek, Referal links to specific books, really?
3) A destructive pursuit of perfection is the sign of incompetence and is frequently career ending when combined with this symptom: "Contempt for delivery dates". The mere fact this was put to paper is proof the OP is completely worthless. If a developer can't produce an acceptable, working product on a reasonable deadline they get fired.