O postare recentă pe blogul programului de certificare Oracle a pus câteva întrebări despre certificarea Java:
- Am fost un dezvoltator Java ani de zile. De ce ar trebui să obțin certificarea Java?
- Cât de diferite sunt certificările Java SE 8 în comparație cu certificările Java SE 7?
- Pentru certificările Java SE 8, de ce Oracle Certified Associate (OCA) este acum o condiție prealabilă pentru Oracle Certified Professional (OCP)?
- Trebuie să cumpăr cursuri de formare de la Oracle University pentru a obține certificarea Java?
Acestea sunt genul de întrebări care pot apărea dacă vă gândiți să obțineți o certificare Java, așa că m-am gândit că ar fi util dacă v-aș oferi mai multe informații despre acestea și alte întrebări similare, pe baza propriilor mele cunoștințe și experiențe. Continuați să citiți pentru a afla mai multe.
Răspunsul este da, atâta timp cât aveți motivație și așteptări clare. Eu însumi eram un dezvoltator Java cu experiență atunci când am decis să studiez pentru a obține certificarea Java Programmer. Principala mea motivație a fost să-mi îmbunătățesc și să-mi actualizez cunoștințele despre limbajul Java (și, în același timp, să le obțin validarea prin obținerea acestei acreditări IT valoroase și recunoscute). Pot să vă spun că, odată ce începi să studiezi, ajungi repede să realizezi că timpul pe care îl petreci făcând acest lucru nu este nicidecum irosit, ci, dimpotrivă, merită din plin. Vă asigur că, chiar dacă sunteți un programator experimentat, veți învăța lucruri noi și interesante, nu doar despre noile caracteristici ale limbajului pe care încă nu le cunoașteți, ci și despre unele lucruri pe care credeți că le stăpâniți.
- Ce sunt OCA și OCP?
- De ce există două examene?
- Ar trebui să mă orientez către certificarea Java 7 sau Java 8?
- Am deja o certificare Java 6 sau Java 7. Ce ar trebui să fac?
- Când va fi lansat examenul de certificare Java 9?
- Trebuie să plătesc pentru instruire pentru a-mi obține certificarea Java?
- Încă mai am mai multe întrebări
Ce sunt OCA și OCP?
Dacă sunteți nou în lumea certificărilor Java, această terminologie OCA și OCP poate fi un pic confuză. Voi încerca să vă explic în câteva cuvinte:
- OCA este certificarea entry-level pentru programatorii Java. Este un punct de plecare foarte bun pentru a învăța elementele de bază ale limbajului (variabile, tipuri de date, array-uri, bucle, clase, metode, excepții) și, de asemenea, unele subiecte nu atât de de bază (îngustarea implicită, casting explicit, autoboxing, clase imbricate, polimorfism și moștenire, clase abstracte și interfețe și unele API-uri specifice pentru a trata colecții, șiruri de caractere și obiecte calendaristice)
- OCP este certificarea de nivel următor pentru programatorii Java. Este un examen destul de mai avansat care abordează subiecte precum modele de design, generics, File I/O (NIO.2) , JDBC, fire de execuție și concurență.
Evident, pentru a fi eligibil pentru a susține examenul pentru OCP trebuie mai întâi să obțineți OCA, deci calea de certificare este clară. Acestea fiind spuse, atunci când este lansată o nouă versiune de Java (de exemplu, Java 8), examenele și certificările existente anterior sunt continuate și menținute de Oracle pentru o perioadă de timp (câțiva ani). Acest lucru înseamnă că primul dvs. pas ar putea fi obținerea Java 8 OCA (cea mai recentă versiune) sau obținerea Java 7 OCA. În momentul în care scriu aceste rânduri, ați putea încerca chiar și Java 6, dar îl voi lăsa în afara comparației (nu are sens, deoarece este unul mult mai vechi).
Tabelele următoare arată examenele pe care trebuie să le faceți pentru a obține OCA și OCP pentru Java 7 și Java 8:
Certificare | Examen | Badge | ||
---|---|---|---|---|
OCA | Oracle Certified Associate | 1Z0-808 | Oracle Java SE 8 Programmer I | |
1Z0-803 | Programator Oracle Java SE 7 I | |||
OCP | Oracle Certified Professional | 1Z0-809 | Oracle Java SE 8 Programmer II | |
1Z0-804 | Oracle Java SE 7 Programmer II |
De ce există două examene?
Înainte de Java 7 exista un singur examen și o singură certificare, numită inițial Sun Certified Java Programmer (SCJP, examen CX-310-065) și schimbată ulterior în Oracle Certified Professional Java Programmer (OCPJP, examen 1Z0-851). Care a fost motivul pentru care certificarea a fost împărțită în 2 examene? Pe de o parte, dacă vă gândiți la lista mare de subiecte incluse în examenul Java 6, are sens. Cu un singur examen, obținerea certificării era o sarcină copleșitoare pentru multe persoane. Având două examene vă permite să stabiliți obiective mai ușor de atins și, de asemenea, să obțineți o primă certificare (OCA) într-un timp mai scurt. Pe de altă parte, acum examenele sunt mai dificile (punctaj de trecere mai mare și mai puțin timp pe întrebare) și, per total, mai scumpe:
Examen | Preț | Scoring score | Întrebări | Întrebări | Răspunsuri corecte pentru a trece | Durată (minute) | Timpul pe întrebare |
---|---|---|---|---|---|---|---|
Programator Java SE 6 | 238€ | 61% | 60 | >=37 | 150 | 2:30 | |
Java SE 8 Programator I | 212€ | 65% | 77 | >=51 | 150 | 1:55 | |
Java SE 8 Programmer II | 212€ | 65% | 85 | >=55 | 150 | 1:45 |
Ar trebui să mă orientez către certificarea Java 7 sau Java 8?
Tabelul următor enumeră principalele adăugiri făcute la cele mai recente versiuni de Java:
Literali binari, de ex: int i = 0b111100
Underscore în literali numerici, de ex: double pi = 3_14_15_927
Constantele de tip șir de caractere în expresia switch
(și etichete case
)
Bloc de captură multiplă: prinderea mai multor excepții într-un singur bloc catch
Metode predefinite în interfețe
Expresii Lambda
Noi pachete de date și ore
Există multe alte mici adăugiri în Java 7 și 8, dar le-am adunat aici doar pe cele care sunt incluse în examenele Java SE Programmer I. Pentru mai multe informații despre noutățile și îmbunătățirile Java incluse în fiecare versiune puteți vizita următoarele site-uri:
- Oracle Java Documentation – Language Enhancements
- Oracle Technology Network – What’s new in JDK 8
Atunci, având în vedere informațiile de mai sus, ce certificare ar trebui să vizați? Vă recomand să vă orientați către certificarea Java 8, deoarece este relativ nouă și va continua să fie cea mai recentă versiune a certificării Java Programmer pentru o perioadă de timp (cel puțin 3 ani). Conținutul suplimentar pe care trebuie să îl studiați pentru examenul Java 8 față de examenul Java 7 nu este atât de mare și totuși merită învățat (de exemplu, expresiile lambda). De fapt, doar 7 pagini din cartea mea The Java Certification Roadmap sunt mai mult decât suficiente pentru a acoperi completările aduse de Java 8 (metode implicite pentru interfețe, expresii lambda și noile API-uri de dată și oră).
Am deja o certificare Java 6 sau Java 7. Ce ar trebui să fac?
Ei bine, acest lucru depinde de propriile obiective și de situația dumneavoastră. Recomandarea mea sinceră este următoarea:
- Dacă aveți o certificare Java 6, eu aș opta pentru certificarea Java 8. Certificarea pe care o aveți devine veche și, în total, au existat adăugiri semnificative la limbajul Java în ultimele două versiuni majore ale acestuia.
- Dacă aveți o certificare Java 7, probabil că aș aștepta certificarea Java 9. Aveți încă o certificare destul de recentă și modificările introduse în limbajul Java în Java 8 nu sunt atât de importante. De asemenea, ar trebui să luați în considerare faptul că acest tip de examene sunt relativ scumpe și că pregătirea pentru ele necesită timp și efort. Așadar, ceea ce aș face eu (și acesta este exact cazul meu) este doar să învăț despre expresiile Lambda și despre noile clase calendaristice pentru a vă menține cunoștințele Java la zi și apoi să aștept lansarea examenului Java 9.
În momentul în care scriu aceste rânduri, data oficială de lansare a Java 9 este martie 2017, la exact trei ani de la lansarea Java 8. Din acel moment, Oracle își ia, de obicei, timpul necesar pentru a lansa examenul (mai întâi există o perioadă de câteva luni destinată examenelor beta).
Potrivit Oracle, examenele beta „evaluează noile întrebări de examen cu participarea unei audiențe live înainte de a fi lansate pentru public. Datele adunate în timpul testelor beta sunt folosite pentru a selecta cele mai bune întrebări pentru examenul de producție și pentru a elimina întrebările care sunt ambigue, prea ușoare sau prea dificile sau nefolositoare în evaluarea cunoștințelor unui participant”. Examenele beta pot fi o bună oportunitate de a obține certificarea la un cost mult mai mic (de obicei 50$).
Bazându-mă pe versiunile anterioare ale examenelor Java, presupun că examenul Java 9 Programmer I va fi lansat până în ianuarie 2018.
Trebuie să plătesc pentru instruire pentru a-mi obține certificarea Java?
Răspunsul este nu. Tot ce aveți nevoie pentru a vă pregăti pentru examen este o carte bună și un simulator pentru a exersa întrebările de examen. După cum se spune chiar pe blogul programului de certificare Oracle, instruirea nu este o cerință pentru certificările Java (OCA și OCP).
Niciodată nu v-aș recomanda să plătiți pentru instruire în clasă, deoarece acest tip de instruire este de obicei foarte scump. Cu toate acestea, dacă totuși simțiți că aveți nevoie de ajutor, puteți oricând să cereți companiei dvs. să plătească pentru aceasta. Pe de o parte, anunțând compania dvs. că doriți să obțineți o certificare Java, îi veți arăta că vă pasă de competențele dvs. și, prin urmare, de munca dvs. Pe de altă parte, în cazul în care compania dvs. plătește pentru aceasta, nu numai că vă sprijină dezvoltarea carierei, dar aduce valoare organizației însăși prin îmbunătățirea competențelor angajaților săi. Așadar, întrebați-vă managerul sau Resursele umane. Ce aveți de pierdut?
Încă mai am mai multe întrebări
Dacă încă nu sunteți sigur de obținerea unei certificări Java, consultați secțiunea De ce să vă certificați? de pe site-ul meu. Aceasta descrie beneficiile potențiale la care este rezonabil să vă așteptați de la obținerea acestei certificări și, de asemenea (și poate chiar mai important), ceea ce nu ar trebui să așteptați de la ea. De asemenea, puteți verifica aceste mărturii ale unor persoane care au trecut prin procesul de obținere a certificării, vorbind despre părțile bune și rele ale acestuia.