W ostatnim poście na blogu Oracle Certification Program postawiono kilka pytań dotyczących certyfikacji Java:
- Jestem programistą Java od lat. Dlaczego powinienem uzyskać certyfikat Java?
- Jak bardzo różnią się certyfikacje Java SE 8 w porównaniu z certyfikatami Java SE 7?
- Dlaczego w przypadku certyfikacji Java SE 8 certyfikat Oracle Certified Associate (OCA) jest teraz warunkiem wstępnym dla Oracle Certified Professional (OCP)?
- Czy muszę kupić zajęcia szkoleniowe z Oracle University, aby uzyskać certyfikat Java?
To są rodzaje pytań, które mogą się pojawić, jeśli myślisz o uzyskaniu certyfikatu Java, więc pomyślałem, że będzie to pomocne, jeśli dam ci więcej informacji na temat tych i innych podobnych pytań, w oparciu o moją własną wiedzę i doświadczenie. Czytaj dalej, aby dowiedzieć się więcej.
Odpowiedź brzmi: tak, o ile masz motywację i jasne oczekiwania. Ja sam byłem doświadczonym programistą Java, kiedy zdecydowałem się na naukę w celu uzyskania certyfikatu Programisty Java. Moją główną motywacją było poprawienie i uaktualnienie mojej wiedzy na temat języka Java (jednocześnie uzyskując jej potwierdzenie poprzez zdobycie tego cennego i uznanego certyfikatu IT). Mogę ci powiedzieć, że kiedy zaczniesz się uczyć, szybko zdasz sobie sprawę, że czas, który poświęcasz na naukę, nie jest w żadnym wypadku stracony, ale za to bardzo wartościowy. Zapewniam Cię, że nawet jeśli jesteś doświadczonym programistą, dowiesz się nowych i ciekawych rzeczy, nie tylko o nowych funkcjach języka, których jeszcze nie znasz, ale także o rzeczach, które uważasz za opanowane.
- Czym są OCA i OCP?
- Dlaczego są dwa egzaminy?
- Czy powinienem ukierunkować się na certyfikację Java 7 czy Java 8?
- I Already Have a Java 6 or Java 7 Certification. Co powinienem zrobić?
- Kiedy zostanie wydany egzamin certyfikacyjny Java 9?
- Do I Need to Pay for Training in order to Get My Java Certification?
- Wciąż mam więcej pytań
Czym są OCA i OCP?
Jeśli jesteś nowy w świecie certyfikacji Java, terminologia OCA i OCP może być trochę myląca. Postaram się to wyjaśnić w kilku słowach:
- OCA jest podstawowym certyfikatem dla programistów Java. Jest to bardzo dobry punkt wyjścia do nauki podstaw języka (zmienne, typy danych, tablice, pętle, klasy, metody, wyjątki), a także niektórych nie tak podstawowych tematów (implicit narrowing, explicit casting, autoboxing, klasy zagnieżdżone, polimorfizm i dziedziczenie, klasy abstrakcyjne i interfejsy, oraz niektóre specyficzne API do radzenia sobie z kolekcjami, ciągami znaków i obiektami kalendarza)
- OCP jest kolejnym poziomem certyfikacji dla programistów Java. Jest to dość bardziej zaawansowany egzamin, który zajmuje się takimi tematami jak wzorce projektowe, generics, File I/O (NIO.2) , JDBC, wątki i współbieżność.
Oczywiście, aby kwalifikować się do egzaminu na OCP musisz najpierw uzyskać OCA, więc ścieżka certyfikacji jest jasna. To powiedziawszy, kiedy nowa wersja Javy zostaje wydana (np. Java 8), poprzednio istniejące egzaminy i certyfikaty są kontynuowane i utrzymywane przez Oracle przez jakiś czas (kilka lat). Oznacza to, że Twoim pierwszym krokiem może być uzyskanie Java 8 OCA (najnowsze wydanie) lub uzyskanie Java 7 OCA. W chwili pisania tego tekstu mógłbyś nawet spróbować Javy 6, ale pominę ją w tym porównaniu (nie ma sensu, bo jest dużo starsza).
Następujące tabele pokazują egzaminy, które musisz zrobić, aby uzyskać OCA i OCP dla Java 7 i Java 8:
Certification | Exam | 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 |
Dlaczego są dwa egzaminy?
Przed Javą 7 był tylko jeden egzamin i certyfikat, pierwotnie nazwany Sun Certified Java Programmer (SCJP, egzamin CX-310-065), a później zmieniony na Oracle Certified Professional Java Programmer (OCPJP, egzamin 1Z0-851). Jaki był powód podzielenia certyfikacji na 2 egzaminy? Z jednej strony, jeśli pomyślimy o dużej liście tematów zawartych w egzaminie z Javy 6, ma to sens. Przy jednym egzaminie, uzyskanie certyfikatu było dla wielu osób przytłaczającym zadaniem. Posiadanie dwóch egzaminów pozwala na ustalenie bardziej osiągalnych celów, a także na zdobycie pierwszego certyfikatu (OCA) w krótszym czasie. Z drugiej strony, teraz egzaminy są trudniejsze (wyższy wynik i mniej czasu na jedno pytanie) i w sumie droższe:
Egamin | Cena | Passing score | Pytania | Prawidłowe odpowiedzi do zaliczenia | Czas trwania (minuty) | Czas na pytanie |
---|---|---|---|---|---|---|
Programista Java SE 6 | 238€ | 61% | 60 | >=37 | 150 | 2:30 |
Java SE 8 Programista I | 212€ | 65% | 77 | >=51 | 150 | 1:55 |
Java SE 8 Programmer II | 212€ | 65% | 85 | >=55 | 150 | 1:45 |
Czy powinienem ukierunkować się na certyfikację Java 7 czy Java 8?
W poniższej tabeli wymieniono główne dodatki wprowadzone w najnowszych wydaniach Javy:
Słowniki binarne, np: int i = 0b111100
Unicorny w literałach numerycznych, np: double pi = 3_14_15_927
Stałe łańcuchowe w wyrażeniu switch
(oraz case
etykiety)
Blok multi-catch: łapanie wielu wyjątków w tylko jednym catch
bloku
Default methods in interfaces
Wyrażenia lambda
Nowe pakiety daty i czasu
W Javie 7 i 8 jest znacznie więcej drobnych dodatków, ale zebrałem tu tylko te, które są zawarte w egzaminie Java SE Programmer I. Aby uzyskać więcej informacji na temat nowych funkcji i ulepszeń Javy zawartych w każdej wersji, można odwiedzić następujące strony:
- Oracle Java Documentation – Language Enhancements
- Oracle Technology Network – What’s new in JDK 8
Więc, biorąc pod uwagę powyższe informacje, jaki certyfikat powinieneś wybrać? Polecam Ci certyfikację Java 8, ponieważ jest ona stosunkowo nowa i przez jakiś czas (co najmniej 3 lata) będzie najnowszą wersją certyfikacji Java Programmer. Dodatkowe treści, które musisz studiować dla egzaminu Java 8 w odniesieniu do egzaminu Java 7 nie jest tak dużo i jednak warto się uczyć (np. wyrażenia lambda). W rzeczywistości, tylko 7 stron mojej książki The Java Certification Roadmap jest więcej niż wystarczające, aby pokryć dodatki do Javy 8 (domyślne metody dla interfejsów, wyrażenia lambda i nowe API daty i czasu).
I Already Have a Java 6 or Java 7 Certification. Co powinienem zrobić?
Cóż, to zależy od twoich własnych celów i sytuacji. Moja szczera rekomendacja jest następująca:
- Jeśli masz certyfikat Java 6, poszedłbym po certyfikat Java 8. Certyfikat, który posiadasz staje się stary i w sumie zostały wprowadzone znaczące dodatki do języka Java w jego ostatnich dwóch głównych wydaniach.
- Jeśli posiadasz certyfikat Java 7, prawdopodobnie poczekałbym na certyfikat Java 9. Nadal masz całkiem niedawną certyfikację, a zmiany wprowadzone do języka Java w Javie 8 nie są tak ważne. Powinieneś także wziąć pod uwagę, że tego rodzaju egzaminy są stosunkowo drogie i że przygotowanie się do nich wymaga czasu i wysiłku. Więc to, co bym zrobił (i to jest dokładnie mój przypadek), to po prostu nauczyć się o wyrażeniach Lambda i nowych klasach kalendarza, aby utrzymać swoją wiedzę Java na bieżąco, a następnie czekać na egzamin Java 9, aby zostać wydanym.
Kiedy zostanie wydany egzamin certyfikacyjny Java 9?
W czasie pisania tego, oficjalna data wydania Java 9 to marzec 2017, dokładnie trzy lata po wydaniu Java 8. Od tego momentu Oracle zazwyczaj nie spieszy się z wydaniem egzaminu (najpierw jest kilkumiesięczny okres przeznaczony na egzaminy beta).
Według Oracle egzaminy beta „oceniają nowe pytania egzaminacyjne z udziałem żywej publiczności przed ich publicznym wydaniem. Dane zebrane podczas testów beta są wykorzystywane do wyboru najlepszych pytań do egzaminu produkcyjnego, a także do eliminacji pytań, które są niejednoznaczne, zbyt łatwe lub zbyt trudne, lub nieprzydatne w ocenie wiedzy uczestnika”. Egzaminy beta mogą być dobrą okazją do uzyskania certyfikatu po znacznie niższych kosztach (zazwyczaj 50 USD).
Bazując na poprzednich wydaniach egzaminów Java, zgaduję, że egzamin Java 9 Programmer I zostanie wydany w styczniu 2018 r.
Do I Need to Pay for Training in order to Get My Java Certification?
Odpowiedź brzmi nie. Wszystko, czego potrzebujesz, aby przygotować się do egzaminu to dobra książka i symulator do ćwiczenia pytań egzaminacyjnych. Jak to zostało powiedziane w samym blogu Oracle Certification Program, szkolenie nie jest wymogiem dla certyfikatów Java (OCA i OCP).
Nigdy nie polecałbym ci płacić za szkolenie w klasie, ponieważ ten rodzaj szkolenia jest zazwyczaj bardzo drogi. Jednakże, jeśli nadal czujesz, że potrzebujesz pomocy, zawsze możesz poprosić swoją firmę, aby za nią zapłaciła. Z jednej strony, informując firmę o tym, że chcesz uzyskać certyfikat Java, pokażesz jej, że zależy Ci na Twoich umiejętnościach, a tym samym na Twojej pracy. Z drugiej strony, jeśli firma za to zapłaci, to nie tylko wesprze rozwój Twojej kariery, ale także przyniesie wartość samej organizacji poprzez podniesienie umiejętności jej pracowników. Zapytaj więc swojego menedżera lub Dział Kadr. Co masz do stracenia?
Wciąż mam więcej pytań
Jeśli wciąż nie jesteś pewien, czy uzyskać certyfikat Java, sprawdź sekcję Dlaczego warto uzyskać certyfikat? na mojej stronie internetowej. Opisuje ona potencjalne korzyści, jakich można się spodziewać po uzyskaniu tego certyfikatu, a także (i być może nawet ważniejsze) czego nie należy się po nim spodziewać. Możesz również sprawdzić referencje niektórych osób, które przeszły przez proces uzyskiwania certyfikatu, mówiąc o dobrych i złych stronach tego procesu.