Oraclen sertifiointiohjelman blogissa julkaistiin hiljattain muutamia kysymyksiä Java-sertifioinnista:

  • Olen ollut Java-kehittäjä vuosia. Miksi minun pitäisi hankkia Java-sertifiointi?
  • Miten Java SE 8 -sertifikaatit eroavat Java SE 7 -sertifikaateista?
  • Jaava SE 8 -sertifikaattien osalta, miksi Oracle Certified Associate (OCA) on nyt Oracle Certified Professional (OCP) -sertifikaatin edellytyksenä?
  • Tarvitseeko minun ostaa koulutuskursseja Oracle-yliopistosta saadakseni Java-sertifioinnin?

Tämmöiset kysymykset voivat nousta esiin, jos harkitset Java-sertifioinnin hankkimista, joten ajattelin, että olisi hyödyllistä, jos antaisin näistä ja muista vastaavista kysymyksistä lisätietoa omien tietojeni ja kokemusteni perusteella. Jatka lukemista saadaksesi lisätietoja.

Vastaus on kyllä, kunhan sinulla on motivaatiota ja selkeät odotukset. Olin itse kokenut Java-kehittäjä, kun päätin opiskella Java-ohjelmoijan sertifiointia varten. Tärkein motivaationi oli parantaa ja päivittää tietämystäni Java-kielestä (ja samalla saada se validoitua hankkimalla tämä arvokas ja tunnustettu IT-todistus). Voin kertoa sinulle, että kun aloitat opiskelun, huomaat pian, että siihen käyttämäsi aika ei ole missään nimessä hukkaan heitettyä, vaan se on sen sijaan erittäin kannattavaa. Vakuutan sinulle, että vaikka olisitkin kokenut ohjelmoija, tulet oppimaan uusia ja mielenkiintoisia asioita, ei ainoastaan kielen uusista ominaisuuksista, joita et vielä tunne, vaan myös joistakin asioista, jotka luulet hallitsevasi.

Mitä ovat OCA ja OCP?

Jos olet uusi Java-sertifikaattien maailmassa, tämä OCA- ja OCP-terminologia voi olla hieman hämmentävää. Yritän selittää muutamalla sanalla:

  • OCA on Java-ohjelmoijien lähtötason sertifiointi. Se on erittäin hyvä lähtökohta kielen perusasioiden oppimiseen (muuttujat, tietotyypit, matriisit, silmukat, luokat, metodit, poikkeukset) ja myös joihinkin ei-niin-perusasioihin (implisiittinen kaventaminen, eksplisiittinen valu, autoboxing, sisäkkäiset luokat, polymorfismi ja periytyminen, abstraktit luokat ja rajapinnat sekä tietyt erityiset ohjelmointirajapinnat, joilla käsitellään kokoelmia, merkkijonoja ja kalenteri-objekteja.”
  • OCP on Java-ohjelmoijille suunnattu seuraavantason sertifikaatti. Se on melko edistyneempi tentti, joka käsittelee sellaisia aiheita kuin suunnittelumallit, geneerisyys, File I/O (NIO.2) , JDBC, säikeet ja samanaikaisuus.

Voidakseen suorittaa OCP-tutkinnon on tietenkin ensin suoritettava OCA-tutkinto, joten sertifiointipolku on selvä. Tästä huolimatta, kun uusi Java-versio julkaistaan (esim. Java 8), Oracle jatkaa ja ylläpitää aiemmin olemassa olleita tenttejä ja sertifikaatteja jonkin aikaa (useita vuosia). Tämä tarkoittaa, että ensimmäinen askel voi olla Java 8 OCA:n (uusin versio) tai Java 7 OCA:n hankkiminen. Tätä kirjoittaessasi voisit jopa kokeilla Java 6:ta, mutta jätän sen pois vertailusta (siinä ei ole mitään järkeä, koska se on paljon vanhempi).

Seuraavissa taulukoissa näkyvät tentit, jotka sinun täytyy tehdä saadaksesi OCA:n ja OCP:n Java 7:lle ja Java 8:lle:

Sertifiointi Tentti Merkki
OCA Oraclen sertifioitu Associate 1Z0-808 Oracle Java SE 8 Programmer I
1Z0-803 Oracle Java SE 7 Ohjelmoija I
OCP Oracle Certified Professional 1Z0-809 Oracle Java SE 8 Programmer II
1Z0-804 Oracle Java SE 7 Programmer II

Miksi on kaksi tenttiä?

Ennen Java 7:ää oli vain yksi tentti ja sertifiointi, jonka alkuperäinen nimi oli Sun Certified Java Programmer (SCJP, tentti CX-310-065) ja joka myöhemmin muutettiin Oracle Certified Professional Java Programmeriksi (OCPJP, tentti 1Z0-851). Mikä oli syy jakaa sertifiointi kahteen tenttiin? Toisaalta, jos ajatellaan Java 6 -tutkintoon sisältyvien aiheiden laajaa luetteloa, siinä on järkeä. Kun käytössä oli vain yksi tentti, sertifioinnin saaminen oli monille ylivoimainen tehtävä. Kahden kokeen avulla voit asettaa helpommin saavutettavia tavoitteita ja saada ensimmäisen sertifikaatin (OCA) lyhyemmässä ajassa. Toisaalta tentit ovat nyt vaikeampia (korkeampi läpäisypistemäärä ja vähemmän aikaa kysymystä kohden) ja kaiken kaikkiaan kalliimpia:

Tentti Hinta Passiivinen pistemäärä Kysymykset Oikeat vastaukset läpäisyyn Kesto (minuuttia) Aika. per kysymys
Java SE 6 Ohjelmoija 238€ 61% 60 >=37 150 2:30
Java SE 8 Ohjelmoija I 212€ 65% 77 >=51 150 1:55
Java SE 8 Ohjelmoija II 212€ 65% 85 >=55 150 1:45

Suuntaanko kohti Java 7- vai Java 8 -sertifiointia?

Seuraavassa taulukossa on lueteltu tärkeimmät Javan uusimpiin versioihin tehdyt lisäykset:

Java 7

Binary literals, esim: int i = 0b111100
Ylimääräiset pisteet numeerisissa litteraaleissa, esim: double pi = 3_14_15_927
merkkijonovakiot switch-lausekkeissa (ja case-merkinnöissä)
Multi-catch-lohko: Useiden poikkeusten kiinniottaminen yhdellä catch lohkolla

Java 8

Default-metodit rajapinnoissa
Lambda-lausekkeet
Uudet päivämäärä- ja kellonaikapaketit

Java 7:ssä ja 8:ssa on paljon muitakin pieniä lisäyksiä, mutta olen koonnut tänne vain ne, jotka sisältyvät Java SE Ohjelmoija I:n tenttiin. Lisätietoja kuhunkin versioon sisältyvistä Javan uusista ominaisuuksista ja parannuksista saat seuraavilta sivustoilta:

  • Oracle Java Documentation – Language Enhancements
  • Oracle Technology Network – What’s new in JDK 8

Edellä olevilla tiedoilla mitkä sertifioinnit kannattaa ottaa tavoitteeksi? Suosittelen Java 8 -sertifiointia, koska se on suhteellisen uusi ja pysyy Java-ohjelmoijan sertifioinnin uusimpana versiona vielä jonkin aikaa (ainakin 3 vuotta). Lisäsisältöä, jota sinun on opiskeltava Java 8 -tutkintoa varten Java 7 -tutkintoon verrattuna, ei ole kovin paljon ja se kannattaa kuitenkin opetella (esim. lambda-lausekkeet). Itse asiassa vain 7 sivua kirjastani The Java Certification Roadmap riittää enemmän kuin hyvin kattamaan Java 8:n lisäykset (oletusmetodit rajapinnoille, lambda-lausekkeet ja uudet päivämäärä- ja kellonaika API:t).

Minulla on jo Java 6 tai Java 7 sertifiointi. Mitä minun pitäisi tehdä?

Noh, tämä riippuu omista tavoitteistasi ja tilanteestasi. Rehellinen suositukseni on seuraava:

  • Jos sinulla on Java 6 -sertifiointi, valitsisin Java 8 -sertifioinnin. Sertifiointi, joka sinulla on, alkaa olla vanha ja kaiken kaikkiaan Java-kieleen on tullut merkittäviä lisäyksiä sen kahdessa viimeisimmässä pääversiossa.
  • Jos sinulla on Java 7 -sertifikaatti, odottaisin todennäköisesti Java 9 -sertifikaattia. Sinulla on vielä melko tuore sertifiointi ja Java 8:ssa Java-kieleen tehdyt muutokset eivät ole niin merkittäviä. Kannattaa myös ottaa huomioon, että tällaiset tentit ovat suhteellisen kalliita ja niihin valmistautuminen vaatii aikaa ja vaivaa. Joten mitä minä tekisin (ja tämä on juuri minun tapaukseni), on vain opetella Lambda-lausekkeita ja uusia kalenteriluokkia pitämään Java-tietämyksesi ajan tasalla, ja sitten odottaa Java 9 -tutkinnon julkaisua.

Milloin Java 9 -sertifiointitentti julkaistaan?

Tätä kirjoittaessani tätä virallista Java 9:n julkaisuajankohtaa on maaliskuu 2017, eli tarkalleen ottaen tasan kolme vuotta Java 8:n julkaisun jälkeen. Siitä eteenpäin Oracle yleensä ottaa oman aikansa julkaista tentti (ensin on beta-tentteihin tarkoitettu usean kuukauden jakso).

Oraclen mukaan beta-tentit ”arvioivat uusia tenttikysymyksiä live-yleisön osallistuessa ennen kuin ne julkaistaan yleisölle”. Betatestauksen aikana kerättyjä tietoja käytetään parhaiden kysymysten valitsemiseen tuotantotenttiin ja sellaisten kysymysten poistamiseen, jotka ovat epäselviä, liian helppoja tai liian vaikeita tai joista ei ole hyötyä osallistujan osaamisen arvioinnissa”. Betatentit voivat olla hyvä tilaisuus hankkia sertifiointi paljon halvemmalla (yleensä 50$).

Vähäisempien Java-tenttijulkaisujen perusteella veikkaan, että Java 9 Programmer I -tentti julkaistaan tammikuussa 2018.

Tarvitseeko minun maksaa koulutuksesta saadakseni Java-sertifioinnin?

Vastaus on ei. Tarvitset tenttiin valmistautumiseen vain hyvän kirjan ja simulaattorin, jolla voit harjoitella tenttikysymyksiä. Kuten Oraclen sertifiointiohjelman blogissa itsekin sanotaan, koulutus ei ole edellytys Java-sertifioinneille (OCA ja OCP).

En koskaan suosittelisi sinua maksamaan luokkahuonekoulutuksesta, koska tällainen koulutus on yleensä hyvin kallista. Jos kuitenkin koet silti tarvitsevasi apua, voit aina pyytää yritystäsi maksamaan sen. Toisaalta kertomalla yrityksellesi, että haluat hankkia Java-sertifioinnin, osoitat sille, että välität osaamisestasi ja siten työstäsi. Toisaalta, jos yrityksesi maksaa sen, se ei ainoastaan tue urakehitystäsi vaan myös tuo arvoa itse organisaatiolle parantamalla sen työntekijöiden taitoja. Kysy siis esimieheltäsi tai henkilöstöhallinnosta. Mitä menetettävää sinulla on?

Minulla on vielä kysyttävää

Jos et ole vielä varma Java-sertifioinnin hankkimisesta, tutustu verkkosivujeni kohtaan Miksi hankkia sertifiointi? Siinä kerrotaan mahdollisista hyödyistä, joita tämän sertifioinnin hankkimisesta on järkevää odottaa, ja myös (ja ehkä vielä tärkeämpää) siitä, mitä sinun ei kannata odottaa siltä. Voit myös tutustua eräiden sertifioinnin hankkimisprosessin läpikäyneiden henkilöiden suositteluihin, joissa kerrotaan sertifioinnin hyvistä ja huonoista puolista.

Vastaa

Sähköpostiosoitettasi ei julkaista.