>>>>>Is it whether has
>>>>>- Excellent analytical skills?
>>>>>- Highly proficient with the used tools?
>>>>>- Fast?
>>>>>- Ability to write clear code?
>>>>>- Good communication skills
>>>>>
>>>>>Or perhaps something else?
Logic and general troubleshooting. Abstract thinking, as in predicting where the code would go if we do this instead of that.
>eh. I'm confused. A trustworthiness and loyalty are synonyms aren't they (as you know english is not my native tongue, so correct me if I'm wrong). So why do you think a trustworthy developer is a great developer?
Yes and no. The trustworthy one, specially if always doing what he promises to do, gets to be relied upon more and more, and given more and more work and less time to think. The bosses may not see the signs when he approaches the point where he stops caring and begins to voice his concerns, argue against the solution he's tasked with building, and generally gets disgruntled. IOW, this attribute should be taken with care.
>We have made some big mistakes to hire young .NET developers fresh from university only interested to fly away after a couple of months when they found something else and can put our company as a reference for experience. That was a huge waste of money.
Um, that's the difference between foxen and dotnetters. Both themselves and the places where they work are quite different in terms of replaceability. Fox developers gradually grew into being more tied to their places of work, because they were harder to find, it's simply a much smaller market, shrinking all the time. Dotnet people and places are, how was the expression, a dime a dozen. Sometimes you can just find another in the pub on the corner. Try that with fox.