I ett nyligen publicerat inlägg på Oracle Certification Program-bloggen ställdes några frågor om Java-certifieringen:
- Jag har varit Java-utvecklare i flera år. Varför ska jag bli Java-certifierad?
- Hur annorlunda är Java SE 8-certifieringarna jämfört med Java SE 7-certifieringarna?
- För Java SE 8-certifieringarna, varför är Oracle Certified Associate (OCA) nu en förutsättning för Oracle Certified Professional (OCP)?
- Bör jag köpa utbildningskurser från Oracle University för att få min Java-certifiering?
Detta är den typ av frågor som kan dyka upp om du funderar på att skaffa dig en Java-certifiering, så jag tänkte att det skulle vara till hjälp om jag gav dig mer information om dessa och andra liknande frågor, baserat på min egen kunskap och erfarenhet. Fortsätt läsa för att få veta mer.
Svaret är ja, så länge du är motiverad och har tydliga förväntningar. Jag var själv en erfaren Javautvecklare när jag bestämde mig för att studera för att få certifieringen Java Programmer. Min huvudmotivation var att förbättra och uppdatera mina kunskaper om språket Java (samtidigt som jag fick dem bekräftade genom att erhålla denna värdefulla och erkända IT-legitimation). Jag kan säga dig att när du väl börjar studera inser du snart att den tid du lägger ner på det inte alls är bortkastad, utan i stället mycket värdefull. Jag försäkrar dig att även om du är en erfaren programmerare kommer du att lära dig nya och intressanta saker, inte bara om nya funktioner i språket som du fortfarande inte känner till, utan även om vissa saker som du tror att du behärskar.
- Vad är OCA och OCP?
- Varför finns det två prov?
- Ska jag sikta in mig på Java 7 eller Java 8-certifieringen?
- Jag har redan en Java 6- eller Java 7-certifiering. Vad ska jag göra?
- När kommer Java 9-certifieringsexamen att släppas?
- Behövs det betala för utbildning för att få min Java-certifiering?
- Jag har fortfarande fler frågor
Vad är OCA och OCP?
Om du är ny i världen av Java-certifieringar kan denna OCA- och OCP-terminologi vara lite förvirrande. Jag ska försöka förklara med några få ord:
- OCA är en instegscertifiering för Java-programmerare. Det är en mycket bra utgångspunkt för att lära sig grunderna i språket (variabler, datatyper, matriser, slingor, klasser, metoder, undantag) och även en del mindre grundläggande ämnen (implicit smalning, explicit gjutning, autoboxing, nästlade klasser, polymorfism och arv, abstrakta klasser och gränssnitt samt vissa specifika API:er för att hantera samlingar, strängar och kalenderobjekt)
- OCP är nästa nivå av certifiering för Javaprogrammerare. Det är ett ganska avancerat prov som behandlar ämnen som designmönster, generics, File I/O (NIO.2) , JDBC, trådar och samtidighet.
För att vara berättigad att göra provet för OCP måste man först få OCA, så certifieringsvägen är tydlig. Med detta sagt, när en ny version av Java släpps (t.ex. Java 8) fortsätter och underhålls de tidigare existerande proven och certifieringarna av Oracle under en tid (flera år). Detta innebär att ditt första steg kan vara att skaffa Java 8 OCA (den senaste versionen) eller att skaffa Java 7 OCA. I skrivande stund skulle du till och med kunna prova Java 6, men jag kommer att lämna det utanför jämförelsen (det är meningslöst eftersom det är en mycket äldre version).
De följande tabellerna visar vilka prov du måste göra för att få OCA och OCP för Java 7 och Java 8:
Certifiering | Examen | 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 |
Varför finns det två prov?
För Java 7 fanns det bara ett prov och en certifiering som ursprungligen hette Sun Certified Java Programmer (SCJP, prov CX-310-065) och senare ändrades till Oracle Certified Professional Java Programmer (OCPJP, prov 1Z0-851). Vad var skälet till att dela upp certifieringen i två prov? Å ena sidan är det logiskt om man tänker på den stora listan med ämnen som ingår i Java 6-examen. Med bara ett prov var det en överväldigande uppgift för många att få certifieringen. Att ha två prov gör det möjligt att sätta upp mer uppnåeliga mål och även att få en första certifiering (OCA) på kortare tid. Å andra sidan är nu tentorna svårare (högre godkänt resultat och mindre tid per fråga) och totalt sett dyrare:
Examen | Pris | Priset | Frågor | Rätta svar för att bli godkänd | Duration (minuter) | Tid. per fråga |
---|---|---|---|---|---|---|
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 |
Ska jag sikta in mig på Java 7 eller Java 8-certifieringen?
I följande tabell listas de viktigaste tilläggen i de senaste versionerna av Java:
Binära bokstäver, t.ex: int i = 0b111100
Underscore i numeriska bokstäver, t.ex: double pi = 3_14_15_927
Strängkonstanter i switch
uttryck (och case
-etiketter)
Multi-catch block: Fånga upp flera undantag i bara ett catch
block
Standardmetoder i gränssnitt
Lambdauttryck
Nya datum- och tidspaket
Det finns många fler små tillägg i Java 7 och 8, men jag har här bara samlat de som finns med i Java SE Programmer I-examen. För ytterligare information om Javas nya funktioner och förbättringar som ingår i varje version kan du besöka följande webbplatser:
- Oracle Java Documentation – Language Enhancements
- Oracle Technology Network – What’s new in JDK 8
Så med tanke på ovanstående information, vilken certifiering bör du sikta på? Jag rekommenderar att du satsar på Java 8-certifieringen, eftersom den är relativt ny och kommer att fortsätta att vara den senaste versionen av Java Programmer-certifieringen ett tag till (minst tre år). Det extra innehåll du måste studera för Java 8-examen med avseende på Java 7-examen är inte så mycket och dock värt att lära sig (t.ex. lambdauttryck). Faktum är att endast 7 sidor i min bok The Java Certification Roadmap är mer än tillräckligt för att täcka Java 8-tillägg (standardmetoder för gränssnitt, lambdauttryck och de nya API:erna för datum och tid).
Jag har redan en Java 6- eller Java 7-certifiering. Vad ska jag göra?
Detta beror på dina egna mål och din situation. Min ärliga rekommendation är följande:
- Om du har en Java 6-certifiering skulle jag satsa på Java 8-certifieringen. Den certifiering du har börjar bli gammal och totalt sett har det gjorts betydande tillägg till Javaspråket i de två senaste större versionerna.
- Om du har en Java 7-certifiering skulle jag förmodligen vänta på Java 9-certifieringen. Du har fortfarande en ganska ny certifiering och de ändringar som infördes i Javaspråket i Java 8 är inte så viktiga. Du bör också tänka på att den här typen av prov är relativt dyra och att förberedelserna för dem kräver tid och ansträngning. Så vad jag skulle göra (och det här är precis mitt fall) är att bara lära dig om Lambdauttryck och de nya kalenderklasserna för att hålla dina Java-kunskaper uppdaterade, och sedan vänta på att Java 9-examen släpps.
När kommer Java 9-certifieringsexamen att släppas?
I skrivande stund är det officiella lanseringsdatumet för Java 9 mars 2017, exakt tre år efter att Java 8 släpptes. Från och med den tidpunkten brukar Oracle ta god tid på sig för att släppa provet (först finns det en period på flera månader avsedd för beta-prov).
Enligt Oracle så ”utvärderar beta-prov nya provfrågor med deltagande av en levande publik innan de släpps till allmänheten”. Data som samlas in under betatestningen används för att välja ut de bästa frågorna för produktionsprovet och för att eliminera frågor som är tvetydiga, för lätta eller för svåra eller som inte är till hjälp för att utvärdera en deltagares kunskaper”. Betatester kan vara ett bra tillfälle att få sin certifiering till en mycket lägre kostnad (vanligtvis 50$).
Baserat på de tidigare Java-examensutgåvorna är min gissning att Java 9 Programmer I-examensutgåvan kommer att släppas i januari 2018.
Behövs det betala för utbildning för att få min Java-certifiering?
Svaret är nej. Allt du behöver för att förbereda dig för provet är en bra bok och en simulator för att öva på provfrågorna. Som det står i själva bloggen för Oracle Certification Program är utbildning inget krav för Java-certifieringarna (OCA och OCP).
Jag skulle aldrig rekommendera dig att betala för klassrumsbaserad utbildning eftersom denna typ av utbildning vanligtvis är mycket dyr. Men om du ändå känner att du behöver hjälp kan du alltid be ditt företag att betala för den. Genom att låta ditt företag veta att du vill skaffa en Java-certifiering visar du å ena sidan att du bryr dig om dina färdigheter och därmed om ditt arbete. Å andra sidan, om ditt företag betalar för det, stöder det inte bara din karriärutveckling utan tillför också värde till själva organisationen genom att förbättra de anställdas kompetens. Så fråga din chef eller personalavdelningen. Vad har du att förlora?
Jag har fortfarande fler frågor
Om du fortfarande är osäker på om du ska skaffa en Java-certifiering kan du läsa avsnittet Varför bli certifierad på min webbplats. Där beskrivs de potentiella fördelar som är rimliga att förvänta sig av att uppnå denna certifiering och även (och kanske ännu viktigare) vad du inte bör förvänta dig av den. Du kan också kolla in dessa vittnesmål från några personer som har gått igenom processen för att få certifieringen och som talar om vad som är bra och dåligt med den.