I'm so relieved to hear that there are no amateur native developers. Gives me a warm, fuzzy feeling inside.
The desktop is not cool or hip, so the people doing it tend to be people who really want to be there, not chasing trends. It's a vast oversimplification of the situation, sure.
I'm pretty sick of the "I work with people without CS degrees" excuse. Good software design really comes down to experience, persistence, and taste.