Having worked across many teams with some awesome developers, I could jot down some of their qualities. These are not all the qualities they have, but I think having these qualities certainly make you a good developer or a software consultant.
1] Attention to detail
This is such an important skill to have in a developer because producing error-free deliverable’s build trust with clients. This shows that you are thorough and your solutions are solid. Creating a check-list before pushing is one of the ways to not forget things.
You are not sure what kind of problems you are going to be asked to solve. Problems may be completely new to you – or even to industry. When you are faced with this kind of tough problems, it’s this skill that’ll help you succeed. You should be able to solve problems quickly and creatively.
You should be able to approach your lead, manager, your peers and resources outside. Being creative in research efforts is very much important. Be sure not to quit early and show your team/client that you can get the job done.
3] Not being afraid to ask questions
Asking questions to clients or stakeholders is at the core of how a developer works. You should feel like you are an interrogator :). It also helps in attention to detail.
Asking questions help you understand what you are being asked to do. Asking questions is better than doing something wrong. If you have understood the requirements or problems, rephrasing or restating those can inspire confidence with your client.
4] Not being a yes-man
Making the customer happy does not mean you have to agree with whatever they ask or tell. Developers are closer to business, technology and end users. You should be able to find the right balance between business needs, user needs, and technical feasibility. Guide your customer towards the right approach providing right reasons.
5] They listen to others
Building great software is not a one man job, it’s a teamwork. Learn to value everyone’s opinion. Accept the fact that it’s okay to be wrong sometimes. Learn to use appropriate tone while asking/requesting someone to do something.
6] They do not ignore the silent ones
You might have some people in your team who lack participation in decision making. It might be because the person is introvert, have conflicts with others or the person does not feel that conversation is of any value to him/her. Try to include them in the discussions, take them along. You never know, they might have something really valuable which can lead to a breakthrough.
7] They don’t get easily influenced
You might end up with a team which has one or more people who are very vocal and will force you to agree with the things they believe. They are not always right, so do not get carried away.