It's all about developing a "knowledge portfolio". Java and C# are the "blue chip" languages, low risk, but probably lower pay than experts in more "cutting edge" languages, like Ruby, higher risk, but consultants who are experts in these languages command a lot of money, even though over time as more people learn Ruby, that will drop. But the key for any developer is to be proficient in the blue-chip technologies, and try to become also proficient in other higher risk/higher potential return technologies.