Top 4 qualities of a good software developer

Have you ever wondered whether you can consider yourself a good software developer? If so, you probably also wondered what it means to be a good software programmer. What are the skills of a good software engineer? What are the differences between the bad and the good one? Is this just a matter of experience? Is this connected with knowledge and practice or rather with some inborn abilities? How to become a good software developer? Let me share with you my definition of a good programmer.