@John-Jones você me parece um pouco perdido do que quer para você e não por onde começar. Você citou especialização, está pensando em uma pós ou algo assim ou se refere a se aprofundar no assunto ? Vou partir da premissa que se trata do segundo assunto.
Antes de focar numa linguagem/plataforma, meu conselho é estudar algoritmos, entender o conceito de orientação à objetos, funções, desenvolvimento ágil (em particular, Scrum), clean code, clean architecture, solid e git. Não estou falando para se tornar especialista em todos estes tópicos, mas vale a pena estudar e se aprofundar um pouco mais neles, em particular, algoritmos e OO.
Com uma base mais sólida (ou, adequada) nestes conceitos, independente do que tu queira para ti, vai começar muito melhor, garanto.
Sobre o que o mercado busca mais, a última pesquisa que eu vi Java era a linguagem mais usada no mundo, todavia, não falta mercado para mobile, também. Sobre programar “web”, com tantos conceitos/arquiteturas como SaaS, Cloud, Microservice entre outros, sem dúvidas conhecer sobre outros conceitos se fazem necesários, como WebServices, REST, HTTP, entre outros. Se quiser seguir o caminho do Java, fortaleça sua base sobre Java SE e depois estude JEE.
Enfim, são pequenas dicas e espero ter colaborado.