Se você for um completo iniciante em programação e não entende conceitos como variáveis, funções, tomadas de decisões e laços de repetição, recomendo fortemente que comece por essa playlist:
Curso de Lógica de Programação
O professor Gustavo Guanabara tem uma didática que gosto bastante. Não acompanhei a playlist acima, o conteúdo dele que já segui foi sobre Banco de Dados e me ajudou muito.
Mesmo que vc já tinha algum conhecimento, acredito que vale a pena rever os conceitos da forma como ele ensina. Aproveita também e veja a playlist sobre bases númericas, talvez vc já tenha noção sobre isso dado seu background em hardware, mas de novo, vale a pena rever os conceitos.
O próximo passo seria definir qual caminho vc quer seguir. Se quiser ser desenvolvedor front-end, vai ter que ver JavaScript. Se for de back-end, poderá escolher entre JavaScript, Java, PHP, C# entre outras tantas linguagens disponíveis.
A escolha só depende de vc e de seus objetivos, não acredito que a essa altura do seu aprendizado haja alguma linguagem que seja mais fácil ou mais adequada ao iniciante.
Se vc quiser mirar no mercado de trabalho, pesquise em quais tecnologias as empresas da sua região mais exigem conhecimento e invista nela.
Se quiser desenvolver apps para Android, recomendo ir pelo caminho oficial, isto é, aprenda Java. Vc tem a opção de aprender Kotlin ao invés de Java, mas acredito que, atualmente, vc terá mais chance de sanar as dúvidas que surgirem pelo caminho se ir de Java.
Se quiser desenvolver apps para iOS, aprenda Swift.
Enfim… há muitas possibilidades muitos pontos de partida como vc mesmo disse, então fica mais facil diminuir a quantidade de opções definindo um objetivo.
De qualquer forma, deixo aqui minha sugestão de próximos passos pra vc ainda me baseando no conteúdo do Guanabara.
Java para Iniciantes
Ou
PHP para Iniciantes
As duas playlists acima são equivalentes, só muda a linguagem. Em seguida, aprofunde-se em Orientação à Objetos com o conteúdo abaixo:
POO em Java
Ou
POO em PHP
Novamente a escolha é sua já que o conteúdo de cada playlist é equivalente.
Os colegas sugeriram que comece aprendendo C e se for por esse caminho, recomendo o livro Use a Cabeça! C que li e gostei bastante.
A dica que dou, se for acompanhar as playlists que citei (ou qualquer outro conteúdo em vídeo), é que vá aumentando a velocidade dos vídeos aos poucos, assim vc conseguirá absorver mais conteúdo em menos tempo.
Quando eu estava aprendendo sobre banco de dados, teve uma hora que eu estava assistindo com a velocidade em 2x; num video de 15 minutos, eu estava gastando menos de 8 minutos. Menos tempo assistindo pode significar mais tempo exercitando.
Mas preste atenção! Só faça isso se estiver confortável com a velocidade e isso não esteja afetando negativamente seu aprendizado. De qualquer forma vc é novo, é melhor ir com calma nesta etapa do seu aprendizado, mas fica aí a dica mesmo assim ^^.
A última dica é:
Faça sua escolha e tente não ficar mudando de foco.
Se escolher Java, tente seguir firme nisso.
Se escolher Python, tente ir o mais longe que puder nisso e etc…
Não que vc não possa mudar seus objetivos ao longo do caminho. Vc pode e deve se for sua vontade, apenas não deixe muitos projetos inacabados por aí.
Se perceber que está mudando demais de linguagem/tecnologia, reveja seus objetivos e tente ser mais focado para não desperdiçar muito tempo com coisas que não vão dar em nada.
Bons estudos!