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 patterns
 - Consistent: by being consistent in their development approach they faciliate easier rotation of developers when resources are restricted/restructured
 - Wise: knows when and where a particular technology is appropriate to use (and when not appropriate)
 - Analytical: is pragmatic and can break down complex problems into logical smaller tasks
 - Articulate: able to communicate clearly their ideas to people of all technical levels
 - Open: continuous documentation and visibility into design and development progress; ensuring good communication
 - Reasonable: understands a problem's sense of proportion; what's important and what isn't (e.g. when something is a big deal and worth pressing; and when it isn't and so not prematurely raising red flags)
 - Passionate: enjoys their craft; always keen/open to new experiences and learning new things
 
Incidentally, this also describes a great person in general :)