A może SCJP?

Ano może. Zaczynam się dość poważnie nad tym zastanawiać. Dlaczego? Już piszę…

Moje odczucia są przede wszystkim podyktowane moją dotychczasową ‘karierą’ (jak ja nie lubię tego słowa) jako programista PHP. Jak wygląda nauka tego języka raczej nie trzeba nikomu tłumaczyć – dynamiczne coś, które do tego działa nawet jeśli napisany kod woła o pomstę do nieba. Zasadniczo jest on również pierwszym językiem programowania dla wielu osób, co również nie dziwi zważywszy na ‘atrakcyjność wizualną’ (tzn. można stworzyć choćby stronkę swojej klasy czy osiedla, konsolowe komunikaty w czystym C są mniej porywające i nie da się na nie podrywać panienek :).

PHP jest też o tyle ciekawe, że wymaga zapoznania się (choćby podstawowym) z całą otoczką programowania dla WEB2.0, czyli (pomijając już HTML&CSS) frameworkami JavaScriptu (plus cała technologia AJAX), serwerami (choćby tym Apaczem w wersji minimalnej), konsolą linuxową (przydaje się czasem), a także bazami. I ta wiedza z początku rzecz jasna nikła, z czasem stale się zwiększa, oparta nie tylko o przeczytane lektury, ale głównie o doświadczenie zawodowe. I dobrze. Problem polega jednakże na tym, iż często język zostaje niejako w tyle. Bo kiedy już opanuje się słowa kluczowe, najczęściej używane konstrukcje, zapamięta się tak na oko ze 30 podstawowych funkcji języka, wówczas zasadniczo następuje zatrzymanie i brak bodźców do dalszej nauki. Nie każdy lubi czytać opasłe changelogi z kolejnego ‘dziesiętnego’ wydania kompilatora. Nie kazdy też chce spędzić kilka dni/tygodni/miesięcy na zapoznawaniu się z olbrzymią listą funkcji zaimplementowanych w języku. Nawet jeśli już nie funkcji, to nawet elementów języka, których się nie zna, a poznane na przykład przy nauce innego języka wydają się być szalenie genialne.

Nie chce się, cóż począć? Ano można począć tyle, iż na samym początku nauki nowego języka rozejrzeć się za możliwością poznania go właśnie poprzez certyfikat. Uprzedzając pytania i zarzuty – wiem, że istnieje ZCE, ale blog jest o Javie i w tej technologii zamierzam się dalej rozwijać. Dlatego też korzystając z doświadczenia zaczynam bardzo poważnie zastanawiać się nad podejściem do SCJP (w najnowszej wersji rzecz jasna). Oczywiście jak to w życiu wszystko ma swoje plusy i minusy, oto lista:

Plusy Minusy
‘zmuszenie’ do zapoznania się z całością języka, spojrzenie na niego z szerszej perspektywy tak naprawdę to zabawa ‘kto wynajdzie błąd w maksymalnie pokomplikowanym kodzie’
możliwość poznania zagadnień, z którymi na co dzień raczej się nie styka no i skoro się nie styka to po cholerę się nimi zajmować?
mile widziane w CV zależne tylko od widzimisię rekrutera
ale jak już masz to uznają to na całym świecie z drugiej strony jak idziesz robić za granicę to raczej pikuś nie jesteś i coś tam umiesz
zdobycie konkretnej wiedzy, lepsze to, niż granie w CSa z drugiej strony czy na pewno przydatnej?

Tyle mniej więcej można napisać – posiłkując się wujkiem Google. Jednakże mnie chyba najbardziej rusza w tym wszystkim aspekt motywacyjny – po prostu chciałbym udowodnić sobie, że jestem w stanie nauczyć się czegoś w dziedzinie programowania, a następnie poddać to obiektywnej ocenie. Nie kończyłem studiów kierunkowych – zatem byłby to całkiem niezły fun. Z drugiej strony – ileż to ciekawych technologii nie będzie mi dane przez te przygotowania poznać (no albo znacznie się to opóźni). Przy założeniu, że myślę o potencjalnym poszukiwaniu pracy w Java-landzie za kilkanaście miesięcy, nie wiem czy zysk z SCJP zrekompensuje mi poświęcony na niego czas.

Zdaję sobie sprawę, iż spora część z czytaczy posiada ten certyfikat, albo mocno o nim przemyśliwuje – poprosiłbym zatem o komentarz jakowyś, albo też mejla, czy warto w mojej sytuacji podejmować się tego wyzwania? Zobaczę co napiszą mądrzejsci ode mnie – może po zakończeniu przygody z Grailsami wezmę się za ‘powrót do korzeni’.

Dla zainteresowanych podaję kilka linków, pod którymi można znaleźć ciekawe informacje dotyczące egzaminu, a także materiały do nauki:

Advertisements

2 thoughts on “A może SCJP?

  1. Darek Ludera

    Widze, ze z Grailsami sobie radzisz, wiec z Java moze byc tylko lepiej. Sierra swoja ksiazke do SCJP kieruje takze dla ‘poczatkujacych’. Mysle ze ksiazkowy duet Eckel + Sierra + własne pisanie i kompilowanie przykladow z kazdego moze zrobic znawce kompilatora Javy:) Nie jest zreszta chyba niczym nowym, ze ludzie ucza sie w firmach nowych technologii bo oprocz daty oddania projektu wisi nad nimi termin certyfikatu z tej technologii.

    Takze dalszego zapalu do pracy zycze;)

  2. mati

    Odnośnie Twojej listy plusów i minusów:
    1. To nie tylko szukanie błędów kompilacji. Tak było kiedyś, teraz jest sporo o OOP, wielowątkowości, poznaniu API.
    2. Faktycznie poznasz rzeczy, z którymi się na co dzień nie stykasz. Robić to będzie za Ciebie kompilator, IDE i biblioteki. Jednak wiedząc co jest pod maską, będziesz to lepiej kontrolował i poradzisz sobie, jak pojawią się poważniejsze problemy (a jak się robi duże projekty, lub poprawia stare, to często jest to wiedza konieczna).
    3. W CV wygląda dobrze, ale ja dostawałem prace zanim miałem SCJP (po zdaniu jeszcze pracy nie zmieniałem ;). I tak większość firm zrobi dodatkowo test “skoro ma SCJP, to sobie bez problemu poradzi” 🙂
    4. Faktycznie jest na całym świecie rozpoznawane, ale patrz pkt. 3.
    5. Na pewno przydatnej. Spotkałem się w pracy z ludźmi, którzy robili “aplikacje J2EE”, więc myśleli, że znają Jave, bo znają troche servlety i JSP. Ale jak przyszło do poprawiania małego wielowątkowego fragmentu kodu, to musiałem im robić mały wykład.

    Jak chcesz znać dobrze Jave, to zrób SCJP. Wiedza jest przydatna, chociaż czasami nie widać bezpośredniego zysku. SCJP jest też potrzebne do kilku dalszych, bardziej wyspecjalizowanych egzaminów. Ja podszedłem do egzaminu w styczniu, mimo że dużo wcześniej już w Javie programowałem. Mimo tego uważam, że było to bardzo dobre posunięcie.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s