I have a theory that there just aren't that many good developers due to the way the industry works (more pay to move into management, lots of developers just making small changes to large existing codebases, lots of people only in it for the money and don't care).