Cara, para ser sincero, faz uma graduação. Pelo nível de conhecimento que você quer ter que eu acho corretíssimo, eu recomendo muito fazer um bacharelado em engenharia de software ou ciências da computação ou até um tecnólogo massa de ADS (mas se for escolher tecnológo, saiba que o nível de computação, propriamente dito, é menor que os dois últimos cursos falados). Não caia nesse papo de que graduação é desnecessário. Estudo e aprenda o que der e sinceramente, a maneira mais organizada e aprofundada de aprender computação de verdade é uma graduação em computação.
Então, essa é minha dica. Meu nível de conhecimento cresceu astronomicamente, em relação a antigamente, desde que iniciei minha graduação e penso em continuar meus estudos pra aprender tudo que for possível.
Mas é isso, estude pra caramba, tenha foco, que você vai longe.