Irmão, vou te dar uma resposta sincera e ela não é agradável. Fique à vontade para não ler.
Você não é o primeiro (nem o último) a tentar ser um desenvolvedor seguindo algum tipo de "atalho". Conheço vários assim e todos são medíocres, e a vida do dev. medíocre não é nada fácil irmão. Dev. medíocre ganha mal, se estressa no trabalho todo dia, odeia seu emprego e sofre.
Todo mundo que busca um "atalho" quer entrar na área o mais rápido possível achando que a área é maravilhosa, que vai ganhar bem, ficar rico apertando botões do teclado... Só que aí quebra a cara porque os devs que ganham bem são os bons, são os que não pegaram um atalho!
Então você tem uma escolha agora e vou te ensinar como seguir qualquer um dos dois caminhos. Escolhe aí:
1 - Atalho
Tempo necessário: menos de 1 ano.
Caminho das pedras:
- Veja quais são as linguagens mais procuradas no mercado de trabalho brasileiro. JavaScript é uma delas.
- Veja quais são os frameworks/bibliotecas mais usados para essa linguagem, por exemplo React.
- Faça um curso ou dois na Udemy do framework/biblioteca que você escolheu, veja uns vídeos no YouTube sobre a framework/biblioteca etc.
- Aplique para vagas de júnior em empresas pequenas ou startups, pois o critério técnico é bem mais baixo.
- Ganhe mal e reclame todo dia na internet que a área é uma merda e você se arrependeu de mudar de área porque antes ganhava muito mais. Isso se você conseguir entrar na área.
Quer ter um choque de realidade? Entra em grupos de programação no Facebook (como A.P.D.A) e veja a galera reclamando todo dia que não tem vaga, que estão há meses desempregados e que "a área está saturada".
É a galera que pegou o atalho e você será um deles também se o pegar. 😄
2 - Aprender de verdade
Tempo necessário: 2~5 anos ou mais.
Não tem caminho das pedras se tu quiser aprender de verdade. Então a lista abaixo não considere como um passo-a-passo porque não é. O que significa que você não precisa seguir essa ordem nem fazer sequencialmente. Ex.: 2, 3 e 4 pode (e deve) ser feito ao mesmo tempo. Usei lista numerada só para facilitar a referência (ex.: "eu discordo do 3"), não para indicar uma sequência.
- Assuma a responsabilidade pelo seu aprendizado. Não fica achando que você vai aprender o suficiente fazendo um curso, você não vai. O aprendizado verdadeiramente profundo só pode ser obtido por conta própria, sendo autodidata.
- Sugestão de leitura: https://freedev.medium.com/autodidatismo-3ddcb0f0930d
- Escolha se vai fazer uma faculdade ou não, e qual. Faculdade não é necessário para aprender o que eu vou listar a seguir, a escolha de fazer ou não faculdade não vai afetar em nada seu aprendizado. Essa escolha deve ser tomada por outros motivos, se tu escolher fazer faculdade achando que vai "aprender mais" vai quebrar a cara quando perceber que o conteúdo técnico da faculdade é básico e boa parte é tecnicamente errado e/ou superficial. (na verdade você não terá conhecimento suficiente para perceber isso de cara, mas se tu seguir a dica 1 vai perceber depois de alguns anos...)
- Aprenda a programar em alguma linguagem e pratique até ficar realmente bom nela (leve o tempo que precisar). Pode ser Python, C, JavaScript, Lua etc. Tanto faz. É só a primeira linguagem, não vai ser a última.
- Estude sobre algoritmos e estrutura de dados.
- Aprenda as bases da computação. Entenda como computadores funcionam profundamente, o que inclui estudar: sistemas operacionais, sistemas de arquivos, arquitetura de processadores, sistemas numéricos, como executáveis funcionam, processos/threads e um monte de outras coisas que você vai descobrir que existem ao longo dos estudos.
- Estude sobre Programming Language Theory. Que é estudar a teoria por trás das linguagens de programação, o que inclui estudar sobre compiladores também. E só para deixar claro: ler a documentação de uma linguagem não é "estudar teoria". 😉
- Aprenda outras linguagens de programação, incluindo linguagens de paradigma declarativo (você vai saber o que é isso quando estudar o 6). Saber uma só ou poucas linguagens é prejudicial para a aptidão técnica na programação. Os instintos de um iniciante na programação dizem o contrário: que ele precisa se especializar em uma linguagem só para ser bom. Só que não, pois programação não é sobre decorar sintaxe e funções mas sim sobre criar soluções. E aprender outras linguagens que sejam ligeiramente diferentes da que você domina lhe permite ter insights de como resolver problemas, exercitando a aptidão mais importante de um programador.
Sobre quando procurar um emprego e migrar para a área é contigo, você decide. Só falei da questão dos estudos mesmo.