Oi Diego!
É realmente como você disse, uma coisa complicada.
Assim como qualquer área, as empresas exigem experiência. Isso é o mais importante, você adquirir experiência.
Não tem uma linguagem melhor ou pior. Em termos de números, as mais procuradas e robustas que se tem no mercado são Java e .NET. Estas tem uma maior quantidade de vagas no mercado de trabalho, mas sua curva de aprendizado é maior e você terá mais trabalho para "mostrar serviço".
Existem outras tecnologias mais simples e rápidas de aprender como PHP, Node, Angular, entre outras. Além do fato delas não exigirem uma infraestrutura específica com servidores específicos como Java e .NET exigem. Para estes, até mesmo um ambiente com um simples servidor Apache sua aplicação funciona. Mas o mercado de trabalho (do Brasil) não é tão forte para estas tecnologias como é para Java e .NET, incluindo faixa salarial que é menor. Esse tipo de coisa está mudando com o tempo, mas devagar.
Outro fator é a facilidade e conforto que você sente com a tecnologia. Muitos não gostam ou se adaptam ao Java, por exemplo. DotNet é mais agradável nesse ponto. Outros também não gostam de nenhum desses dois e preferem a rapidez e simplicidade de outras linguagens como Python, Node, Ruby, etc.
Enfim, é um conjunto de fatores e isso tudo que eu disse é sem contar as oportunidades que aparecem para nós. Muitas vezes aparecem oportunidades para nós totalmente fora daquilo que nos preparamos ou planejamos seguir. Você pode começar a estudar e aprender PHP, mas aparecer uma oportunidade em Python que você pode correr atrás e conseguir algo. Tem dessas também.
E, principalmente, mostre serviço. Crie uma conta no GitHub, faça códigos, mostre o que sabe. Se possível, faça um blog. Mesmo que seu objetivo não seja ajudar outros ou ter muitos acessos, isso não só ajuda no seu aprendizado como é uma forma de fazer propaganda de você mesmo para outras empresas. Eles olham e isso faz diferença.
Bons estudos e boa sorte!