In the golden age of Disney animation, you'd be a fool to say any of their animators were bad artists, but there were definitely better among them. There are also perfectly mediocre comic book artists who still make a healthy living. There is art with quality that is entirely subjective. All of this applies to code. The best senior dev on the backend team of a small company is probably a garbage coder compared to the new guy at some Bay Area startup. Code that one team calls elegant and amazing may be called overly complex and unnecessarily clever by another.
At the end of the day, being a programmer is easy. Being a great programmer is hard. Like many things in life, you can get a lot better if you practice at it a lot more, +/- the "talent" modifier. But at the end of the day if you can do basic 8th grade pre-algebra, and speak english, you probably have the education needed to be able to program professionally, its just a matter of learning the syntax and patterns.
Just because someone shows up in the bay area it doesn't make them instantly good coders/developers/programmers. Just because a company is in the bay area it doesn't make the dev team good either. Usually the great devs are at fangs or working at a cool startup. There are a lot of companies with little hope and a lot of teams without solid experience.
The best dev at a small company could be the best in the world or the 5th worst. From what I have seen is a lot of good developers end up at a small places because of the challenge and/or lifestyle.