For me the perfect developer (if there is such a person) has these qualities:
- Friendly: is respected and liked by all they work with and are always approachable (even in times of stress)
- Humble: has great humilty and is not driven by ego
- Calm: doesn't get emotive within discussions (including discussions that are both in their favour and those that aren't)
- Understanding: appreciates that business requirements do change regularly and that there are no perfect scenarios; so is able to adapt to problematic situations in the appropriate manner
- Agile: recognises when they are potentially moving down a rabbit hole/time sink/yak shave and will successfully re-evaluate the situation and refocus their attention
- Patient: appreciates that no dev is born equal and so varying soft/practical skills will be encountered
- Experienced: has a wide ranging skill set with relevant practical experience and most importantly realises the fundamentals of simple code design and recognised patt