JavaRush /Java Blog /Random-IT /Cosa devi sapere per diventare Java Junior e cosa farne?

Cosa devi sapere per diventare Java Junior e cosa farne?

Pubblicato nel gruppo Random-IT
I requisiti per i potenziali sviluppatori Java cambiano costantemente ed è difficile tenere il passo. Basta conoscere Java Core per diventare Trainee? Quanto è necessario comprendere Spring e Hibernate per ottenere una posizione Java Junior? Vale la pena apprendere i database e comprendere gli algoritmi di ordinamento e ricerca? E poiché gli studenti JavaRush sono molto spesso preoccupati per queste domande, abbiamo deciso di rivolgerle ai nostri laureati che già lavorano come Java Juniors o stanno facendo uno stage in azienda come Java Trainees. Da notare che il 13% degli intervistati ha avuto la fortuna di ottenere una posizione Java Middle al primo tentativo, evitando la fase Junior. Cosa devi sapere per diventare Java Junior e cosa farne?  -1Gli intervistati hanno condiviso informazioni sulle tecnologie di cui avevano bisogno per superare il colloquio e su quelle utilizzate nel primo anno del loro primo lavoro Java.

Tutti hanno bisogno di Java Core

Il termine Java Core è piuttosto ampio. Questo nome si riferisce sia alla sintassi elementare del linguaggio sia a un argomento così complesso come il multithreading. In realtà il corso JavaRush è dedicato principalmente al Core. Cosa devi sapere per diventare Java Junior e cosa farne?  - 2Sintassi Java. Nozioni di base sulla lingua. Tutti questi tipi di dati, operatori, loop e rami. Naturalmente, il 92,4% di coloro che hanno ottenuto il lavoro hanno valutato la propria conoscenza della sintassi come “buona o eccellente”. Tuttavia, il 7,6% degli intervistati è riuscito a diventare Java Trainees con una conoscenza media della sintassi. Tuttavia, questo dovrebbe essere valutato più come fortuna (o vanto degli intervistati :)). Naturalmente, chiunque faccia domanda per un lavoro come programmatore dovrebbe conoscere la sintassi del linguaggio. Programmazione orientata agli oggetti (OOP). Tutto in Java è costituito da oggetti, quindi l'OOP può essere considerato uno dei temi più importanti del linguaggio. L'approccio orientato agli oggetti può sembrare inizialmente poco familiare, soprattutto se in precedenza hai studiato solo linguaggi procedurali, ma non è difficile passare agli oggetti. Le maggiori difficoltà per i principianti sono i livelli di astrazione e la loro distribuzione indipendente: un programmatore alle prime armi deve essere in grado di creare correttamente una gerarchia di oggetti, capire di cosa sarà responsabile l'interfaccia e cosa può essere inserito in una classe astratta, creare un'eredità scala e così via. Come al solito, questa difficoltà viene risolta con la pratica. La maggior parte degli intervistati, l'80,3% di coloro che hanno ottenuto il primo lavoro, conosceva bene i principi dell'OOP e li applicava costantemente. Nel primo anno di lavoro come Java Junior e stagisti, il 78,8% degli intervistati ha utilizzato i principi OOP molto spesso, il 12,1% - di tanto in tanto. Il 7,6% degli ascoltatori li usava raramente: questi ragazzi erano principalmente impegnati con test unitari e vari piccoli compiti. Ovviamente usavano anche classi o oggetti (non puoi farne a meno in Java), ma raramente creavano gerarchie di classi. Quadro delle collezioni. Una collezione è una raccolta di singoli oggetti presentati nel loro insieme. Java ha un Collections Framework molto intelligente per rappresentare le raccolte. Le raccolte si basano su strutture dati popolari: elenchi, ordinari e connessi, insiemi, tabelle hash. Pertanto, quando si esplorano le raccolte, è una buona idea acquisire maggiore familiarità con le strutture dei dati. La principale difficoltà nello studio delle collezioni è capire e ricordare come funzionano. Se capisci come accedono a un elemento, lo estraggono da una raccolta e lo aggiungono ad essa, allora inizi a capire dove applicare questa o quella struttura. Viene fornito con la pratica. Ma, fortunatamente, non tutte le enormi collezioni vengono utilizzate attivamente nel lavoro reale. L'80,3% degli intervistati ha dichiarato di avere una conoscenza buona o addirittura eccellente delle collezioni prima di ricevere la prima offerta di lavoro e quasi tutto il 96,9% dei Junior e dei tirocinanti utilizza le collezioni nel loro primo lavoro. Cosa devi sapere per diventare Java Junior e cosa farne?  - 3La gestione delle eccezioni.Un'eccezione è una situazione fuori dall'ordinario che può verificarsi durante l'esecuzione del programma. Tutte le classi di eccezioni sono sottotipi della classe java.lang.Exception. Il meccanismo di gestione delle eccezioni semplifica notevolmente il processo di ricerca degli errori nei programmi. Di solito, gli studenti iniziano a utilizzare le eccezioni abbastanza presto, ad esempio in JavaRush, dove questo argomento viene sollevato nella prima ricerca sulla sintassi Java. Quasi tutti i laureati JavaRush che hanno ottenuto il loro primo lavoro sapevano come gestire le eccezioni e, naturalmente, le usavano mentre lavoravano. Flussi I/O Java. I primissimi programmi scritti in Java di solito contenevano qualcosa come System.out.println ("Ciao mondo"). Spesso i principianti capiscono che il metodo println stampa una riga sulla console, ma non hanno idea del perché System e out siano presenti e di come funzionino. Poco dopo si scopre che Java esegue operazioni di input e output utilizzando stream, un flusso continuo di dati. I thread non sono l'argomento più semplice da comprendere e non vengono utilizzati molto spesso nei lavori per principianti: solo il 22,7% delle persone che hanno ottenuto il loro primo lavoro Java Junior/Trainee ha affermato di utilizzare molto i thread I/O, il 31,8% - di tanto in tanto volta, 25,8% - raramente. Quindi poco meno del 20% non li ha utilizzati affatto durante il primo anno come sviluppatore Java. Durante gli studi il 18,2% non ha riscontrato particolari difficoltà con i flussi e li conosceva bene, il 36,4% ha valutato buone le proprie conoscenze, ma il 10,6% ha ignorato questo argomento. Multithreading (Multithreading Java/Concorrenza). Forse questo è l'argomento che causa i maggiori malintesi tra gli sviluppatori alle prime armi. Anche se il multithreading in Java è implementato molto bene, è difficile da capire e possono sorgere problemi anche durante la scrittura di programmi semplici (ad esempio, "Hello, world" multithread). Molti datori di lavoro lo capiscono e non richiedono ai principianti una conoscenza approfondita del multithreading, aspettandosi che arrivi con l'esperienza. Solo il 12% degli intervistati ha affermato di conoscere l'argomento a un buon livello prima di ricevere la prima offerta, mentre quasi il 32% degli intervistati ha ammesso di non sapere nulla dell'argomento. La maggioranza, il 56,2%, ha affermato di “avere una certa conoscenza” del multithreading. Quindi, se le difficoltà di lavorare con i thread ti sembrano insormontabili adesso, questi numeri potrebbero rassicurarti. Se però vuoi ottenere un vantaggio competitivo in un colloquio, questo argomento potrebbe essere il tuo punto di forza. Nei progetti reali, anche i principianti raramente possono lavorare con i thread. Pertanto, il 15,1% dei programmatori alle prime armi non ha mai incontrato il multithreading Java nel proprio lavoro e il 39,4% lo ha riscontrato, ma raramente. Spesso nel primo anno di lavoro solo il 9,1% degli intervistati ha dovuto lavorare con il multithreading. Espressioni lambda.Espressioni lambda e accenni di programmazione funzionale sono apparsi in Java 8, ma i principianti non utilizzano questo pratico strumento molto spesso. Un'espressione lambda è una funzione che può essere creata senza appartenere ad alcuna classe e puoi passarla come oggetto o eseguirla su richiesta. Solo il 22,7% dei laureati intervistati conosceva bene le espressioni Lambda prima di ricevere la prima offerta di lavoro e il 48,5% valutava la propria conoscenza dell’argomento come “prossima allo zero”. Allo stesso tempo, oltre l’85% dei nuovi programmatori ha affermato di aver utilizzato le espressioni lambda nel primo anno. Per correttezza, segnaliamo che la bassa percentuale di coloro che conoscono questo argomento potrebbe essere dovuta al fatto che in JavaRush le espressioni lambda sono finora presentate solo nelle nuove quest e articoli di Java Syntax Pro . Pertanto, possiamo tranquillamente affermare che la conoscenza di Core Java per qualsiasi potenziale Java Junior e persino Trainee è semplicemente necessaria. Naturalmente, alcuni argomenti, ad esempio il multithreading, è accettabile conoscerli un po' meno, ma la sintassi Java, l'OOP e le raccolte dovrebbero essere saldamente radicate nella tua coscienza.

Algoritmi e strutture dati

C'è un dibattito costante sullo studio degli algoritmi di ordinamento e ricerca. Da un lato, i migliori algoritmi sono stati scritti da tempo e inclusi nelle librerie di tutti i linguaggi di programmazione più diffusi, compreso Java. E possono essere utilizzati legalmente senza il fastidio di scrivere il proprio codice. Tuttavia, gli esperti che formano i programmatori raccomandano comunque che ogni sviluppatore alle prime armi alleni il proprio cervello scrivendo tutti questi algoritmi di bolle, fusioni, ricerche binarie e simili. In primo luogo, questi algoritmi sono una sorta di cartina di tornasole delle capacità di un programmatore (vale a dire, non conoscenza, ma abilità) e della comprensione di una persona su cosa sia la programmazione in linea di principio. Se il tuo cervello è già ben sintonizzato su questo tipo di lavoro, scriverai algoritmi con relativa facilità. Eppure, dovresti ricordare: hai bisogno di algoritmi proprio per allenare il tuo cervello... e per superare un colloquio: i corrosivi sviluppatori Senior che li conducono amano molto tormentare i candidati con la richiesta di scrivere questo o quell'algoritmo. Ma nel proprio lavoro, la maggioranza (48,5%) utilizza algoritmi di libreria standard, efficaci e comprovati, mentre il 16% degli intervistati non ha utilizzato affatto l'ordinamento nel primo anno di lavoro come programmatore. Cosa devi sapere per diventare Java Junior e cosa farne?  - 4Il 69,6% dei laureati afferma che prima di ricevere la prima offerta di lavoro conosceva bene gli algoritmi di ordinamento e ricerca e sapeva scriverli da soli. Cosa devi sapere per diventare Java Junior e cosa farne?  - 5Abbiamo già toccato il tema delle strutture dati quando abbiamo parlato delle collezioni Java. Sì, è meglio capirli per sapere dove e quale struttura applicare. Creare le tue strutture dati a immagine di quelle della biblioteca è un ottimo esercizio che ti aiuterà a capirle meglio. Puoi, ad esempio, provare a scrivere la tua versione di ArrayList o proporre la tua lista concatenata singolarmente (la solita LinkedList in Java è doppiamente concatenata). Cosa devi sapere per diventare Java Junior e cosa farne?  - 6Durante il lavoro, i programmatori alle prime armi utilizzavano principalmente strutture dati standard.Cosa devi sapere per diventare Java Junior e cosa farne?  -7

Test unitari

La libreria JUnit è responsabile dei test unitari in Java. In effetti, puoi iniziare i test unitari quasi all'inizio dell'addestramento. Per lo meno, quando intraprendi il tuo primo progetto indipendente, anche molto piccolo, è meglio che tu sia già esperto in questo strumento. Scrivere unit test non è così difficile, anche se ci sono alcune sfumature. Imparare JUnit non richiederà molto tempo, ma i vantaggi di conoscerlo sono enormi. Sarai in grado di coprire il tuo codice e quello degli altri con dei test. Molto spesso, i principianti hanno il compito di scrivere test unitari per i colleghi, quindi questo può essere utile direttamente nel loro nuovo lavoro. Il 57,5% degli intervistati ha affermato di aver utilizzato JUnit prima del primo colloquio Java riuscito e oltre l'83% aveva già utilizzato i test unitari nel primo anno.

Librerie di utilità, GUI e componenti utili

Abbiamo chiesto se i diplomati JavaRush conoscessero una serie di strumenti, alcuni dei quali sono stati trattati nel nostro corso.
  • Le servlet sono componenti software Java che estendono le capacità di un server.
  • JDBC è uno standard indipendente dalla piattaforma per l'interoperabilità tra applicazioni e database Java. JDBC è implementato come pacchetto Java. sql è incluso con Java SE (Standard Edition).
  • log4j è la libreria di registrazione dei messaggi più famosa. Ti consente di scrivere chiamate di libreria in codice Java e quindi personalizzarle in modo flessibile senza modificare il codice già scritto.
  • Jackson/JSON. JSON (JavaScript Object Notation) è un formato di scambio di file e dati standard aperto estremamente popolare e Jackson è un processore JSON ad alte prestazioni per Java.
Tutti questi strumenti sono molto utili e vengono spesso utilizzati nel lavoro e la maggior parte degli studenti non li ha trascurati durante la preparazione per il colloquio. Ciò è particolarmente vero per Jackson, che ha incontrato il 72,7% dei candidati per la posizione di programmatore Java, JDBC: questa libreria è stata provata da oltre il 78% degli intervistati. Quasi tutti hanno utilizzato queste tecnologie nel proprio lavoro. Gli sviluppatori Java non incontrano le GUI molto spesso. Abbiamo posto una domanda su JavaFX: solo il 18% degli intervistati ha incontrato questa tecnologia al lavoro. Cosa devi sapere per diventare Java Junior e cosa farne?  -8Due terzi degli intervistati hanno lavorato con i servlet, una percentuale leggermente inferiore li ha provati durante gli studi. Si scopre anche che alcuni nuovi programmatori Java si sono imbattuti in progetti come Apache Commons (un insieme di librerie incentrate su tutti gli aspetti dei componenti Java riutilizzabili) e Guava (un insieme di librerie comuni open source per Java, sviluppate principalmente dagli ingegneri di Google).Cosa devi sapere per diventare Java Junior e cosa farne?  - 9

Quadri

In precedenza, nessuno si aspettava che Java Junior conoscesse Spring o Hibernate. Ma i tempi cambiano, e oggi questo a volte ci si aspetta anche dal Trainee. Imparare queste tecnologie da solo non è facile. Anche se tutto sembra chiaro, gli studenti spesso dimenticano molto presto cosa è cosa. A volte anche le candidature scritte autonomamente in primavera non sono una panacea. Solo il lavoro attivo aiuterà. Tuttavia, prima di un colloquio di successo, un terzo degli intervistati conosceva la primavera a un buon livello, mentre il 45,5% ne aveva una comprensione media. La situazione con Spring Boot è un po' peggiore (il 36,4% non lo sapeva affatto) e quasi il 44% dei diplomati JavaRush intervistati ha affermato di avere una buona conoscenza di Hibernate. Cosa devi sapere per diventare Java Junior e cosa farne?  - 10Allo stesso tempo, durante il lavoro, il framework Java principale è stato utilizzato da quasi l'88% dei nuovi programmatori, Spring Boot - 83%, Hibernate - 81%.Cosa devi sapere per diventare Java Junior e cosa farne?  - undici

Costruisci strumenti di automazione e server applicazioni

La maggior parte dei laureati JavaRush intervistati ha provato a lavorare con i costruttori di progetti. Il più delle volte si è trattato di Maven (il 40,9% lo ha provato nella pratica, un altro 30,3% lo ha utilizzato di tanto in tanto e il 12,1% lo ha utilizzato costantemente durante gli studi). Quando lavoro con Maven, ho riscontrato il 72,7% (spesso), il 7,6% (a volte) e il 3% (raramente). Per quanto riguarda Gradle, la situazione è leggermente peggiore. Solo il 22,7% ha fatto pratica con questo raccoglitore e la maggior parte di loro ha appena provato la tecnologia. Quasi la metà degli intervistati ha utilizzato Gradle nel proprio lavoro. Cosa devi sapere per diventare Java Junior e cosa farne?  - 12Ant ha perso da tempo la sua posizione, e questo si riflette nella sua popolarità tra i nostri laureati: solo il 3% degli intervistati ci ha provato. E il 12% di coloro che hanno risposto alle domande hanno dovuto lavorare con lui. Tra i server applicativi, Tomcat è il leader; oltre il 77% degli intervistati lo ha capito durante i propri studi, l'11% ha provato GlassFish, il 12% ha provato JBoss. La popolarità dei server tra coloro che già lavorano sembra simile. Solo il 31,8% di coloro che hanno ottenuto il lavoro non avevano esperienza con Tomcat. Inoltre, i laureati JavaRush, durante il loro primo anno di lavoro come programmatore, hanno provato server come WebSphere, Jetty, Netty, Wildfly, Weblogic.Cosa devi sapere per diventare Java Junior e cosa farne?  -13

Cos'altro?

La stragrande maggioranza degli intervistati, anche prima di ottenere il primo lavoro:
  • aveva una conoscenza di HTML, CSS e JavaScript;
  • lavorava con database, conosceva SQL;
  • quasi tutti usavano Git e GitHub;
  • ho provato a lavorare con XML puro.
Tutte queste tecnologie sono state loro utili nel loro ulteriore lavoro. Ci si aspetta che un programmatore Java, o chiunque altro, abbia familiarità con tutto quanto sopra. È conoscenza, non conoscenza profonda. Quindi ti consigliamo di prenderti una pausa da Java ogni tanto e di ampliare i tuoi orizzonti studiando queste tecnologie. Inoltre, alcuni di coloro che hanno risposto alle domande hanno notato che durante il colloquio ci si aspettava che avessero una conoscenza, almeno teorica, di modelli di progettazione, modelli architettonici, nonché buone maniere nella programmazione (tutti questi KISS, DRY, SOLID). Tuttavia, il più delle volte al colloquio bastavano solo le definizioni: coloro che hanno condotto le interviste erano ben consapevoli che una reale comprensione di queste cose si ottiene solo con la pratica costante. Sono stati utili nel tuo lavoro? Naturalmente sono stati utili.

conclusioni

Speriamo di non averti spaventato troppo con il numero di tecnologie che devi imparare. Non è necessario conoscere tutto questo a fondo e, inoltre, capirlo è piuttosto interessante. Non per niente hai deciso di diventare programmatore, vero? Quindi continua a imparare Java e rimani motivato. Buona fortuna! PS Se hai già trovato lavoro e vuoi parlare della tua esperienza, benvenuto nei commenti!
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION