Kierunek – Babilon

Pewnie zastanawiacie się co ma wspólnego Babilon z PHP i programowaniem w ogólności. Ktoś może sobie pomyśleć, że chodzi może o kryptonim jakiegoś nowego frameworka, albo też odkryłem w sobie talent prozaiczny i zamierzam pisać fantasy osadzone w czasach Hamurabiego.

Nic z tych rzeczy. Ci, którzy mnie znają bliżej, wiedzą, że często mówiłem o Javie i jej ekosystemie jako o „Babilonie”. Skojarzenie z tym historycznym państwem jest jak najbardziej na miejscu – państwo Babilońskie miało bardzo złożoną strukturę i było bardzo zbiurokratyzowane (prawie jak dzisiejsza Unia Europejska ;P ). Taka jest też Java – masa bibliotek, frameworków i mało ekspresywny język, w którym za każdym razem trzeba napisać masę „boilerplate code” – czyli powtarzalnego kodu, który musi być wklepany, żeby wszystko działało.

O co więc chodzi z kierunkiem ? Żeby się dużo nie rozwodzić to powiem tyle, że zmieniam pracodawcę. Dzisiaj podpisałem umowę z firmą Sabre Holdings, która jak może wiecie albo i nie, jest jak się to mówi „Java shopem”. Większość oprogramowania tworzy się tam w Javie z dodatkiem Javascriptu i HTML dla webowego frontendu. Taka też będzie moja praca na stanowisku Java/Web developer i głównie będę używał wspomnianych trzech języków.

W związku ze zmianą pracy nie będę miał okazji na co dzień programować w PHP. Wielu może się dziwić takiej decyzji, Radek Benkel np. zapytał mnie skąd ta decyzja, bo język coraz bardziej się „ogarnia”. Śpieszę więc z wyjaśnieniem.

Pierwszą kwestią, która mnie skłania do zmiany języka jest rodzaj projektów jakie się w nim tworzy. Powiedzmy sobie szczerze, rynek jest nasycony agencjami interaktywnymi, które głównie specjalizują się w robieniu „stronek”, głównie w celach marketingowych oraz informacyjnych. Blogi, fora dyskusyjne, CMS-y, mailing, na tych kilku hasłach generalnie kończy się repertuar tej klasy firm. Oczywiście zdarzają się też inne rzeczy, czasami jakieś dedykowane aplikacje, ale jest to generalnie mniejszość. W pewnym momencie człowiek ma dość „klepania” tego samego i szuka odmiany.

Drugą kwestią jest organizacja pracy, w większości firm „PHP-owych” w których pracowałem nie było żadnego sformalizowanego procesu wytwarzania oprogramowania. Minimalne specyfikacje, opierające się na makietach, niejasne oczekiwania klienta, brak projektantów czy architektów. Mam wrażenie, że firmy używające Javy, będące w dużej części korporacjami, są pod tym względem lepiej zorganizowane.

Trzecią kwestią są oczywiście zarobki i popyt na programistów. Ofert pracy w Javie jest naprawdę wiele. Co więcej nie są to oferty typu „murarz, tynkarz, akrobata” gdzie firma szuka gościa, który zrobi grafikę w Photoshopie, potnie ją do HTML/CSS w sposób idealny, oprogramuje, postawi na serwerze i jeszcze weźmie za swoją robotę 50 zł. Konkretnych ofert jest na prawdę mało.

Co do zarobków to różnica jest dość istotna. Realnie zarobki Javowca zaczynają się tam gdzie kończą PHPowca.

Podsumowując zmieniam pracę i zmieniam technologię, żeby się rozwijać. Żeby zyskać inny punkt widzenia na pewne sprawy. Myślę, że w naszym zawodzie jest to bardzo ważne. Co więcej, jako, że w przyszłości chce założyć własną firmę, uważam, że głęboki przegląd przez różne technologie obecne na rynku może się wydatnie przełożyć na mój sukces.

Na koniec chciałbym również uspokoić wszystkich, który namiętnie czytają mojego bloga (:P). Dalej zamierzam pisać o PHP i myślę, że będzie to nawet ciekawsze pisanie, bo będę mógł przy okazji porównywać go z Javą i innymi technologiami obecnymi na JVM. Nie jest to więc pożegnanie, a zapowiedź nowego rozdziału, nowej jakości 😉

  1. Darius pisze:

    Napisz też o Javie, bo jest to interesujący język, a ogarniętych materiałów na temat EE niewiele widziałem 😉

    I trudno mi się nie zgodzić, mimo, że koksem w PHP jeszcze nie jestem to rynek jest irytujący tak jak to napisałeś.

  2. @Wojtek: Wynika z tego, że nie sama technologia Ci nie pasuje, ale sposób pracy z nią. Masz do tego pełne prawo, w związku z czym dalsze pytanie „dlaczego?” chyba nie ma sensu.

    Mnie interesuje tylko jedna kwestia – „Realnie zarobki Javowca zaczynają się tam gdzie kończą PHPowca.” – mógłbyś powiedzieć coś więcej na ten temat? Bo ja siedzę w PHP, a mam kilku kolegów, którzy siedzą zarówno w Javie, jak i .NET i nie mam się czego wstydzić jeśli chodzi o zarobki. Mógłbyś podać chociaż widełki kwot, w jakich się w tym przypadku poruszamy, zarówno po stronie PHP, jak i Javy?

  3. pc pisze:

    Można wiedzieć jakie technologie są wymagane w webdevelopingu Javy? Na pewno Hibernate, Java Servlet, coś więcej?

  4. Darius pisze:

    @pc Ja szukam po ofertach pracy co najczęściej się powtarza :)

  5. trzymam kciuki za nowa robotę i dalszy ciąg bloga :)

  6. Kamil pisze:

    Nieźle, ciekawa zmiana.

    Rynek PHP jest już przesycony, a sam język w miarę łatwy do ogarnięcia. Skutkiem tego jest mniejsze wynagrodzenie, a jeśli życzymy sobie za dużo to pracodawca może bez większych problemów poszukać kogoś w nasze miejsce.

    Enyłej, powodzenia w dalszym rozwoju 😉

  7. @pc myślę, że na pewno Spring i Hibernate reszta zależy od tego co firma konkretnie robi

  8. @Tomasz Kowalczyk, oczywiście nie mogę nic powiedzieć o konkretach jeżeli chodzi o moje (klauzule etc), ale z tego co zauważam, to maksimum dla Pehapowców w Krakowie i okolicach to około 5000 zł netto, stawki natomiast zaczynają się od 1500 zł netto dla początkujących. Jeżeli natomiast chodzi o Javę, to maksimum będzie się plasować powyżej 10 tys złotych (nie jestem w stanie określić ile dokładnie) a minimum w granicach 2500 – 3000 zł netto dla początkującego w korporacji.

  9. @Jarek Zieliński, Kamil dzięki :)

  10. Sebastian Tarach pisze:

    Chętnie czytuję twojego bloga i z zaciekawieniem pochłonę na pewno twoje wpisy o Jawce również. :)

    Powodzenia

  11. scanner pisze:

    Pozostaje życzyć powodzenia.
    Oczywiście że Java jest lepiej opłacana i racji większej „powagi” języka wymusza bardziej poważne podejście do projektów i cen/zarobków. Na szczęście PHP coraz częściej jest dostrzegane przez duże korporacje jako dobre narzędzie pracy i powolutku, ale jednak udaje się nam (nie tylko mentaxowi, ale też wielu innym firmom) pokazać, że to nie tylko technologia do blogów i małych sklepów :)

    Ciekawie na pewno będzie poczytać o Twoich przemyśleniach na temat różnic w codziennym obcowaniu z jednym i drugim języku. Powodzenia :)

  12. theoden pisze:

    Kiedyś trzeba zacząć zarabiać. Zgadzam się ze stwierdzeniem o poziomie zarobków i z własnego doświadczenia mogę je potwierdzić.Sam wyszedłem ze środowiska PHP. Można w nim zarobić ale raczej nie pracując u kogoś na etacie, a na własnej działalności.

    Java jak każdy język ma swoje plusy i minusy. Nie jest językiem najlepszym do wszystkiego, ale ma ugruntowaną pozycję na rynku.

    Plusem jest tez fakt że aby w niej coś zrobić trzeba być trochę bardziej ogarniętym niż samym PHP.

    Nie chce powiedzieć że samo PHP jest złe. Nadal jestem jego zwolennikiem. Sam zobaczysz jak niektóre rzeczy w javie robi się w idiotyczny sposób w porównaniu do PHP.

    Jeżeli chodzi o rozwiązania webowe to powiedzmy sobie szczerze: jak ktoś wie co robi to jest w stanie stworzyć porządną aplikacje w PHP, której nie będzie musiał się wstydzić względem javy. W ostatnich latach pojawiło się wiele ciekawych rozwiązań w postaci frameworków: Yii, Symfony 2 (jeszcze gorące) które mają porządna architekturę.

    Podsumowując WSZYSTKO ZALEŻY OD CIEBIE DROGI PROGRAMISTO:)

  13. singles pisze:

    Wojtku, nie zaskoczyłeś mnie w żadnym momencie, bo właśnie takich powodów się spodziewałem :)

    @Kamil „Rynek PHP jest już przesycony, a sam język w miarę łatwy do ogarnięcia”.

    „Programistami” PHP może i jest przesyconych, ale programistów w pełnym znaczeniu tego słowa brakuje – ciężko znaleźć dobrego developera, którego wiedza nie kończy się na mysql_query jako jedynym sposobie dostępu do DB. Szukałem całkiem niedawno, i aż się przykro robi.
    Podobna sytuacja jest z JavaScriptem – przychodzi facet i twierdzi że umie jQuery, JavaScript i w ogóle. A zapytasz go co to jest closure i na tym rozmowa się kończy.

    A że w Javie i .NET zarabia się sporo więcej? Tak niestety jest, bo przecież Java i .NET to są technologie niby wyższej rangi. A prawda jest taka, że i tam da się napisać gówniany kod. Jeśli weźmiemy wyznacznik „WTF per minute” jako wyznacznik natrafiania na gówniany kod, to proszę bardzo: http://www.webmonkey.com/2011/02/cussing-in-commits-which-programming-language-inspires-the-most-swearing/ (tak tak, PHP jest szare, to małe, na dole 😉

    Jednakże, życzę Tobie Wojtku powodzenia na nowej drodze (zawodowego) życia 😉

  14. majne pisze:

    Powodzenia na nowej drodze życia 😀

  15. @theoden, zgadzam się w 100%,
    @singles – to prawda, że programistów PHP w pełnym tego słowa znaczeniu jest mało, natomiast problem podstawowy leży w tym, że rekruterzy i pracodawcy nie potrafią oddzielić ziarna od plewu. Później sytuacja wygląda tak, że znając swoja wartość człowiek trafia na rozmowę kwalifikacyjną, rzuca jakąś cyfrę a pracodawca robi wielkie oczy i mówi znajomym, że jakiś „pojebanego” gościa dzisiaj przepytywał bo zażyczył sobie x złotych, a programista PHP nie może tyle zarabiać.

  16. @Wojciech Soczyński: Wiesz, pytam, bo pracuję nad całkiem sporymi projektami w PHP, jeden właśnie będę robił od zera, bo klientowi zupełnie nie śmiga wersja zrobiona w Ruby (!) i wcale nie mam takiego wrażenia, że jest to technologia tania i zarzucana w przypadku większych projektów. Fakt, może górne zarobki będą mniejsze, ale to nie znaczy, że aż trzeba się będzie tego wstydzić. ;] BTW. Nie uważam także, żeby na rynku był przesyt programistów PHP, bo jak mój Szef szukał kilku (Warszawa) do większych projektów, to się nagle okazało, że nikogo nie ma.

  17. Spawnm pisze:

    @Wojciech Soczyński – z tego co mówisz o zarobkach php vs java to różnica jest tylko w górnej granicy (lub nawet tutaj nie, kto wie? :>) bo gadanie o 1500 dla nowych phpowców to jakaś bajka(pokaż mi takie oferty, bo słyszę o nich od kilku lat ale jakoś nigdy nie znalazłem). Gdy zaczynałem pracę szukałem jej tak w większych miastach jak i w mniejszych i nigdy nie dostałem propozycji poniżej 2500zł. dodam że nie umiałem wtedy oop ;] A problemem była zmiana miejsca zamieszkania na którą się nie godziłem. (Lubie pracę w domu lub 5 min drogi od niego :)

  18. @Tomasz Kowalczyk, tak jak już było wcześniej wspomniane – programistów jest wielu, natomiast tych naprawdę konkretnych jest kilku i zwykle pracują w miejscach gdzie zaspokajają swoje ambicje. Nie uważam, że trzeba wstydzić się pisania w PHP. Oczywiście da się robić większe aplikacje i myślę, że w Warszawie np. jest popyt na dedykowane nietrywialne aplikacje zbudowane w oparciu o PHP. Natomiast tak jak mówiłem, w Krakowie większość firm to agencje interaktywne dlatego też projekty jakie dostają są takie a nie inne. Poza tym zdaje mi się, że również dlatego, że nawet te firmy, które tworzą aplikacje dedykowane w PHP wyrosły z agencji interaktywnych to kultura organizacyjna jeszcze nie jest na takim poziomie jak w typowych „software housach”.

    Co do wersji w Ruby to nie chce się wypowiadać bo może być wiele czynników dla których mu „nie śmiga”

  19. @spawnm – wszystko oczywiście zależy od twoich umiejętności, od tego jak potrafisz wypaść na rozmowie i kto Cię zatrudnia. To, że akurat ty nie dostawałeś takich propozycji to nie znaczy, że nikt ich nie dostawał. Ja pamiętam, że na początku zarabiałem w tych granicach. Natomiast jak widać, górna granica to już zupełnie inna bajka…

  20. theoden pisze:

    @Spawnm – nie zgadzam się z tym co mówisz o zarobkach: „to różnica jest tylko w górnej granicy”.

    Pierwsza lepsza praca jako java developer w warszawie, nawet jako junior da Ci lepsze wynagrodzenie niż w php-ie. Powód jest prosty: Java (SE, EE) itd. używają duże firmy/korporacje, instytucje min. Banki, Agencje Ubezpieczeniowe czy firmy z sektora TELCO. Nikt z nich póki co nie dał się przekonać do PHP-a i moim zdaniem nie da z prostych powodów:

    – maja już soft i ludzi w javie, .net etc. nikt nie będzie inwestował w kolejną technologie bo i po co.
    – liczba dobrych programistów php-a pozostawia wiele do życzenia
    – dużym firmom zależy na standardzie i jakości o który łatwiej w javie.
    – liczba narzędzi wspomagających development w javie jest ogromna
    – biblioteki i inne rozwiązania

  21. scanner pisze:

    @theoden: pamiętaj też o tym, że te duże Corpo coraz częściej wspierają się DZ’tami – a tu już ważna jest tylko wydajność Dostawcy i umiejętność skomunikowania systemów. A z tym dobrze napisany soft w PHP nie ma najmniejszego problemu :)
    Wszystkie instytucje z którymi współpracujemy są w ciężkim szoku, że nasze PHPowe toolsy robią nie dość, że to samo co ich wielkie Aplikacje, to jeszcze robią to szybciej, mają krótszy cykl wydawniczy. A to, że działają w przeglądarce na IE6 i w 800×600 na starym Celeronie to już w ogóle rewelacja.

  22. theoden pisze:

    @scanner Nie zamyka to jednaj problemu programistów, istniejącego softu i gotowych profesjonalnych bibliotek.

    Poza tym warto mieć na uwadze fakt iż czasem nie masz wyjścia w wyborze technologii nawet jako firma zewnętrzna. Ma być taka baza taka technologia bo my mamy ludzi od tego i koniec. Nie zawsze masz możliwość komunikacji po WebService etc.

  23. scanner pisze:

    Oczywiście, że nie – sam też szukając dobrych ludzi musiałem niektórych „wykradać” z innych firm. Soft na pewno momentami kuleje, szczególnie jeśli chodzi o generatory dokumentów (DOC, PDF, XLS…) na szczęście czasami zdarzają się perełki.

  24. vovo pisze:

    „Drugą kwestią jest organizacja pracy, w większości firm „PHP-owych” w których pracowałem nie było żadnego sformalizowanego procesu wytwarzania oprogramowania. Minimalne specyfikacje, opierające się na makietach, niejasne oczekiwania klienta, brak projektantów czy architektów. Mam wrażenie, że firmy używające Javy, będące w dużej części korporacjami, są pod tym względem lepiej zorganizowane.”

    Skąd ja to znam? O ile ma się do czynienia z kolejną prostą stronką – wizytówką, to nie ma to większego znaczenia. Zdarzają jednak sytuacje w firmie gdzie pracuję, że dostaje do zrobienia większy projekt (np. eksięgowość), a na starcie ma się kilka maili, rozmowę z szefem, ewentualnie skąpą notatkę.

    Co do poziomu programistów. Miałem okazje już widzieć twory, które w zamierzeniu mają służyć np. do masowej wysyłki SMS. W bazie numery telefonów trzymane są w varchar(100), wszystko leci wybierane z bazy w przedziałach czasowych bez żadnych transakcji, bez blokowania rekordu na czas wysyłki. Do tego „czysty PHP” + Smarty, bez żadnych komentarzy przy funkcjach, po prostu czarna dupa.

  25. @vovo – dokładnie o takich przypadkach mówię :), wkrótce zobaczymy, czy rzeczywiście korporacje mają się lepiej :>

  26. Artur Świerc pisze:

    Czasami „klepacze” są potrzebni, żeby Programiści mieli czas i spokój na tworzenie :)

    BTW: Gratuluję i zazdroszczę! Sam kiedyś chciałem zmienić branżę, ale dla programisty PHP bez doświadczenia komercyjnego w JEE jest to bardzo trudne.

    Dobrym rozwiązaniem jest zatrudnienie się jako programista PHP w firmie, w której są różne działy np .NET czy Java, wtedy można się łatwo przekwalifikować w obrębie jednej firmy.

    Co do zarobków, myślę, że jeśli ktoś jest dobry w tym co robi, to pieniądze się same ‚inkrementują’ na koncie :)

  27. Artur masz sporo racji, a jak chcesz się przekwalifikować to moim zdaniem wszystko zależy od chęci – jak się chce to się da :)

  28. Zyx pisze:

    O, witam kolejnego programistę PHP w klubie zawodowych javowców :).

    Cóż, niestety prawda jest taka, że rynek PHP sam sobie strzela w stopę. Oczywiście, rację ma scanner, że można w PHP tworzyć dobre i wydajne aplikacje, a także tworzyć je dobrze, ALE:

    1. firma musi wymiatać albo znaleźć sobie specyficzną niszę, gdzie agencje nie zajrzą,
    2. znalezienie dobrych programistów graniczy z cudem, a najczęściej są oni już wchłonięci przez kogoś.

    Głównym problemem są tu agencje oraz oczekiwania typowego klienta, który widzi jedynie grafikę, dzięki czemu można mu wciskać po kosztach największy chłam. Próbowałem realizować duże zlecenia w sposób bardziej zorganizowany, ale po prostu ceny konkurencji i stosunek możliwości finansowych do oczekiwań klienta jest taki, że to na dłuższą metę jest całkowicie nieopłacalne.

    Artur Świerc -> hehe, i tu się właśnie ujawnia wada pomysłu „po co iść na studia, kiedy mogę klepać stronki za kasę” :D. Ja się Javy nauczyłem na studiach, natomiast w większych firmach jest coś takiego, jak staż, gdzie przyjmują właśnie ludzi bez doświadczenia, aby takowe nabyli. I haczyk polega na tym, że staż adresowany jest do studentów, a wśród nich prym wiodą ci z informatyki…

  29. scanner pisze:

    Dlatego ja wyznaję zasadę, że Agencje z ich świecidełkami niech sobie idą swoją drogą, a mnie interesuje strefa aplikacji B2B i B2C (nie, nie sklepów).
    Owszem, nie mogę moim ludziom zapewnić dokładnie takich dochodów jak programistom z „poważnych” języków, ale też raczej nie głodują, a i kwoty przelewów stopniowo rosną.

  30. @scanner – „…moim ludziom…” brzmi co najmniej jak byś był hersztem bandy rozbójników ;P, a tak na poważnie, to myślę, że jeżeli chcesz żeby dobrzy programiści sami do Ciebie przychodzili to powinieneś postawić bardziej na działania PR, tak, żeby całe środowisko wiedziało, że twoja firma jest tą dla której praca jest największym wyróżnieniem i marzeniem (coś jak praca dla Google)

  31. scanner pisze:

    @Wojtek: PR pod względem kadrowym mi aż tak nie jest potrzebny – w zasadzie sami wyłapujemy ludzi, z którymi chcemy pracować (daleko nam do Corpo) i jak na razie po 6 latach musieliśmy się rozstać tylko z jednym z nich – więc reszta chyba jest zadowolona :)

  32. Artur Świerc pisze:

    @zyx, tutaj akurat nie wiem do kogo strzelasz podsuwając swój cytat. Fakt, pewnie jest wielu domorosłych programistów, którzy zaczęli i skończyli na PHP. Chodzi bardziej o niski próg wejścia języka, który zachęca, a później nie puszcza 😉

    U mnie w firmie na szczęście myślimy o rozwiązaniach mobilnych – głównie nastawiając się na androida. Dostrzegamy tu niszę na rynku, którą warto by wypełnić. W efekcie szefostwo zadowolone z podbijania rynku, a programiści z samorealizacji.

    @Wojtek/@Scanner – myślę, że jeśli pracodawca liczy się ze zdaniem programisty, to pracownik będzie zadowolony. Tutaj plusem Scannera jest to, że sam pisze/pisał i wie o co chodzi. Jeśli szef nie ma pojęcia o programowaniu, to z reguły liczą się dla niego tylko wyniki. Sprzedaje syf w pięknym opakowaniu – tak jak to ładnie Zyx napisał, klient widzi tylko grafikę. Szef nieznający się na programowaniu również widzi tylko grafikę 😉

  33. @Artur, jest jeszcze ta kwestia, że zdanie, zdaniem, ale ciekawe projekty nie są zależne do końca od pracodawcy – no chyba, że firma tworzy jakieś własne produkty.

  34. Zyx pisze:

    O firmie Scannera słyszałem – to jest jedna z nielicznych perełek, ale nic mi po niej, kiedy ona jest we Wrocławiu, a ja w Krakowie i wolę pracę w trybie biurowym, a nie zdalnym.

    Artur Świerc -> nie, to mi się tak nasunęło przy okazji tej całej dyskusji, jak poruszyłeś ten temat. Dla Ciebie ważna jest głównie informacja, że brak doświadczenia w Java EE nie jest absolutnie żadną przeszkodą. Firmy, które się tym zajmują, po prostu uderzają do studentów informatyki, proponując im programy stażowe i możliwość zdobycia takowego. Inna sprawa, że przynajmniej na moich studiach trochę tej przemysłowej Javy jednak było (Hibernate, jakieś RMI, CORBY, Maven, Spring itd.). Na dobrych informatyków w poważniejszych firmach jest niezaspokojony popyt. Jeśli wykażesz się im, że rozumiesz informatykę i umiesz programować, to oni Cię z reszty już doszkolą w ramach wdrożenia.

  35. Rodzyn pisze:

    Powodzenia Voy!

  36. Bart pisze:

    Sam programuję w PHP ponad 5 lat, i interesuję się ostatnio Java. Chętnie poczytam artykuły o tematyce PHP – Java: przejście z jednego języka na drugi, podobieństwa, różnice, zalety, wady, etc.

    Świetny blog!

  1. There are no trackbacks for this post yet.

Leave a Reply

Informuj mnie o odpowiedziach poprzez e-mail. Możesz również subskrybować wpis bez zostawiania komentarza.