I et nyligt indlæg på Oracle Certification Program-bloggen blev der stillet nogle spørgsmål om Java-certificeringen:

  • Jeg har været Java-udvikler i årevis. Hvorfor skal jeg blive Java-certificeret?
  • Hvor stor forskel er der på Java SE 8-certificeringerne i forhold til Java SE 7-certificeringerne?
  • For Java SE 8-certificeringerne, hvorfor er Oracle Certified Associate (OCA) nu en forudsætning for Oracle Certified Professional (OCP)?
  • Er jeg nødt til at købe uddannelseskurser fra Oracle University for at opnå min Java-certificering?

Dette er den slags spørgsmål, der kan opstå, hvis du overvejer at få en Java-certificering, så jeg tænkte, at det ville være nyttigt, hvis jeg gav dig flere oplysninger om disse og andre lignende spørgsmål, baseret på min egen viden og erfaring. Læs videre for at få mere at vide.

Svaret er ja, så længe du er motiveret og har klare forventninger. Jeg var selv en erfaren Java-udvikler, da jeg besluttede mig for at studere for at få Java Programmer-certificeringen. Min hovedmotivation var at forbedre og opdatere min viden om Java-sproget (og samtidig få den valideret ved at opnå denne værdifulde og anerkendte it-certificering). Jeg kan fortælle dig, at når først du begynder at studere, vil du hurtigt indse, at den tid, du bruger på det, på ingen måde er spildt, men derimod meget værdifuld. Jeg forsikrer dig om, at selv hvis du er en erfaren programmør, vil du komme til at lære nye og interessante ting, ikke kun om de nye funktioner i sproget, du stadig ikke kender, men også om nogle ting, du tror, du mestrer.

Hvad er OCA og OCP?

Hvis du er ny i verdenen af Java-certificeringer, kan denne OCA- og OCP-terminologi være lidt forvirrende. Jeg vil forsøge at forklare det med et par ord:

  • OCA er entry-level-certificeringen for Java-programmører. Det er et meget godt udgangspunkt for at lære det helt grundlæggende i sproget (variabler, datatyper, arrays, loops, klasser, metoder, undtagelser) og også nogle mindre grundlæggende emner (implicit narrowing, explicit casting, autoboxing, nested classes, polymorphisme og arv, abstrakte klasser og interfaces samt nogle specifikke API’er til håndtering af samlinger, strenge og kalenderobjekter)
  • OCP er næste niveau af certificering for Java-programmører. Det er en forholdsvis mere avanceret eksamen, der omhandler emner som designmønstre, generics, File I/O (NIO.2) , JDBC, tråde og samtidighed.

For at være berettiget til at tage eksamen for OCP skal man naturligvis først have opnået OCA, så certificeringsvejen er klar. Når det er sagt, når der udkommer en ny version af Java (f.eks. Java 8), fortsætter og vedligeholdes de tidligere eksisterende eksamener og certificeringer af Oracle i et stykke tid (flere år). Det betyder, at dit første skridt kan være at få Java 8 OCA (den nyeste version) eller at få Java 7 OCA. I skrivende stund kunne du endda prøve Java 6, men jeg vil udelade det fra sammenligningen (det giver ingen mening, da det er en meget ældre udgave).

De følgende tabeller viser de eksamener, du skal gennemføre for at få OCA og OCP for Java 7 og Java 8:

Certificering Eksamen Badge
OCA Oracle Certified Associate 1Z0-808 Oracle Java SE 8 Programmer I
1Z0-803 Oracle Java SE 7 Programmer I
OCP Oracle Certified Professional 1Z0-809 Oracle Java SE 8 Programmer II
1Z0-804 Oracle Java SE 7 Programmer II

Hvorfor er der to eksamener?

For Java 7 var der kun én eksamen og certificering, der oprindeligt hed Sun Certified Java Programmer (SCJP, eksamen CX-310-065) og senere blev ændret til Oracle Certified Professional Java Programmer (OCPJP, eksamen 1Z0-851). Hvad var årsagen til at opdele certificeringen i to eksamener? På den ene side giver det mening, hvis man tænker på den store liste af emner, der indgår i Java 6-eksamen. Med kun én eksamen var det for mange mennesker en overvældende opgave at opnå certificeringen. Ved at have to eksamener kan man opstille mere opnåelige mål og også få en første certificering (OCA) på kortere tid. På den anden side er eksamenerne nu vanskeligere (højere beståelsesscore og mindre tid pr. spørgsmål) og i det hele taget dyrere:

Eksamen Pris Pris Passing score Spørgsmål Rette svar for at bestå Duré (minutter) Tid pr. spørgsmål
Java SE 6 Programmer 238€ 61% 60 >=37 150 2:30
Java SE 8 Programmer I 212€ 65% 77 >=51 150 1:55
Java SE 8 Programmer II 212€ 65% 85 >=55 150 1:45

Bør jeg sigte mod Java 7- eller Java 8-certificeringen?

Den følgende tabel indeholder en liste over de vigtigste tilføjelser, der er foretaget i de seneste udgaver af Java:

Java 7

Binære bogstaver, f.eks: int i = 0b111100
Underscore i numeriske literaler, f.eks: double pi = 3_14_15_927
Stringkonstanter i switchudtryk (og caselabels)
Multi-catch-blok: fange flere undtagelser i kun én catch blok

Java 8

Defaultmetoder i grænseflader
Lambda-udtryk
Nye dato- og tidspakker

Der er mange flere små tilføjelser i Java 7 og 8, men jeg har her kun samlet dem, der er med i Java SE Programmer I eksamen. For yderligere oplysninger om de nye Java-funktioner og forbedringer, der er inkluderet i hver version, kan du besøge følgende websteder:

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

Så på baggrund af ovenstående oplysninger, hvilken certificering skal du så sigte mod? Jeg anbefaler, at du går efter Java 8-certificeringen, da den er relativt ny og fortsat vil være den nyeste version af Java Programmer-certificeringen i et stykke tid (mindst 3 år). Det ekstra indhold du skal studere til Java 8 eksamen i forhold til Java 7 eksamen er ikke så meget og er dog værd at lære (f.eks. lambda udtryk). Faktisk er kun 7 sider i min bog The Java Certification Roadmap mere end nok til at dække Java 8-tilføjelserne (standardmetoder for interfaces, lambda-udtryk og de nye dato- og tids-API’er).

Jeg har allerede en Java 6- eller Java 7-certificering. Hvad skal jeg gøre?

Dette afhænger af dine egne mål og din situation. Min ærlige anbefaling er følgende:

    Hvis du har en Java 6-certificering, ville jeg gå efter Java 8-certificeringen. Den certificering, du har, er ved at være gammel, og i det hele taget er der sket betydelige tilføjelser til Java-sproget i de sidste to store udgivelser. Hvis du har en Java 7-certificering, ville jeg nok vente på Java 9-certificeringen. Du har stadig en ret ny certificering, og de ændringer, der er indført i Java-sproget i Java 8, er ikke så vigtige. Du bør også overveje, at den slags eksamener er relativt dyre, og at det kræver tid og kræfter at forberede sig til dem. Så det, jeg ville gøre (og det er netop mit tilfælde), er blot at lære om Lambda-udtryk og de nye kalenderklasser for at holde din Java-viden opdateret, og så vente på, at Java 9-eksamen bliver udgivet.

Hvornår bliver Java 9-certificeringseksamen udgivet?

I skrivende stund er den officielle udgivelsesdato for Java 9 marts 2017, dvs. præcis tre år efter udgivelsen af Java 8. Fra det tidspunkt tager Oracle sig normalt god tid til at frigive eksamen (først er der en periode på flere måneder beregnet til beta-eksamen).

Ifølge Oracle “evaluerer beta-eksamen nye eksamensspørgsmål med deltagelse af et live-publikum, før de frigives til offentligheden. De data, der indsamles under betatest, bruges til at udvælge de bedste spørgsmål til produktionseksamen og til at fjerne spørgsmål, der er tvetydige, for lette eller for svære eller uhensigtsmæssige til at evaluere en deltagers viden”. Beta eksamener kan være en god mulighed for at få din certificering til en meget lavere pris (normalt 50$).

Baseret på de tidligere Java eksamensudgivelser, er mit gæt at Java 9 Programmer I eksamen vil blive udgivet i januar 2018.

Bør jeg betale for uddannelse for at få min Java certificering?

Svaret er nej. Alt du behøver for at forberede dig til eksamen er en god bog og en simulator til at øve dig på eksamensspørgsmål. Som det står i selve Oracle Certification Program-bloggen, er uddannelse ikke et krav for Java-certificeringerne (OCA og OCP).

Jeg vil aldrig anbefale dig at betale for klasseværelsesbaseret uddannelse, fordi denne form for uddannelse normalt er meget dyr. Hvis du dog stadig føler, at du har brug for hjælp, kan du altid bede din virksomhed om at betale for det. På den ene side vil du ved at lade din virksomhed vide, at du ønsker at få en Java-certificering, vise dem, at du går op i dine færdigheder og dermed også i dit arbejde. På den anden side, hvis din virksomhed betaler for det, støtter den ikke blot din karriereudvikling, men tilfører også værdi til selve organisationen ved at forbedre sine medarbejderes færdigheder. Så spørg din leder eller din personaleafdeling. Hvad har du at miste?

Jeg har stadig flere spørgsmål

Hvis du stadig ikke er sikker på at få en Java-certificering, så tjek afsnittet Hvorfor blive certificeret? på mit websted. Det beskriver de potentielle fordele, som det er rimeligt at forvente af at opnå denne certificering, og også (og måske endnu vigtigere) hvad du ikke bør forvente af den. Du kan også tjekke disse vidnesbyrd fra nogle personer, der har været igennem processen med at få certificeringen, og som fortæller om det gode og det dårlige ved den.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.