Nedávný příspěvek na blogu certifikačního programu Oracle položil několik otázek o certifikaci Java:

  • Jsem vývojářem Javy již několik let. Proč bych měl získat certifikát Java?“
  • Jak se liší certifikace Java SE 8 ve srovnání s certifikacemi Java SE 7?“
  • Proč je nyní u certifikací Java SE 8 předpokladem pro získání certifikátu Oracle Certified Associate (OCA) certifikát Oracle Certified Professional (OCP)?
  • Musím si pro získání certifikace Java zakoupit školicí kurzy od Oracle University?

Tyto otázky mohou vyvstat, pokud uvažujete o získání certifikace Java, proto jsem si myslel, že bude užitečné, když vám na základě vlastních znalostí a zkušeností poskytnu více informací o těchto a dalších podobných otázkách. Čtěte dál a dozvíte se více.

Odpověď zní ano, pokud máte motivaci a jasná očekávání. Sám jsem byl zkušený vývojář Javy, když jsem se rozhodl studovat, abych získal certifikaci Java Programmer. Mou hlavní motivací bylo zlepšit a aktualizovat své znalosti jazyka Java (a zároveň je ověřit získáním tohoto cenného a uznávaného IT certifikátu). Mohu vám říci, že jakmile začnete studovat, brzy zjistíte, že čas, který tomu věnujete, není v žádném případě promarněný, ale naopak velmi užitečný. Ujišťuji vás, že i když jste zkušený programátor, dozvíte se nové a zajímavé věci, a to nejen o nových funkcích jazyka, které ještě neznáte, ale i o některých věcech, o kterých si myslíte, že je ovládáte.

Co jsou OCA a OCP?“

Jestliže jste ve světě certifikací Java nováčky, může být tato terminologie OCA a OCP trochu matoucí. Pokusím se vám to vysvětlit několika slovy:

  • OCA je základní certifikace pro programátory Javy. Je to velmi dobrý výchozí bod pro osvojení úplných základů jazyka (proměnné, datové typy, pole, cykly, třídy, metody, výjimky) a také některých ne tak úplně základních témat (implicitní zúžení, explicitní casting, autoboxing, vnořené třídy, polymorfismus a dědičnost, abstraktní třídy a rozhraní a některá specifická API pro práci s kolekcemi, řetězci a kalendářními objekty)
  • OCP je certifikace další úrovně pro programátory v Javě. Je to poměrně pokročilejší zkouška, která se zabývá tématy, jako jsou návrhové vzory, generika, File I/O (NIO.2) , JDBC, vlákna a souběžnost.

Je zřejmé, že abyste mohli dělat zkoušku OCP, musíte nejprve získat OCA, takže cesta k certifikaci je jasná. Jak již bylo řečeno, když je vydána nová verze Javy (např. Java 8), dříve existující zkoušky a certifikace pokračují a společnost Oracle je po určitou dobu (několik let) udržuje. To znamená, že vaším prvním krokem může být získání Java 8 OCA (nejnovější verze) nebo získání Java 7 OCA. V okamžiku psaní tohoto článku byste mohli zkusit i Javu 6, ale tu z tohoto srovnání vynechám (nemá to smysl, protože je mnohem starší).

Následující tabulky ukazují zkoušky, které musíte složit, abyste získali tituly OCA a OCP pro Javu 7 a Javu 8:

Certifikace Zkouška Značka
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

Proč jsou dvě zkoušky?

Před nástupem Javy 7 existovala pouze jedna zkouška a certifikace, původně nazvaná Sun Certified Java Programmer (SCJP, zkouška CX-310-065) a později změněná na Oracle Certified Professional Java Programmer (OCPJP, zkouška 1Z0-851). Jaký byl důvod k rozdělení certifikace na dvě zkoušky? Na jedné straně, pokud se zamyslíte nad rozsáhlým seznamem témat obsažených ve zkoušce Java 6, dává to smysl. S pouze jednou zkouškou bylo získání certifikace pro mnoho lidí ohromujícím úkolem. Mít dvě zkoušky umožňuje stanovit si dosažitelnější cíle a také získat první certifikaci (OCA) v kratším čase. Na druhou stranu jsou nyní zkoušky obtížnější (vyšší úspěšnost a méně času na jednu otázku) a celkově dražší:

Zkouška Cena Skóre pro složení zkoušky Otázky Správné odpovědi pro složení zkoušky Délka (minuty) Čas na otázku
Java SE 6 Programátor 238€ 61% 60 >=37 150 2:30
Java SE 8 Programátor I 212€ 65% 77 >=51 150 1:55
Java SE 8 Programátor II 212€ 65% 85 >=55 150 1:45

Mám se zaměřit na certifikaci Java 7 nebo Java 8?

Následující tabulka uvádí hlavní doplňky provedené v posledních verzích Javy:

Java 7

Binární literály, např: int i = 0b111100
Underscore v číselných literálech, např: double pi = 3_14_15_927
Náslovné konstanty ve výrazu switch (a štítky case)
Blok s vícenásobným zachycením: Chytání více výjimek v jediném bloku catch

Java 8

Defaultní metody v rozhraních
Lambda výrazy
Nové balíčky data a času

Drobných doplňků v Javě 7 a 8 je mnohem více, ale shromáždil jsem zde jen ty, které jsou obsaženy ve zkouškách Java SE Programmer I. Další informace o nových funkcích a vylepšeních Javy obsažených v jednotlivých verzích naleznete na následujících stránkách:

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

Na jakou certifikaci se tedy vzhledem k výše uvedeným informacím zaměřit? Doporučuji vám zaměřit se na certifikaci Java 8, protože je relativně nová a ještě nějakou dobu (nejméně 3 roky) bude nejnovější verzí certifikace Java Programmer. Dodatečného obsahu, který musíte nastudovat ke zkoušce Java 8 s ohledem na zkoušku Java 7, není tolik a nicméně stojí za to se ho naučit (např. lambda výrazy). Ve skutečnosti pouhých 7 stran mé knihy The Java Certification Roadmap (Plán certifikace v Javě) bohatě stačí na pokrytí doplňků Javy 8 (výchozí metody pro rozhraní, lambda výrazy a nové rozhraní API pro datum a čas).

Já už mám certifikaci Java 6 nebo Java 7.

Já už mám certifikaci Java 6 nebo Java 7. Co mám dělat?

No, to záleží na vašich vlastních cílech a situaci. Mé upřímné doporučení je následující:

  • Pokud máte certifikaci Java 6, přešel bych na certifikaci Java 8. V případě, že máte certifikaci Java 7, přejděte na certifikaci Java 7. Certifikace, kterou máte, stárne a celkově došlo v posledních dvou hlavních verzích k významným doplněním jazyka Java.
  • Pokud máte certifikaci Java 7, pravděpodobně bych počkal na certifikaci Java 9.
  • Pokud máte certifikaci Java 7, pravděpodobně bych počkal na certifikaci Java 9. Máte ještě poměrně čerstvou certifikaci a změny zavedené do jazyka Java v Javě 8 nejsou tak důležité. Měli byste také vzít v úvahu, že tyto druhy zkoušek jsou poměrně drahé a že příprava na ně vyžaduje čas a úsilí. Takže bych udělal to (a to je přesně můj případ), že bych se prostě naučil o lambda výrazech a nových kalendářových třídách, abyste udrželi své znalosti jazyka Java aktuální, a pak počkal na vydání zkoušky Java 9.

Kdy bude vydána certifikační zkouška Java 9?

V době psaní tohoto článku je oficiální datum vydání Javy 9 březen 2017, tedy přesně tři roky po vydání Javy 8. Zkouška Java 9 se bude konat v březnu 2017. Od tohoto okamžiku si společnost Oracle s vydáním zkoušky obvykle dává na čas (nejprve je několikaměsíční období určené pro beta zkoušky).

Podle společnosti Oracle beta zkoušky „vyhodnocují nové otázky zkoušky za účasti živého publika, než jsou uvolněny pro veřejnost. Data získaná během beta testování se používají k výběru nejlepších otázek pro produkční zkoušku a k vyřazení otázek, které jsou nejednoznačné, příliš snadné nebo příliš obtížné nebo nepomáhají při hodnocení znalostí účastníka“. Beta zkoušky mohou být dobrou příležitostí, jak získat certifikaci za mnohem nižší cenu (obvykle 50 USD).

Na základě předchozích vydání zkoušek Java odhaduji, že zkouška Java 9 Programmer I bude vydána do ledna 2018.

Musím platit za školení, abych získal certifikaci Java?

Odpověď zní ne. Vše, co potřebujete k přípravě na zkoušku, je dobrá kniha a simulátor k procvičování zkouškových otázek. Jak je uvedeno na samotném blogu Oracle Certification Program, školení není podmínkou pro získání certifikátů Java (OCA a OCP).

Nikdy bych vám nedoporučoval platit za školení v učebně, protože tento druh školení je obvykle velmi drahý. Pokud však přesto máte pocit, že potřebujete pomoc, vždy můžete požádat svou společnost, aby vám ji zaplatila. Jednak tím, že dáte firmě najevo, že chcete získat certifikaci Java, dáte najevo, že vám záleží na vašich dovednostech, a tedy i na vaší práci. Na druhou stranu, pokud vám to firma zaplatí, podpoří tím nejen váš kariérní růst, ale také přinese hodnotu samotné organizaci tím, že zlepší dovednosti svých zaměstnanců. Zeptejte se proto svého nadřízeného nebo personálního oddělení. Co můžete ztratit?“

Mám ještě další otázky

Pokud si stále nejste jisti, zda získat certifikaci Java, podívejte se do sekce Proč se certifikovat? na mých webových stránkách. Jsou tam popsány potenciální výhody, které je rozumné od získání této certifikace očekávat, a také (a to je možná ještě důležitější), co byste od ní očekávat neměli. Můžete se také podívat na tyto reference některých lidí, kteří prošli procesem získání certifikace a hovoří o jeho dobrých i špatných stránkách.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.