Best strategy for becoming a high paying/good software engineer would be to think of yourselves as problem solver and language as just one of the tool for problem solving. Thinking of yourselves as someone who is a writer of a certain programming language is self constarining and missing the point.
I used to think this way and wound up completely exhausted in my career. Coming from web dev, I used to volunteer to dive into a Objective C repo to fix some random bug in a mobile app and then a week later my boss would ask me to build a big feature in that app. I'd spend a few weeks getting up to speed on the language and build the feature, and then I would never use what I learned again. My boss would ask me to di…
> think of yourself as a problem solver, rather than a programmer of a specific language
would be to
> steer away from problems that are boring to you
E.g., there are very cool programs being written in Objective C, so I wouldn't write off a job just because it was in Objective C