Non ci si improvvisa ""programmatori"", anche se ""junior"", in giorni, NE in mesi, MA in anni!
NON BASTA conoscere UN linguaggio di programmazione per sapere programmare.
Sapere programmare E' INDIPENDENTE dal linguaggo di programmazione!!!
Per fare un paragone: NON BASTA saper scrivere in Italiano per essere uno scrittore di fantascienza.
Ma si puo' scrivere un ottimo racconto di fantascienza INDIPENDENTEMENTE dalla lingua usata.
Il linguaggio di programmazione e' SOLO UNO di un INNUMEREVOLE numero di attrezzi E IDEE che uno DEVE avere/sapere per fare il programmatore.
E' importante, ovviamente, ma e' come la lingua Italiana: si usa in ogni momento, la si trova ovunque, ma NON SONO le parole scritte in italiano quello che conta, MA IL LORO SIGNIFICATO.
NON BASTA leggere un libro per imparare quello che serve. E NEMMENO conoscerlo a memoria.
Bisogna aver studiato su DECINE di libri, avere ANNI di pratica.
Se vuoi entrare nel mondo del lavoro:
Front End -> Javascript + HTML + CSS + Framework come Angular, React, ...
Back End -> C# oppure Java oppure PHP
Machine Learning -> Java + Scala oppure Python oppure R
NO C o C++: si usano in applicazioni ESTREMAMENTE specialistiche e da personale ESTREMAMENTE competente.
PIU' tutto il resto: strutture dati e loro proprieta', algoritmi di ricerca/ordinamento, algebra astratta, programmazione parallela/distribuita/concorrente, teoria relazionale dei dati, espressioni regolari, design patterns, paradigmi di programmazione procedurale/ad oggetti/funzionale, ingegneria del software, progettazione di interfacce utente, algebra lineare, teoria delle reti, protocolli di communicazione HTTP, FTP, TCP/IP, web services SOAP/JSON, rappresentazione di dati XML, JSON, CSV, YAML, grafica 2D/3D ...
Giusto per indicare QUALCHE TERMINE!!
Nota: tu penserai che certi argomenti non abbiano senso come "algebra astratta" e "algebra lineare", ma e' PROPRIO QUI' che ti sbagli. I concetti che queste materie descrivono si usano quotidianamente!