But Google does have a strong C++/Java/Python bias. Even if it hasn't touched you personally, it is very likely that a new Googler will be using one of those 3 languages as her main language.
Most large companies (and even mid-sized ones) have some kind of "technological environment of choice" that sort of given (three languages is already not so bad). It does not means it cannot change or be lifted for a specific project, just that it is "what you are supposed to use", and that you are expected to provide heavy arguments to be allowed deviate from it.
In most situations, this is actually wise : behind development, you have a whole process (deploy, quality control, etc), and they will have the required tools and expertise for the languages they use on a regular basis. And when you start a project at a large company, you know that other people will take it after, so it is easier if it is close to the company technical standards.
Having written an application in Ruby in a Java shop, I remember protesting on the "rewrite in Java" that happened just after the prototype phase. With some distance, I think I understand the decision.
There's nothing wrong with having a uniform set of languages. I just wish they were good languages and not Java or Python.
Having everybody use their own programming language would be crazy. Unless they're domain-specific languages, in which case it would actually be very cool.
Still, if I'm to be bound by a language choice, I'd really like to be the one making it. Which is why I think working for a tiny startup would be more fun.
It is important to know your own preferences, but as you said yourself, then you need to make your choices accordingly : it could be the startup, or aiming for a position in a big company where you have something to say about those choices. Both are interesting.
For the first point, I will not start a discussion about what is a "good" language (a large part of it being in the eye of the beholder and in the requirements of the projects).
I don't disagree with you on any count, but I think, to a degree, there are going to be relatively standard languages at any large company. The majority of Microsoft programmers are probably out coding in some variation of C#/.NET and the like, while Apple programmers are somewhat locked into Obj-C etc.
When you reach the kind of scale these companies have attained (30000 people at Google!) you need some sort of internal commonality in language knowledge to allow effective code reviews and intercompatibility between divisions. Java/Python/C++ each have their own flaws, god knows Java has some flaws, but I believe allowing free spirited use of whatever coding language best fit the project would lead to a net loss in productivity (in review, lack of reusability, etc.), even if it was a better approach from a theoretical perspective.
Businesses don't like lost productivity.
Google still uses Java for the same reason we all still speak English instead of Esperanto. An existing community of fluent speakers is far more valuable in daily practice than theoretical superiority.
But Google does have a strong C++/Java/Python bias. Even if it hasn't touched you personally, it is very likely that a new Googler will be using one of those 3 languages as her main language.