Prima di imparare un linguaggio sarebbe meglio imparare come si scrivere un programma (e quando ci sarai riuscito complimenti! avrai già superato la media italiana nel settore).
Un testo sui fondamenti di ingegneria del software dovrebbe andare bene, solo ricordati di saltare tutta la parte si 'Scrum' e in generale la "programmazione agile", sono tutte idiozie.
Dopo puoi passare a imparare un linguaggio, ti suggerisco di non perdere tempo in cose poco utili e andare su un manuale di C++, quello dei fratelli Deitel è tra i migliori.
Leggere di piú