Quindi quanto tempo ci vuole per imparare Java? Dieci anni, dieci settimane o un giorno? Forse tutta la tua vita? Potresti trovare risposte molto particolari a questa domanda su alcuni forum online. Mettiamolo in chiaro fin dall'inizio. In questo articolo “conoscere Java” non significa che puoi scrivere “Hello world program”. Si tratta di conoscere Java abbastanza bene da trovare il tuo primo lavoro. Il motto di Buzz Lightyear qui nel titolo non è esattamente uno scherzo. Potresti davvero continuare a imparare Java o qualsiasi altra lingua per il resto della tua vita. Il motivo è che la lingua è in continua evoluzione, il suo ambito cambia e... Buone notizie, amici!Non c'è motivo di farsi prendere dal panico! È sicuramente possibile completare l'apprendimento della missione Java in 3-12 mesi, tuttavia ci sono molte sfumature di cui parleremo in questo articolo. Qui cercheremo di rispondere anche alla domanda “come imparare Java velocemente”.
Naturalmente, i tuoi problemi cambieranno nel tempo. Dopo aver ottenuto il tuo primo lavoro, dovrai crescere in posizioni (ad esempio, da Java Junior Developer a Java Middle/Senior Developer). La prima attività di codifica è seguita dalla seconda. Inoltre, quando lo fai, appariranno alcuni nuovi obiettivi. Torniamo alla nostra domanda. Quali temi dovresti conoscere per scrivere "I know Java" nel tuo CV? Gli studenti Java di solito imparano i seguenti argomenti:
Le sue dimensioni e la ramificazione possono spaventare un lettore inesperto. Per favore, stai calmo e respira profondamente! Queste tecnologie imparerai in dettaglio durante il tuo lavoro. Di solito uno sviluppatore di software principiante deve solo avere un'idea generale della maggior parte di queste tecnologie (con rare eccezioni).
Bene, ci sono molti punti nell'elenco, ma non molti riguardano direttamente Java (solo strumenti di test e in realtà Core Java). Di solito gli sviluppatori concordano sul fatto che imparare a programmare Android da soli è in qualche modo più semplice e veloce dello sviluppo aziendale. Tuttavia, anche per chi ambisce alla posizione di Java Junior, sarà utile realizzare progetti Android per allenare le proprie capacità di programmazione.
Yuliya Deinega , Sviluppatore di software autodidatta. Yulia lavora per LinkedIn come REACH Apprentice Engineer Inoltre, ha creato il canale YouTube , per condividere la sua esperienza nell'apprendimento della programmazione informatica e nella ricerca di un lavoro nella Silicon Valley
Possiamo dividere coloro che iniziano ad imparare Java in tre categorie principali:
Secondo il sondaggio CodeGym, il 52,3% dei nostri studenti di successo ha svolto da 1 a 3 ore di pratica quotidiana.
![Verso l'infinito e oltre: quanto tempo ci vuole per imparare Java? - 8]()
![Verso l'infinito e oltre: quanto tempo ci vuole per imparare Java? - 9]()
È importante capire che i grafici indicano il tempo mediospeso dagli intervistati di ciascun gruppo per studiare le tecnologie. In effetti, in ogni gruppo c'erano campioni che hanno affrontato il loro apprendimento molto più velocemente, e c'erano anche quelli che hanno ritardato i loro studi di diversi anni. Il tempo di apprendimento generale indica il momento in cui i candidati hanno iniziato a inviare un curriculum o hanno completato il loro primo progetto (quello che ha iniziato a guadagnare). Secondo il nostro sondaggio, in media, ci vogliono da un mese a tre per trovare un lavoro. Questi mesi di ricerca iniziano alla fine dello studio delle tecnologie correlate. Ci sono stati fortunati che hanno trovato lavoro una settimana dopo aver inviato il primo CV, ma c'è stato anche chi ha passato un anno a cercare.
PS: E tu? Per quanto tempo impari Java per ora? Questo processo è difficile? O forse hai già trovato il tuo primo lavoro relativo a Java? È stato difficile? O forse hai appena iniziato a cercarlo? Condividi la tua esperienza qui!
Come cerchiamo la risposta
La domanda "quanto tempo ci vuole per imparare Java" è piuttosto complicata. Lo suddividiamo in sotto-domande più specifiche e rispondiamo qui. Per essere più precisi, abbiamo utilizzato le interviste agli studenti di CodeGym, le fonti aperte e le statistiche del sondaggio. Quel sondaggio riguardava i processi di apprendimento di Java e la ricerca di quel primo lavoro. È stato condotto da una delle unità CodeGym locali. I partecipanti al sondaggio erano studenti CodeGym di livello 30 e superiore, che hanno trovato il primo lavoro relativo a Java o hanno preso parte a uno stage Java.Cosa significa “Conoscere Java”?
La risposta più precisa, anche se molto generica, a questa domanda sarebbe "essere in grado di risolvere il problema utilizzando Java". Un tale problema potrebbe essere l'obiettivo di "superare un esame" o "ottenere un lavoro". Oppure può essere un compito tecnico, grande "creare il mio progetto abbastanza buono per Play Market", ad esempio, o piccolo come "capire come scrivere codice che faccia ciò di cui hai bisogno".
- Nucleo Java o
- Nucleo Java + JUnit o
- Core Java + DataBase o
- Core Java + Strumenti o
- Core Java + Librerie o
- Core Java + Spring + SpringBoot + Hibernate o
- Core Java + Android SDK o
- …e tutte le combinazioni di cui sopra.
- Tipi e oggetti di base
- Costruzioni di base (Operatori Speciali, Loop, Diramazioni)
- Concetti OOP
- Classi wrapper
- Collezioni
- Multithreading
- Flussi di I/O
- La gestione delle eccezioni
Il tuo modo personale. Per cosa impari Java?
In questo articolo non consideriamo opzioni come “Imparo Java solo per divertimento” o “Voglio insegnare Java in futuro”. Qui stiamo parlando dell'uso professionale di Java nell'IT. Attualmente, molto spesso Java viene insegnato per andare in uno dei tre modi:- Sviluppatore Java, da tirocinante/sviluppatore junior a sviluppatore senior
- Sviluppatore Android, indipendente o in azienda (da Junior a Senior)
- Automazione QA (con Java)
Sviluppatore Java
Il pool di sviluppatori Java è molto ampio ei requisiti per la conoscenza di Java sono per ottenere il tuo primo lavoro che può variare notevolmente. Secondo CodeGym Survey, ci sono alcune persone che hanno ottenuto il loro primo lavoro Java Junior conoscendo solo Java Core e nient'altro. Le aziende erano pronte a formarli durante i processi di lavoro. Tuttavia, questo è un evento piuttosto raro. Più spesso una persona del genere può partecipare a uno stage o diventare un tirocinante Java dopo aver superato alcuni esami. Di solito i candidati Java Junior dovrebbero sapere più di Java Core per ottenere il loro primo lavoro. Ecco un elenco di tecnologie rilevanti che gli sviluppatori Java dovrebbero conoscere.- Nucleo Java
- API JDK
- Java 8 (lambda), Java 11
- Librerie di test (JUnit)
- Quadro primaverile
- Spring Boot e Spring MVC
- Ibernazione
- JDB

Sviluppatore Android
Gli sviluppatori Android potrebbero lavorare per un'azienda o avere i propri progetti. Dovrebbero conoscere sicuramente Java Core e alcune altre tecnologie. Qui abbiamo un'infografica che mostra un modo di Android Developer.
Automazione controllo qualità
Un buon QA Automation dovrebbe conoscere abbastanza bene il linguaggio di programmazione, è una delle competenze più importanti per questa professione. Connesso a Java- Core Java (soprattutto OOP, Collection, FileOperations)
- Librerie di test (JUnit)
- IDEA IntelliJ
- Quadro Selenium RC/WebDriver
- Modello a oggetti della pagina
- Html/CSS
- SQL
Chi sta chiedendo? Ritratti di potenziali studenti Java
“Penso che dipenda dal tuo background e dalla quantità di tempo che puoi dedicare allo studio. Quando ho iniziato il mio viaggio come sviluppatore di software, trascorrevo almeno 40 ore a settimana a studiare. Dopo 6 mesi di studio a tempo pieno mi sono sentito abbastanza sicuro di poter padroneggiare qualsiasi nuova tecnologia da solo. Per ottenere il tuo primo lavoro come ingegnere del software non dovrai solo imparare Java, ma anche comprendere le basi dell'informatica, della programmazione orientata agli oggetti e scrivere alcuni progetti che possano mostrare il tuo lavoro. Penso che questo possa richiedere da qualche parte tra i nove ei dodici mesi. So che sembra un sacco di lavoro, ma non scoraggiarti! Questo viaggio può essere davvero divertente se scopri quale aspetto della programmazione ti sta dando gioia e ti permetti di giocare.
- "Rookie". Zero esperienza. Bene, qui ci sono persone che non sanno nulla di programmazione.
- "Mezzi". Studenti con esperienza di programmazione minima o caotica. Quelle persone imparano a programmare a scuola, all'università o ai corsi, ma non è stato un apprendimento serio.
- "Professionisti". Sviluppatori di software che conoscono altri linguaggi di programmazione (1 o più).
- Il 33,3% erano assolutamente neofiti
- Il 17,6% conosceva almeno un linguaggio di programmazione

Cosa influisce positivamente sul tempo di studio?
Per non perdere tempo invano, è necessario avvicinarsi all'apprendimento in modo efficace fin dall'inizio. Abbiamo identificato i punti principali che contribuiscono al successo della programmazione degli studi.Scegli le fonti giuste
Puoi trovare molte informazioni diverse su Java su Internet. È facile perdersi in esso. A volte, se non capisci un argomento, è utile cercare su Google nuove fonti, ma prima di iniziare è una buona idea scegliere: 1 corso principale e 1-2 fonti ausiliarie come libri Java o tutorial. Attenersi a loro. In questo caso, risparmierai tempo evitando di vagare senza meta su Internet e cercare qualcosa.Sii pronto a imparare molto e costantemente
John Selawsky, Java Tutor e Software Developer ha detto in uno dei suoi articoli che a volte aveva alcuni studenti che programmavano incredibilmente bene, ma alcuni di loro semplicemente interrompevano il loro apprendimento. I loro problemi non erano nel tempo libero, nell'età o nel sesso. Non si trattava di abilità! Si trattava di coerenza. Tutti gli studenti di successo avevano un programma coerente e si sono attenuti ad esso. Hanno fatto progressi, anche se a volte sono stati lenti. Quindi dovresti avere un programma (puoi prenderlo dal tuo corso principale o tutorial) e impostare il tempo per l'apprendimento. Vuoi fare della programmazione Java la tua professione? In tal caso, preparati a imparare ogni giorno per 1-3 ore.
Buon rapporto tra teoria e pratica
Non puoi imparare a nuotare senza provare a nuotare, solo con un libro. La stessa storia con la programmazione. Non puoi imparare la programmazione senza scrivere codice. La programmazione è un'attività pratica. È importante iniziare a scrivere il codice il prima possibile. Non è necessario imparare troppa teoria in una volta, soprattutto nei primi mesi di studio. È meglio studiarlo in piccole porzioni e poi sistemarlo immediatamente nella pratica. Quindi, il 20% del tuo tempo è dedicato alla ricerca teorica e l'80% alla pratica. Qui è il posto giusto per tornare alla primissima domanda “Cosa significa conoscere Java” e chiarire la risposta. Conoscere Java significa saper programmare in Java. Non "conoscere Java" ma essere in grado di scrivere programmi di varia complessità e avere una certa esperienza in tale codifica.Buon rapporto per compiti facili e difficili
I neofiti molto spesso cercano di risolvere alcuni compiti difficili, provali ancora e ancora. Se lo fanno per troppo tempo, il risultato potrebbe essere triste. Questa è una strada per perdere la motivazione. Per i principianti è più vantaggioso risolvere molti compiti piccoli e semplici piuttosto che pochi compiti complessi. Un buon rapporto per i primi mesi di apprendimento è di 1 compito difficile su 10-20 compiti semplici. E ancora una cosa: se il compito è troppo complicato per te e hai provato a risolverlo più volte, sii abbastanza coraggioso da... rimandare finché non ne saprai di più. È meglio risolvere molti problemi più facili e poi tornare alla fortezza invalicabile. Oppure.. se pensi ancora che questo sia il momento giusto per risolverlo, non aver paura di fare una domanda. Questo è il punto successivo.Saper fare domande
I principianti spesso esitano a fare domande su forum e comunità, perché pensano che le loro domande possano essere stupide. Beh, sicuramente potrebbero! Ma va bene, non c'è motivo di preoccuparsi! Ogni sviluppatore di software era nei tuoi panni e aveva bisogno di una risposta a una stupida domanda da principiante. E allora? Le comunità di programmazione sono in qualche modo collaborative. Gli sviluppatori di software di solito lavorano come una squadra e tutti loro erano principianti una volta. Ogni studente e persino ogni sviluppatore di software professionista fa domande stupide di tanto in tanto e non c'è alcun crimine in questo. Quindi, se qualcosa è andato storto, vai sul forum e fai una domanda! Potrebbe essere Javaranch o Stack Overflow o CodeGym Help, di sicuro. I migliori forum per porre domande o cercare risposte:Quindi per quanto tempo dovrei imparare Java per ottenere il mio primo lavoro?
Siamo arrivati vicini al punto in cui possiamo rispondere alla domanda principale di questo articolo: quanto tempo ci vuole per imparare Java prima di iniziare a inviare il tuo CV e ottenere il tuo primo lavoro? Utilizziamo i dati del sondaggio e delle interviste agli studenti per creare i seguenti grafici, che tengono conto del livello iniziale degli intervistati e di una delle tre posizioni richieste. Per ogni gruppo abbiamo determinato gli intervalli di tempo per i quali hanno studiato Core Java e il tempo trascorso a studiare le relative tecnologie necessarie per ottenere il primo lavoro. Attenzione!Ecco le informazioni per leggere i grafici. “Rookie” è una persona con zero esperienza di programmazione, “Middle” è uno che ha imparato un po' a programmare a scuola o ai corsi. Nel caso di Java e Android Developer, "Pro" indica una persona che conosce bene uno o più linguaggi di programmazione. Nel caso di QA Automation per “Pro” si intende colui che già lavora nel testing manuale e vuole diventare un automatizzatore con linguaggio Java. Per tutti i grafici abbiamo utilizzato una scala temporale con il numero di mesi. I rettangoli rossi indicano il tempo impiegato per l'apprendimento di Core Java, quelli blu sono per altre tecnologie necessarie oltre a Core Java.



GO TO FULL VERSION