Az Oracle Certification Program blogjában nemrég megjelent bejegyzésben feltettek néhány kérdést a Java-tanúsítással kapcsolatban:
- Évek óta Java-fejlesztő vagyok. Miért érdemes Java-tanúsítványt szereznem?
- Miben különböznek a Java SE 8 tanúsítványok a Java SE 7 tanúsítványokhoz képest?
- A Java SE 8 tanúsítványok esetében miért lett az Oracle Certified Associate (OCA) az Oracle Certified Professional (OCP) előfeltétele?
- A Java-tanúsítvány megszerzéséhez meg kell vásárolnom az Oracle Egyetem tanfolyamait?
Ezek a fajta kérdések merülhetnek fel, ha Java-tanúsítvány megszerzésén gondolkodik, ezért úgy gondoltam, hogy hasznos lesz, ha ezekkel és más hasonló kérdésekkel kapcsolatban bővebb tájékoztatást adok, saját ismereteim és tapasztalataim alapján. Olvass tovább, hogy többet tudj meg.
A válasz igen, feltéve, hogy van motivációd és világos elvárásaid. Jómagam már tapasztalt Java-fejlesztő voltam, amikor úgy döntöttem, hogy tanulni fogok, hogy megszerezzem a Java Programozói tanúsítványt. A fő motivációm az volt, hogy fejlesszem és frissítsem a Java nyelvvel kapcsolatos tudásomat (és egyúttal érvényesítsem is azt ennek az értékes és elismert informatikai minősítésnek a megszerzésével). Elmondhatom, hogy ha egyszer elkezdesz tanulni, hamar rájössz, hogy a tanulással töltött idő semmiképpen sem hiábavaló, hanem nagyon is megéri. Biztosíthatlak, hogy még ha tapasztalt programozó is vagy, akkor is új és érdekes dolgokat fogsz tanulni, nemcsak a nyelv újdonságairól, amelyeket még nem ismersz, hanem olyan dolgokról is, amelyekről azt hiszed, hogy már elsajátítottad.
Mi az OCA és az OCP?
Ha új vagy a Java-tanúsítványok világában, ez az OCA és OCP terminológia kissé zavaró lehet. Megpróbálom néhány szóban elmagyarázni:
- Az OCA a Java programozók belépő szintű minősítése. Nagyon jó kiindulópont a nyelv alapjainak (változók, adattípusok, tömbök, ciklusok, osztályok, metódusok, kivételek) és néhány nem annyira alapvető témának (implicit szűkítés, explicit casting, autoboxing, egymásba ágyazott osztályok, polimorfizmus és öröklés, absztrakt osztályok és interfészek, valamint néhány speciális API a gyűjtemények, stringek és naptári objektumok kezelésére)
- Az OCP a következő szintű tanúsítvány a Java programozók számára. Ez egy meglehetősen haladóbb vizsga, amely olyan témákkal foglalkozik, mint a tervezési minták, generikumok, File I/O (NIO.2) , JDBC, szálak és párhuzamosság.
Az OCP vizsgára való jogosultsághoz először meg kell szerezni az OCA-t, így a tanúsítási útvonal egyértelmű. Ettől függetlenül a Java új verziójának megjelenésekor (pl. Java 8) a korábban már létező vizsgákat és minősítéseket az Oracle egy ideig (több évig) folytatja és fenntartja. Ez azt jelenti, hogy az első lépés lehet a Java 8 OCA (a legújabb kiadás) vagy a Java 7 OCA megszerzése. E sorok írásakor még a Java 6-ot is kipróbálhatnád, de ezt kihagyom az összehasonlításból (nincs értelme, hiszen ez egy jóval régebbi).
A következő táblázatokban látható, hogy milyen vizsgákat kell tenned ahhoz, hogy megkapd a Java 7 és a Java 8 OCA és OCP vizsgát:
Certification | Exam | Badge | |||
---|---|---|---|---|---|
OCA | Oracle Certified Associate | 1Z0- | 1Z0-808 | Oracle Java SE 8 Programmer I | |
1Z0-803 | Oracle Java SE 7 Programozó I | ||||
OCP | Oracle Certified Professional | 1Z0-809 | Oracle Java SE 8 Programmer II | ||
1Z0-804 | Oracle Java SE 7 Programmer II |
Miért van két vizsga?
A Java 7 előtt csak egy vizsga és tanúsítvány létezett, eredetileg Sun Certified Java Programmer (SCJP, vizsga CX-310-065) néven, majd később Oracle Certified Professional Java Programmer (OCPJP, vizsga 1Z0-851) lett belőle. Mi volt az oka annak, hogy a minősítést 2 vizsgára osztották? Egyrészt, ha arra gondolunk, hogy a Java 6 vizsgán szereplő témakörök listája igen nagy, van értelme. Egyetlen vizsgával a tanúsítás megszerzése sokak számára megterhelő feladat volt. A két vizsga lehetővé teszi, hogy több elérhető célt tűzzünk ki, és azt is, hogy rövidebb idő alatt megszerezzük az első tanúsítványt (OCA). Másrészt most a vizsgák nehezebbek (magasabb átmenő pontszám és kevesebb idő kérdésenként) és összességében drágábbak:
Vizsga | Ár | Teljesíthető pontszám | Kérdések | A megfelelő válaszok a sikeres vizsgához | Dauer (perc) | Az id. kérdésenként |
---|---|---|---|---|---|---|
Java SE 6 Programozó | 238€ | 61% | 60 | >=37 | 150 | 2:30 |
Java SE 8 Programozó I | 212€ | 65% | 77 | >=51 | 150 | 1:55 |
Java SE 8 Programozó II | 212€ | 65% | 85 | >=55 | 150 | 1:45 |
A Java 7 vagy Java 8 minősítést célozzam meg?
A következő táblázatban a Java legújabb kiadásaiban történt főbb kiegészítések vannak felsorolva:
Bináris literálok, pl.: int i = 0b111100
Számos literálokban a numerikus literálokban, pl.: int i = 0b111100
Számos literálokban az un: double pi = 3_14_15_927
String konstansok a switch
kifejezésben (és case
címkékben)
Multi-catch blokk: Több kivétel elkapása egyetlen catch
blokkban
Előírt metódusok az interfészekben
Lambda kifejezések
Új dátum és idő csomagok
A Java 7-ben és 8-ban még sok apró kiegészítés van, de itt csak azokat gyűjtöttem össze, amelyek a Java SE Programmer I vizsgán szerepelnek. Az egyes verziókban szereplő Java újdonságokról és fejlesztésekről további információkat a következő oldalakon találhat:
- Oracle Java Documentation – Language Enhancements
- Oracle Technology Network – What’s new in JDK 8
A fenti információk ismeretében tehát melyik minősítést célozza meg? Azt javaslom, hogy a Java 8 minősítést válaszd, mivel ez viszonylag új, és egy ideig (legalább 3 évig) még a Java Programozói minősítés legújabb verziója lesz. A Java 8-as vizsgához a Java 7-es vizsgához képest nem olyan sok többlettartalmat kell tanulnod, amit azonban érdemes megtanulnod (pl. lambda kifejezések). Valójában a The Java Certification Roadmap című könyvem mindössze 7 oldala bőven elegendő a Java 8 kiegészítések (interfészek alapértelmezett metódusai, lambda-kifejezések és az új dátum és idő API-k) lefedésére.
Már van Java 6 vagy Java 7 tanúsítványom. Mit tegyek?
Nos, ez a saját céljaitól és helyzetétől függ. Az én őszinte javaslatom a következő:
- Ha már van Java 6 minősítése, én a Java 8 minősítést választanám. Az Ön tanúsítványa kezd elöregedni, és összességében a Java nyelvben az utolsó két nagy kiadásban jelentős bővítések történtek.
- Ha Önnek Java 7-es tanúsítványa van, akkor valószínűleg várnék a Java 9-es tanúsítványra. Még mindig elég friss tanúsításod van, és a Java 8-ban a Java nyelvbe bevezetett változások nem olyan fontosak. Azt is figyelembe kell venned, hogy az ilyen típusú vizsgák viszonylag drágák, és a felkészülés is időt és energiát igényel. Ezért én azt tenném (és pontosan ez az én esetem), hogy csak a Lambda-kifejezésekről és az új naptárosztályokról tanulnék, hogy naprakészen tartsam a Java-tudásomat, és aztán várjam meg a Java 9-es vizsga megjelenését.
Mikor jelenik meg a Java 9-es minősítő vizsga?
Az írás időpontjában a Java 9 hivatalos megjelenési dátuma 2017 márciusa, pontosan három évvel a Java 8 megjelenése után. Ettől kezdve az Oracle általában nem kapkodja el a vizsga kiadását (először van egy béta-vizsgáknak szánt több hónapos időszak).
Az Oracle szerint a béta-vizsgák “az új vizsgakérdéseket élő közönség részvételével értékelik, mielőtt a nyilvánosság számára kiadnák. A bétatesztelés során gyűjtött adatokat arra használják, hogy kiválasszák a legjobb kérdéseket a sorozatvizsgához, és hogy kiküszöböljék a kétértelmű, túl könnyű vagy túl nehéz, illetve a résztvevő tudásának értékelésében nem hasznos kérdéseket”. A béta-vizsgák jó lehetőséget jelenthetnek arra, hogy sokkal olcsóbban (általában 50$) szerezze meg a tanúsítványt.
A korábbi Java vizsgakiadványok alapján úgy vélem, hogy a Java 9 Programmer I vizsga 2018 januárjára fog megjelenni.
Kell-e fizetnem a képzésért ahhoz, hogy megszerezzem a Java tanúsítványt?
A válasz nem. A vizsgára való felkészüléshez mindössze egy jó könyvre és egy szimulátorra van szükséged a vizsgakérdések gyakorlásához. Ahogy maga az Oracle Certification Program blogja is írja, a képzés nem követelmény a Java tanúsítványokhoz (OCA és OCP).
Nem javasolnám, hogy fizessen tantermi képzésért, mert ez a fajta képzés általában nagyon drága. Ha azonban mégis úgy érzi, hogy segítségre van szüksége, bármikor megkérheti a cégét, hogy fizesse ki. Egyrészt azzal, hogy tudatja a cégével, hogy Java-tanúsítványt szeretne szerezni, megmutatja nekik, hogy törődik a képességeivel, és ezáltal a munkájával is. Másrészt, ha a vállalatod fizet érte, nemcsak a karriered fejlődését támogatja, hanem magának a szervezetnek is értéket teremt azáltal, hogy fejleszti az alkalmazottai készségeit. Kérdezze meg tehát a vezetőjét vagy a humán erőforrást. Mit veszíthetsz?
Még mindig vannak kérdéseim
Ha még mindig nem vagy biztos a Java-tanúsítvány megszerzésében, nézd meg honlapom Miért szerezzek tanúsítványt? című részét. Ez leírja, hogy milyen potenciális előnyökre számíthat a tanúsítvány megszerzésétől, és azt is (és talán még ennél is fontosabb), hogy mit ne várjon tőle. Megnézheti ezeket a beszámolókat is néhány olyan embertől, akik már végigcsinálták a tanúsítás megszerzésének folyamatát, és beszélnek annak jó és rossz oldaláról.