Certyfikacja z Javy. Egzamin OCA i Moje Wnioski

bdabek.pl 3 lat temu

Istnieją różne sposoby na poszerzanie wiedzy w zakresie języka programowania: własna aplikacja, udział w projektach open source, kursy, szkolenia. Większość z tych metod nie wydaje jednak poświadczenia, iż faktycznie umiemy, to co umiemy. Na kursie czy szkoleniu mogliśmy przecież tylko być… Jak zatem potwierdzić, iż faktycznie umiemy, to co deklarujemy?


Jeżeli chodzi o poświadczenie wiedzy w zakresie Javy, to dobrą metodą jest uzyskanie certyfikatu. Aby otrzymać certyfikat, trzeba zaliczyć egzamin na odpowiednim poziomie — w tej chwili jest to 65% poprawnych odpowiedzi. Każde podejście to koszt około 1050 złotych (245$). Czy jest to najlepsza forma? prawdopodobnie nie. Szczególnie dlatego, iż sam egzamin nie pokazuje tego jak myślimy, a jedynie sprawdza naszą znajomość języka i jego specyfikacji, ale o tym w dalszej części artykułu.

Osobiście mam przeświadczenie, iż kilka osób decyduje się na pozyskiwanie certyfikatów (szczególnie w świecie Javy). Wydaje mi się, iż jednym z głównych powodów jest rozpowszechnione myślenie, iż certyfikaty niczego nie dają. Dają czy nie dają? Do tego wrócimy jeszcze we wnioskach…

W artykule będę zamiennie używał słów certyfikat / egzamin. Oba terminy odnoszą się po prostu do podjęcia próby zaliczenia egzaminu, czy też jego konsekwencji — uzyskania certyfikatu.

W dzisiejszym artykule:

  • Ścieżki certyfikatów – OCA, OCP. Co to?
  • Przygotowania do egzaminu OCA
  • Zapis na egzamin
  • Przebieg egzaminu

Ścieżki certyfikatów – OCA, OCP. Co to?

Certyfikacja z Javy posiada kilka możliwych ścieżek. Wybór zależy od potrzeby — naszej lub naszych przełożonych. Nie zawsze jednak możemy ot, tak wybrać dowolną ścieżkę certyfikacyjną. Niektóre z egzaminów wymagają spełnienia pewnych warunków wstępnych. Informacje na temat warunków znajdziesz np. na platformie edukacyjnej Oracle’a lub na stronie konkretnego egzaminu (wpisz nazwę egzaminu — requirements).

Jaka jest różnica między OCA a OCP?

  • OCA jest skrótem od Oracle Certified Associate. W świecie certyfikacji jest to egzamin identyfikujący się pod nazwą: 1Z0-808 – Java SE 8 Programmer I. w tej chwili (lipiec, 2022) egzamin składa się z 70 pytań, trwa 150 minut, kosztuje 245$ i aby go zaliczyć, trzeba poprawnie odpowiedzieć na 65% pytań.
  • OCP, to skrót od Oracle Certified Professional. Jego nazwa w systemie certyfikującym to 1Z0-809 – Java SE 8 Programmer II. Na lipiec 2022 egzamin posiada takie same parametry jak OCA, z wyjątkiem liczby pytań, która wynosi 85!

Zarówno OCA, jak i OCP są egzaminami sprawdzającymi naszą wiedzę w zakresie języka Java. Mają one jasno zdefiniowane bloki tematyczne, wokół których możemy się spodziewać pytań. Nie jest więc tak, iż zapisując się na egzamin, musimy znać Javę od A do Z. Moim zdaniem egzaminy OCA oraz OCP są najbardziej wiarygodnym poświadczeniem wiedzy w zakresie znajomości języka.

Ścieżka certyfikacji z Javy prezentuje się w sposób pokazany na obrazku poniżej. Jest to zdjęcie z jednego z popularniejszych serwisów dających dostęp do zestawów testowych (oczywiście za odpowiednią opłatą).

Zdjęcie z serwisu enthuware.com


Przygotowania do egzaminu OCA

Cały etap przygotowań podzieliłem na trzy sekcje: analiza, teoria oraz praktyka

Analiza

Na tym etapie nie wiedziałem jeszcze nic, o tym, jak wygląda ścieżka certyfikacyjna. Czym są poszczególne egzaminy, czego się spodziewać, od czego zacząć, jak i na który egzamin się zapisać.

Przed podejściem do egzaminu lepiej mieć wiedzę w tym zakresie. Pozwoli to prawidłowo zaplanować, co musimy powtórzyć, czego musimy się nauczyć, jak zapisać się na egzamin, co mieć ze sobą itp. Na całe szczęście nie trzeba wiedzieć aż tak dużo. Wybierając standardową drogę:

  1. Musisz wiedzieć, czym jest OCA, a czym OCP
  2. Jaki jest zakres zagadnień poszczególnych egzaminów
  3. Z jakich materiałów teoretycznych będziesz korzystać (więcej o tym w sekcji Teoria)
  4. Z jakich materiałów praktycznych będziesz korzystać (więcej o tym w sekcji Praktyka)
  5. Jak zapisać się na egzamin
  6. Jak przygotować się do egzaminu online (nie omawiam tego w tym artykule, ale o ile jesteś ciekawy/a, daj znać)

Jeżeli masz kogoś znajomego, kto przechodził podobną drogę, porozmawiaj z nim! W moim przypadku, kiedy podchodziłem do egzaminu, nie miałem nikogo, kto by przetarł przede mną drogę. Zatem, każdy z tych kroków musiałem eksplorować sam. Dzięki Bogu w Internecie jest ogrom informacji i znając język angielski (a podchodząc do egzaminu, powinieneś znać ten język) bez problemu znajdiesz odpowiedzi na większość pytań.

Teoria

Na tym etapie trzeba zapoznać się z materiałem obowiązującym na egzaminie. Może to być przeczytanie książki, która przygotowuje do konkretnego egzaminu lub kurs online. Ja zachęcam do wybrania książki! o ile sami przeczytamy i przerobimy zadania, to więcej zostanie w głowie niż po obejrzeniu kursu.

Należy pamiętać, egzamin a programowanie na co dzień, to dwa różne światy. Egzamin zawiera pytania pułapki i sprawdzi Twoją znajomość języka oraz składni. Pokusiłbym się choćby o takie stwierdzenie: egzamin postawi Cię w roli kompilatora.

Natomiast bez obaw! Egzaminy są przeprowadzane od wielu lat i, pomimo iż pytania się zmieniają, to struktura egzaminu NIE! I dlatego na przestrzeni lat powstało kilka dobrych materiałów do nauki. Z mojej strony polecę Ci książkę, z której sam korzystałem i jestem zadowolony: OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808. Książka typowo pod egzamin. Autorzy dają wiele wskazówek odnośnie do samego egzaminu. Piszą, na co zwracać uwagę i jakich pytań pułapek można się spodziewać. Co więcej, dla wszystkich z rozdziałów (jest ich 6), przygotowany jest zestaw pytań, sprawdzający w praktyce przeczytaną wiedzę. Dla osoby z kilkuletnim doświadczeniem książka wchodzi lekką ręką

Inną, również polecaną przez wielu lekturą jest OCA Java SE 8 Programmer I Certification Guide by Mala Gupta. Nie czytałem, więc nie mogę z czystym sercem polecić, ale patrząc na recenzje, uważam, iż będzie równie wartościowa.

Praktyka

Sekcja praktyczna, czyli rozwiązywanie zadań i przykładowych egzaminów próbnych.

Dzięki temu, iż kupiłem wcześniej polecaną książkę (), miałem dostęp do strony z testami. Są tam trzy próbne testy (60 pytań każdy), dodatkowo są tam też testy dla wszystkich z poszczególnych podrozdziałów książki.

Jednak to nie wydawało mi się to wystarczające i bałem się podchodzić do egzaminu wartego 1050 zł bez większej praktyki. W fazie analizy znalazłem kilka polecanych źródeł z przykładowymi testami. Najpopularniejszymi serwisami z pytaniami są:

Oba są relatywnie tanie — cena około 10$ za 400-500 różnorodnych pytań. Ja zdecydowałem się na Whizlabs. Testy na Whizlabs są ok. Nie mam niestety porównania z Enthuware. Na pewno plusem Whizlabs jest to, iż korzystamy z przeglądarki internetowej + do każdego pytania są krótkie wyjaśnienia, dlaczego powinniśmy wybrać daną odpowiedź a inne odrzucić. Choć przyznam, iż wyjaśnienia te czasami bywają bezwartościowe. Podam przykład, spolszczając co nieco i dodając szczyptę ironii: odpowiedź A jest błędna, ponieważ nie można tak robić. Mało wyjaśniający tekst, bo bardziej mnie interesowało, dlaczego tak nie można. Całe szczęście takich bezsensownych odpowiedzi nie jest wiele :). Po przeczytaniu wcześniej polecanej książki i przerobieniu pytań na Whizlabs zaliczyłem egzamin na 95%, więc moim zdaniem były to wartościowe źródła.

Inne materiały, nad którymi się zastanawiałem, podaję poniżej. Jednak ze względu na ich cenę, postanowiłem, iż wolę odpuścić.


Zapis na egzamin

TL;DR

Zapis na egzamin w styczniu 2021 w moim przypadku był uciążliwy. Pojawiło się kilka przeszkód, ale ostatecznie udało mi się zapisać… siedząc na słuchawce z konsultantem z UK (a po akcencie wnioskując to z Indii).


Znane mi opcje do zapisu były dwie:

  1. kupuję voucher/egzamin na stronie Oracle, a następnie wykorzystuję w systemie certyfikującym (pearson vue)
  2. kupuję egzamin bezpośrednio w systemie certyfikującym (pearson vue)

Pomyślałem, iż skoro to egzamin Oracle’owy, to kupię egzamin ze strony Oracle’a. Problemy zaczęły się już przy uzupełnianiu profilu… pola walidujące (imię, nazwisko, adres itp.) to porażka. Masz wszystko uzupełnione, wciskasz ok i dostajesz błąd walidacji. Mało tego, pole walidujące numer telefonu posiada wejście na 10 cyfr (pomijając prefiks, który jest wykrywany automatycznie na podstawie wcześniej wprowadzonych pól) i o ile podamy mniej (a polskie numery są 9-cyfrowe), to co się dzieje? Oczywiście mamy błąd walidacji! Mocno mnie to zirytowało i aż napisałem do supportu Oracle’a, jak mam uzupełnić to dziadostwo. Rozwiązanie, jakie podali: proszę wprowadzić 0 (zero) jako pierwszą cyfrę.

Przeszliśmy już przez wszystkie pola walidujące, mamy nasz voucher i kierujemy się do płatności. Na ten moment (przypominam, styczeń 2021) są tam 4 metody płatności — najwygodniejsza to oczywiście płatność kartą i tylko taką byłem zainteresowany, więc nie mogę opisać swoich wrażeń z pozostałymi. Wybrałem płatność kartą, uzupełniłem dane karty i aby móc przejść do samego zakupu, trzeba było potwierdzić kartę (lub to, iż jest się jej właścicielem, nie wiem). Ogólnie to przenosi mnie na stronę banku, loguję się, widzę płatność dla Oracle’a na 1 zł (!), potwierdzam płatność na telefonie. Strona banku reaguje, iż wszystko się udało i za chwilę powrócę do dalszych zakupów i… BAAAM, wywaliło mnie na pustą kartę. W pasku URL widzę tylko dziwny adres jakiegoś API i w zasadzie tyle.

Nic nie mogę zrobić. Na karcie widzę obciążenie na złotówkę (wisiało tak przez około tydzień) i tyle. Spróbowałem powtórzyć proces jeszcze 3x na innych przeglądarkach (nawet na wspaniałym IE!). Na żadnej się nie udało. Ale taki mały tip, iż w zależności od przeglądarki, pola walidacyjne działały lepiej (tam, gdzie obsługa flasha była włączona, tam działało to trochę lepiej). O łał… Trochę ponarzekałem, a dopiero przechodzimy do samego systemu certyfikującego — perason vue. Postaram się bardziej streszczać.

W tym przypadku, pola walidacyjne, wprowadzanie numeru telefonu, itp. było o niebo prostsze! Niestety, był ten sam problem z płatnością. Potwierdzasz płatność i dostajesz przekierowanie na pustą stronę. Byłem już zirytowany tym wszystkim i napisałem maila do supportu, jak mam się zapisać na ten egzamin, bo sam nie umiem. Powiedzieli, aby kontaktować się z ich obsługą, podali numer telefonu (numer w UK, bo nie mają wsparcia w Polsce) i godziny pracy. Dzwonię… Standardowa infolinia, automat coś gada i wybieram odpowiednie przyciski. Po kilku wciśnięciach i kolejnych kilku minutach oczekiwania w kolejce w końcu łączy mnie z jednym z konsultantów wspierających sekcje Oracle.

Udało mi się zapisać na ten egzamin za 5 telefonem. Ogólnie całe flow polega na tym, iż podajesz swoje dane i mówisz, co chcesz, dlaczego nie możesz sam tego zrobić i oni wprowadzają wszystkie dane za Ciebie. Ale dobra… dlaczego dopiero za 5 razem?? Jeżeli coś im nie działało w systemie, to się rozłączali! Przykład: przeszedłem z gościem przez całe flow, doszliśmy do płatności. Gościu mi mówi, iż system akurat im leży, żebym poczekał 4-5 minut i wtedy spróbujemy. Po 5 minutach odezwał się, iż dalej nie działa i żebyśmy jeszcze chwilę poczekali. Czekam, czekam… cała rozmowa trwa już 20 minut i nagle słyszę BIP, gościu się rozłączył. A tylko przypomnę, iż to rozmowa z numerem z UK, która nie jest specjalnie za tania…

Dobra rada dla każdego, kto musi dzwonić za granicę. Używajcie Skype’a, wychodzi o wiele taniej (lub za darmo, jak się w dobrą promocję trafi).


Przebieg egzaminu

Ten artykuł i tak wyszedł spory, więc w tej sekcji postaram się pisać krótko i zwięźle. Ja podchodziłem do egzaminu online, więc naturalnie ten proces będę opisywać.

Wszystkie przydatne informacje co do samego egzaminu można było znaleźć na tej stronie. Mnie ciekawił bardziej proces weryfikacji przed przystąpieniem do egzaminu i jak to przebiega. Na oficjalnych stronach nie mogłem nic znaleźć, ale jest YouTube :). Poniżej podsyłam video, które przedstawia, jak wygląda proces weryfikacji.

W kwesti samego egzaminu nie było tu nic nadzwyczajnego. Dostajesz pytania i je rozwiązujesz. Egzamin posiada różne typy odpowiedzi — jednokrotnego lub wielokrotnego wyboru. o ile pytania są wielokrotnego wyboru, to w pytaniu jest jasno określona ilość poprawnych odpowiedzi (nie da się zaznaczyć większej ilości). Wszystkie pytania są zamknięte.

Kończąc egzamin, nasz wynik (procent poprawnych odpowiedzi), jest przedstawiony zaraz po zakończeniu. A więc wciskasz Finish i za 10 sekund wiesz, czy egzamin jest zaliczony, czy nie.


Podsumowanie

Egzamin zaliczyłem z wynikiem 95% – myślę, iż to jest całkiem ok. Czy warto było wydawać pieniądze na egzamin? W moim przypadku przenosiło się to bezpośrednio na wynagrodzenie, więc dla mnie było warto. Oprócz tego bardzo często firmy oferują pokrycie kosztów, więc czemu by nie spróbować za pieniądze pracodawcy? Dodatkowo mam certyfikat, który dla ewentualnych, przyszłych klientów już coś mówi (co prawda samym OCA może lepiej się nie chwalić, ale lepszy rydz niż nic). Mogę też wpisać coś dodatkowego do CV (o ile potrzebuję). Oprócz kwestii biznesowych, przygotowanie do egzaminu pozwoliło powtórzyć i utrwalić podstawy.

Idź do oryginalnego materiału