Trabalho de Desenvolvedor e o nosso país

Venho fazendo pesquisas do mercado de trabalho, onde encontro boas vagas que pagam muito bem em regiões como São Paulo e Rio de Janeiro, da mesma forma fico muitas vezes indignado com as propostas para região centro-oeste e norte, a questão é que ainda não fiz muitos cálculos quanto ao custo de vida de cada região para relacionar as propostas, o que compensa mais ir para os grandes centros ou ficar por aqui mesmo?

Ultimamente também tenho tido algumas dúvidas quanto os requisitos nas propostas de trabalho e nisso durante o último ano estudei sobre tudo quanto é tecnologia que era exigida, mas fico um tanto quanto chateado pois parece que os “requisitos” condizem muito pouco com a realidade do cargo, então aprender tudo ou se limitar e especializar?

Meu forte de conhecimento é em Java, C e C++, tenho visto ótimas propostas para desenvolvimento em linguagens um tanto antigas como C e C++, mas ainda não sei se compensa investir no aprendizado de linguagens como estas, onde a maior parte da atuação com software legado é para correções e em casos extremos re-code, compensa trabalhar nessa área? Compensa aprender a desenvolver em linguagens antigas como Cobol, Fortran, etc?

Quanto as frameworks, ter conhecimento prévio é realmente necessário e compensativo?

Primeiro, você quer trabalhar com programação por que gosta ou pensa no salário?
Eu sei que é um clichê maldito, mas se você vai trabalhar com algo sem “amar a profissão”, vai sempre se sentir injustiçado, mal remunerado, desanimado e frustrado.
Por que um pescador que não ganha muito não abandona tudo para trabalhar num escritório e ganhar melhor? Pelo simples fato de ele gostar muito do que faz ou não ter alternativa.
Você tem alternativas. Pode estudar.

Se pretende trabalhar “por amor à profissão”, então, você precisará decidir o que quer para tua vida. Se você se dá bem com C ou C++ (aliás, não são linguagens “antigas”, embora tenham sido criadas há algumas décadas, elas ainda tem mercado e são constantemente atualizadas), procure vagas para estas linguagens.
Se o teu foco é trabalhar com um milhão e trezentos mil frameworks e com web, vá de java.
Agora, se quer ingressar em empresas como bancos e grandes instituições, aprenda COBOL.
Quer trabalhar com código legado, pode ser C, C++, Java, Delphi, COBOL…

Então, deixe de conjecturas, decida e siga o que for melhor para você.

As empresas oferecem pouco porque os profissionais aceitam, ou porque querem ou porque não tem outra opção. Acho que se for pelo salário é melhor vir pra SP mesmo. Com relação às tecnologias eu não acho válido ficar estudando tudo antes, porque nunca será possível cobrir tudo. O problema é que as vezes você não preenche apenas um dos itens dos requisitos da vaga e eles não aceitam você, mas de qualquer forma eu prefiro não mentir sobre o que não sei e não fico mais estudando frameworks feito doido igual antes. Quando vou a uma entrevista digo apenas o que sei mas tento deixar claro que sou autodidata e consigo aprender novas tecnologias/frameworks. Eu já perdi uma vaga pra um colega meu que também não sabia o framework mas disse que sabia, mas pra mim se a empresa não contrata uma pessoa porque ela não sabe um dos "1200’ frameworks que existem então nem vale a pena ir pra lá porque muito provavelmente isto significa que o investimento no aprimoramento dos profissionais é zero e quando acaba um projeto com a tecnologia que você conhece eles descartam você pra pegar outro ao invés de te ajudar a se atualizar.