Un recente post nel blog dell’Oracle Certification Program ha posto alcune domande sulla certificazione Java:
- Sono stato uno sviluppatore Java per anni. Perché dovrei ottenere la certificazione Java?
- Quanto sono diverse le certificazioni Java SE 8 rispetto alle certificazioni Java SE 7?
- Per le certificazioni Java SE 8, perché Oracle Certified Associate (OCA) è ora un prerequisito per Oracle Certified Professional (OCP)?
- Ho bisogno di acquistare corsi di formazione dalla Oracle University per ottenere la mia certificazione Java?
Queste sono il tipo di domande che possono sorgere se stai pensando di ottenere una certificazione Java, quindi ho pensato che sarebbe utile se ti dessi maggiori informazioni su queste e altre domande simili, basate sulla mia conoscenza ed esperienza. Continuate a leggere per saperne di più.
La risposta è sì, purché abbiate motivazione e aspettative chiare. Io stesso ero uno sviluppatore Java esperto quando ho deciso di studiare per ottenere la certificazione Java Programmer. La mia motivazione principale era quella di migliorare e aggiornare la mia conoscenza del linguaggio Java (e allo stesso tempo farla convalidare ottenendo questa preziosa e riconosciuta credenziale informatica). Posso dirvi che una volta che iniziate a studiare, vi renderete presto conto che il tempo che passate a farlo non è affatto sprecato, ma che invece ne vale la pena. Ti assicuro che anche se sei un programmatore esperto imparerai cose nuove e interessanti, non solo sulle nuove caratteristiche del linguaggio che ancora non conosci, ma anche su alcune cose che pensi di padroneggiare.
- Cosa sono OCA e OCP?
- Perché esistono due esami?
- Devo mirare alla certificazione Java 7 o Java 8?
- Ho già una certificazione Java 6 o Java 7. Cosa dovrei fare?
- Quando verrà rilasciato l’esame di certificazione Java 9?
- Ho bisogno di pagare la formazione per ottenere la mia certificazione Java?
- Ho ancora domande
Cosa sono OCA e OCP?
Se sei nuovo nel mondo delle certificazioni Java, questa terminologia OCA e OCP può confondere un po’. Cercherò di spiegare in poche parole:
- OCA è la certificazione entry-level per i programmatori Java. È un ottimo punto di partenza per imparare le basi del linguaggio (variabili, tipi di dati, array, cicli, classi, metodi, eccezioni) e anche alcuni argomenti non così basilari (restringimento implicito, casting esplicito, autoboxing, classi annidate, polimorfismo ed ereditarietà, classi astratte e interfacce, e alcune API specifiche per trattare con collezioni, stringhe e oggetti calendario)
- OCP è la certificazione di livello successivo per programmatori Java. È un esame abbastanza più avanzato che tratta argomenti come design pattern, generici, File I/O (NIO.2), JDBC, thread e concorrenza.
Ovviamente, per poter fare l’esame per l’OCP devi prima ottenere l’OCA, quindi il percorso di certificazione è chiaro. Detto questo, quando viene rilasciata una nuova versione di Java (ad esempio Java 8), gli esami e le certificazioni precedentemente esistenti vengono continuati e mantenuti da Oracle per un po’ (diversi anni). Questo significa che il tuo primo passo potrebbe essere quello di ottenere il Java 8 OCA (l’ultima versione) o di ottenere il Java 7 OCA. Al momento in cui scrivo questo potresti anche provare Java 6, ma lo lascerò fuori dal confronto (non ha senso visto che è molto più vecchio).
Le seguenti tabelle mostrano gli esami da fare per ottenere l’OCA e l’OCP per Java 7 e Java 8:
Certificazione | Esame | Badge | ||
---|---|---|---|---|
OCA | Oracle Certified Associate | 1Z0-808 | Oracle Java SE 8 Programmatore I | |
1Z0-803 | Programmatore Java SE 7 I | |||
OCP | Oracle Certified Professional | 1Z0-809 | Oracle Java SE 8 Programmer II | |
1Z0-804 | Oracle Java SE 7 Programmer II |
Perché esistono due esami?
Prima di Java 7 c’era un solo esame e una sola certificazione, originariamente chiamata Sun Certified Java Programmer (SCJP, esame CX-310-065) e successivamente cambiata in Oracle Certified Professional Java Programmer (OCPJP, esame 1Z0-851). Qual è stata la ragione di dividere la certificazione in 2 esami? Da un lato, se si pensa alla grande lista di argomenti inclusi nell’esame Java 6, ha senso. Con un solo esame, ottenere la certificazione era un compito travolgente per molte persone. Avere due esami permette di stabilire obiettivi più raggiungibili e anche di avere una prima certificazione (OCA) in meno tempo. D’altra parte, ora gli esami sono più difficili (punteggio di passaggio più alto e meno tempo per domanda) e complessivamente più costosi:
Esame | Prezzo | Punteggio di passaggio | Domande | Risposte giuste per passare | Durata (minuti) | Tempo per domanda |
---|---|---|---|---|---|---|
Java SE 6 Programmatore | 238€ | 61% | 60 | >=37 | 150 | 2:30 |
Java SE 8 Programmatore I | 212€ | 65% | 77 | >=51 | 150 | 1:55 |
Java SE 8 Programmatore II | 212€ | 65% | 85 | >=55 | 150 | 1:45 |
Devo mirare alla certificazione Java 7 o Java 8?
La seguente tabella elenca le principali aggiunte fatte alle ultime versioni di Java:
Letterali binari, es: int i = 0b111100
Underscore nei letterali numerici, ad es: double pi = 3_14_15_927
Costanti di stringa nell’espressione switch
(e case
etichette)
Blocco multi-catch: catturare più eccezioni in un solo blocco catch
Metodi di default nelle interfacce
Espressioni Lambda
Nuovi pacchetti data e ora
Ci sono molte altre piccole aggiunte in Java 7 e 8 ma ho raccolto qui solo quelle che sono incluse negli esami Java SE Programmer I. Per ulteriori informazioni sulle nuove caratteristiche e i miglioramenti di Java inclusi in ogni versione puoi visitare i seguenti siti:
- Oracle Java Documentation – Language Enhancements
- Oracle Technology Network – What’s new in JDK 8
Quindi, date le informazioni di cui sopra, a quale certificazione dovresti puntare? Ti consiglio di puntare alla certificazione Java 8, dato che è relativamente nuova e continuerà ad essere l’ultima versione della certificazione Java Programmer per un po’ (almeno 3 anni). Il contenuto aggiuntivo che devi studiare per l’esame Java 8 rispetto all’esame Java 7 non è molto e comunque vale la pena imparare (ad esempio le espressioni lambda). Infatti, solo 7 pagine del mio libro The Java Certification Roadmap sono più che sufficienti per coprire le aggiunte di Java 8 (metodi predefiniti per le interfacce, espressioni lambda e le nuove API di data e ora).
Ho già una certificazione Java 6 o Java 7. Cosa dovrei fare?
Beh, questo dipende dai tuoi obiettivi e dalla tua situazione. La mia raccomandazione onesta è la seguente:
- Se hai una certificazione Java 6, andrei per la certificazione Java 8. La certificazione che hai sta diventando vecchia e complessivamente ci sono state aggiunte significative al linguaggio Java nelle sue ultime due versioni principali.
- Se hai una certificazione Java 7, probabilmente aspetterei per la certificazione Java 9. Hai ancora una certificazione abbastanza recente e i cambiamenti introdotti al linguaggio Java in Java 8 non sono così importanti. Dovresti anche considerare che questo tipo di esami sono relativamente costosi e che la loro preparazione richiede tempo e impegno. Quindi quello che farei (e questo è esattamente il mio caso) è semplicemente imparare le espressioni Lambda e le nuove classi del calendario per mantenere aggiornata la tua conoscenza di Java, e poi aspettare che venga rilasciato l’esame Java 9.
Quando verrà rilasciato l’esame di certificazione Java 9?
Al momento di scrivere questo, la data ufficiale di rilascio di Java 9 è marzo 2017, esattamente tre anni dopo il rilascio di Java 8. Da quel momento in poi, Oracle di solito si prende il suo tempo per rilasciare l’esame (prima c’è un periodo di diversi mesi destinato agli esami beta).
Secondo Oracle gli esami beta “valutano nuove domande d’esame con la partecipazione di un pubblico dal vivo prima di essere rilasciati al pubblico. I dati raccolti durante il beta testing sono usati per selezionare le migliori domande per l’esame di produzione, e per eliminare le domande ambigue, troppo facili o troppo difficili, o non utili per valutare la conoscenza di un partecipante”. Gli esami beta possono essere una buona opportunità per ottenere la tua certificazione a un costo molto più basso (di solito 50$).
Sulla base delle precedenti versioni dell’esame Java, la mia ipotesi è che l’esame Java 9 Programmer I sarà rilasciato entro gennaio 2018.
Ho bisogno di pagare la formazione per ottenere la mia certificazione Java?
La risposta è no. Tutto ciò di cui hai bisogno per prepararti all’esame è un buon libro e un simulatore per fare pratica con le domande d’esame. Come si dice nel blog dell’Oracle Certification Program stesso, la formazione non è un requisito per le certificazioni Java (OCA e OCP).
Non ti consiglierei mai di pagare per una formazione in aula perché questo tipo di formazione è di solito molto costosa. Tuttavia, se senti ancora di aver bisogno di aiuto, puoi sempre chiedere alla tua azienda di pagarlo. Da un lato, facendo sapere alla tua azienda che vuoi ottenere una certificazione Java, mostrerai loro che tieni alle tue capacità e quindi al tuo lavoro. D’altra parte, se la vostra azienda paga per questo, non solo sta sostenendo la vostra crescita professionale, ma anche portando valore all’organizzazione stessa migliorando le competenze dei suoi dipendenti. Quindi chiedi al tuo manager o alle Risorse Umane. Cos’hai da perdere?
Ho ancora domande
Se non sei ancora sicuro di ottenere una certificazione Java, controlla la sezione Perché ottenere la certificazione? del mio sito web. Descrive i potenziali benefici che è ragionevole aspettarsi dal conseguimento di questa certificazione e anche (e forse ancora più importante) cosa non dovreste aspettarvi da essa. Potete anche controllare queste testimonianze di alcune persone che sono passate attraverso il processo di ottenere la certificazione, parlando del bene e del male.