Eu não vou responder às tuas perguntas em si. Mas sim um direcionamento que pode te ajudar.
Divida seus estudos em duas áreas: SOFT SKILLS e HARD SKILLS
Soft skills: É tudo relacionado a não tecnológico resumidamente, e é o que ta muito menos evidente em uma vaga nos dias de hoje. Alguns exemplos são comunicação, proatividade, organização, inteligência emocional.
Hard skills: Agora sim estamos falando sobre tecnologias em si. Aqui primeiro, legal o seu ponto em já estudar uma tecnologia em si, referindo a java, mas minha primeira dica tenha uma base sólida a fundamentos, como lógica computacional, estruturas de dados, modelagem de dados, um conceitual de análise de algoritmos. Com esses fundamentos, junto com as soft skills(Organização vai ser a sua chave de definir prioridades e metas de estudo), você já vai ter as ferramentas básicas para começar a entender conceitos de uma linguagem de programação, aí você pode na sequência buscar mais sobre outros conceitos como http, tipos de bancos de dados (sql e nosql), SOLID, clean code, KISS, YAGNI, metodologia ágeis e patterns como exemplos. Mas isso DEVE ser tudo progressivo.
Uma outra dica é não se apegue a uma linguagem de programação desde o início, hoje as linguagens estão bem próximas semanticamente (como java, c#, nodejs), sabendo aplicar os conceitos em uma, você já consegue aplicar em outra. Isso vai te ajudar a encontrar um emprego com mais facilidade, onde você não precisa ser um expert em determinada linguagem ou framework.
Valeu pelas dicas cara, mas como treina soft skills?