Przejście z PHP na Java

0

Hej, od jakiegoś czasu zastanawiam się nad przejściem na Javę. Zawodowo programuję od niedawna, ale zawsze było to moje hobby. Miałem szczęście trafić Od razu do firmy, gdzie stawia się mocno na jokość kodu i ogólnie pracujemy z dużym oprogramowaniem. Tak więc Docker, Jira, CI nie są mi straszne. Ograniam linuxa, podstawy JS, relacyjne bazy danych ( + zaczynam zabawę z NoSQL). Dość swobodnie czuję się w OOP rozumiem zasady typu "favor composition over inheritance", wszelkie KISS/DRY, SOLID itp. Nie twierdzę, że jestem ekpertem, bo człowiek się uczy całe życie, ale jestem w stanie pracować z wiekszym kodem i go nie zepsuć ;-) Na pewno brakuje mi jeszcze expa, ale ogólnie w pracy zbieram dobre recenzje i szybko się uczę. Znam też przyzwoicie angielski.

Mam wrażenie, że w PHP niestety jest "szklany sufit" jeśli chodiz o zarobki. Myślę, że w ciągu 2 lat dojdę do kwot rzedu 10k na fakturze i potem już raczje będzie ciężko o większe podwyżki. Obserwując rynek ogłoszeń w JAVIE dość łatwo dojść do kwot 10-15k, a stack wcale nie jakiś dużo większy. Teraz zarabiam 6k więc jak sie przekwalifikowywać to jak najszybciej, bo potem już będzie spadek zarobków bolał.

I tu rodzi się pyanie - ile czasu potrzebuje ogarnięta osoba aby przejść z PHP na JAVĘ na tyle by na fakturze mieć te 6-7k (niestety nie mogę sobie pozwolić na staż bo dzieci muszą jeść ;) ). Ciągnie mnie do Javy, bo to taka matka OOP, ale trochę onieśmiela mnie stack technologiczny pojawiajacy się w ogłoszniach - tj. sporo nowych bibliotek do opanowania więc próg wejścia aby zacząć robić "cokolwiek" jest spory. Niby w PHP do połowy tych bibliotek są odpowiedniki, programuję w oparciu o techniki z Javy (OOP uczyłem się głownie z książek/materiałów do Javy) itd, ale jednak trudno zakładać że w tydzień opanuję takiego Springa ;-) Z drugiej strony nie wiem co mają na myśli pracodawcy bo znać dane rozwiazanie można na wielu poziomach - nie wiem jakiej znajomości oczekuję sie np. od juniora, bo być może znając alternatywne rozwiązanie w PHP dość szybko ogarnę rozwiązanie z Javy na tyle aby móc wpisać sobie je w CV.

Tak więc pytanie ile realnie może zająć przejście PHP -> JAVA zakładając, że poświęce na to ~15-20h tygodniowo i celem jest posada juniora z stawką ~6k netto na fakturze (interesuje mnie szczególnie Wrocław lub Poznań być może Trójmiasto, na bank nie Warszawa).

0

Daj spokój z Java. Zanim uruchomisz program to ci wąsy wyrosną. Poza tym Java nie rozni sie od PHP wiec jesli jak mówisz znane ci jest OOP to ile czasu moze ci zajac przejscie na jave ? nie wiem godzine moze dwie , zainstaluj tylko IDE do javy i to wszystko co potrzebujesz. Ale jesli chcesz kodowac w jezyku ktory ma akurat najwyzsze stawki to ci szczerze wspolczuje :)

1

Ojtam ojtam ;-) Przecież nie ma nic złego w szukaniu opcji na lepsze zarobki. Do Javy ciągnie mnie nie tylko dlatego, że lepiej płacą (ale jest to ważny argument), ale także dlatego, że w tym języku pisze się duże opgrogramowanie, co jest (dla mnie) ciekawym wyzwaniem. W PHP oczywiście też można pisać duże rzeczy, ale stawki są nieporównywalnie niższe więc skoro oba języki mi się podobają to czemu miałbym się trzymać kurczowo PHP. (PS rozważam jeszcze Ruby jako alternatywę).

Co do pisania kodu w Javie to ten etap już mam za sobą - umiem napisać prosty programik konsolowy i go skompilować - tak jak piszesz osoba pisząca OOP w PHP taki program napisze bardzo łatwo, bo 2/3 składni jest identyczne i zasady też są podobne (obecnie PHP czerpie garściami z Javy). Ale ogarnąć język to jedno, a ogarnąć biblioteki to co innego - w PHP też przecież składnia języka to1% drogi do celu. Dlatego zastanawiam się czy przekwalifikowanie jest realne.

0

facebook jest duży i napisany w php :) co prawda używają HipHopa ale to nadal nie Java tylko C. Piszac kod piszesz i tak male kawalki, klasy, metody, api nie ma znaczenia czy sie pisze dla duuuzej aplikacji czy zrobisz 20 malych apek. Co innego administracja baza danych z tyloma klientami czy administracja serverami to wtedy skalowanie aplikacji ma znaczenie ale nawet i oni nie moga powiedziec ze wola zarzadzac duzym czy malym systemem. komenda ta sama. Jestes jak pracownik w McDonaldzie, nakladasz tylko mieso do bulki nic wiecej. inni robia inny kwalek bo latwo takie osoby wymienic.

0

20h tygodniowo? Będzie ciężko...

0

Czegoś tu nie rozumiem. Ogarniasz "stawia się mocno na jokość kodu i ogólnie pracujemy z dużym oprogramowaniem. Tak więc Docker, Jira, CI nie są mi straszne. Ograniam linuxa, podstawy JS, relacyjne bazy danych ( + zaczynam zabawę z NoSQL). Dość swobodnie czuję się w OOP rozumiem zasady typu "favor composition over inheritance", wszelkie KISS/DRY, SOLID itp" i chcesz przejść do Javy, gdzie większość ofert to klepanie jakiegoś starego gówna zamiast wybrać jakiś normalny język? Jak pisałeś w PHP to pewnie robiliście pewnie jakieś nie za duże apki czyli ze 2-3 na miesiąc, więc teraz powodzenia trafisz do utrzymywania 10-letniego magazynu. Właśnie dlatego w Javie jest niezła kasa, bo gdyby zarobki były mniejsze to nikt by się nie chciał w tym babrać.

Z drugiej strony chyba za dobry nie jesteś, albo mieszkasz w małym mieście, bo jak patrzę tutaj justjoin.it/all/php to trochę się to rozmywa z Twoim szklanym sufitem. W dodatku uważasz, że Spring jest trudny, a przecież pełno bootcampowców w nim robi.

Obserwując rynek ogłoszeń w JAVIE dość łatwo dojść do kwot 10-15k, a stack wcale nie jakiś dużo większy

Tu bym powiedział nawet, że żeby PHP było używalne to ten stack musi mieć większy.

0

facebook jest duży i napisany w php :) co prawda używają HipHopa ale to nadal nie Java tylko C

JVM jest napisany w C++, więc summa summarum wszystko jest napisane w C++ </ironia>

Facebook jest napisany w PHP Hacku ( https://hacklang.org/ https://hhvm.com/blog/2018/09[...]p-support-future-of-hack.html https://www.cuelogic.com/blog[...]-using-php-by-still-using-php ), Javie, C, C++, Erlangu i pewnie szeregu innych języków. Polecam chociażby przejrzeć ich publiczne repozytoria: https://github.com/facebook Raczej nie da to dobrego oglądu na to w czym mielone jest najwięcej danych w Facebooku, ale można się spodziewać, że Java, C i C++ grają tu dużą rolę.

Weźmy pod uwagę Javowy framework do obliczeń rozproszonych: https://hadoop.apache.org/
Na stronie https://dzone.com/articles/how-is-facebook-deploying-big-data jest napisane:

“Facebook runs the world’s largest Hadoop cluster" says Jay Parikh, Vice President Infrastructure Engineering, Facebook.
Basically, Facebook runs the biggest Hadoop cluster that goes beyond 4,000 machines and storing more than hundreds of millions of gigabytes.

Javofobi pewnie będą smutni, że ich dane w Facebooku są mielone głównie przez Javowy framework.

0
masterO napisał(a):

facebook jest duży i napisany w php :) co prawda używają HipHopa ale to nadal nie Java tylko C. Piszac kod piszesz i tak male kawalki, klasy, metody, api nie ma znaczenia czy sie pisze dla duuuzej aplikacji czy zrobisz 20 malych apek. Co innego administracja baza danych z tyloma klientami czy administracja serverami to wtedy skalowanie aplikacji ma znaczenie ale nawet i oni nie moga powiedziec ze wola zarzadzac duzym czy malym systemem. komenda ta sama. Jestes jak pracownik w McDonaldzie, nakladasz tylko mieso do bulki nic wiecej. inni robia inny kwalek bo latwo takie osoby wymienic.

Kurde z mojej perspektywy tak to nie wygląda. Pisałem małe popierdółki, teraz pracuję z dużym kodem i jednak wolę to drugie. W małym kodzie jest bardzo duża powtarzalność - robisz wiele trywialnych rzeczy. W dużym kodzie pracujesz na znacznie większej abstrakcji, trzeba zwracać uwagę na jakość kodu znacznie bardziej niż w małych apkach żeby kolega za rok nie stracił pół dnia na zrozumienie Twojego kodu. Wreszcie dochodzi kwestia skomplikowania, gdzie często trzeba się wgryzać w system. Pracując na małych rzeczach bardzo dużo pisałem, teraz mam współczynnik 10:1, gdzie 10 to analiza kodu, a 1 to pisanie nowego. Mi to po prostu bardziej odpowiada. Lubię poprawiać swój kod, refaktorować, wymyślać nowe schemty rozwiązań, uczyć się nowych rzeczy. Widzę ile nauczyłem się pracując z dużym kodem - teraz gdy wracam do małych apek wszystko wydaje mi się takie trywialne i proste. W Javie mnie pociąga to, że tam są jeszcze większe rozwiązania i jeszcze więcej tej abstrakcji. Niektórzy się śmieją z Javy, że tam nawet najtrywialniejsze rzeczy zaczyna się od pisania interfejsów, fabryk itp. ale mi takie podejście odpowiada.

Pinek napisał(a):

20h tygodniowo? Będzie ciężko...

I tego się właśnie obawiam ;-( Miałem nadzieję, że w pół roku da się dojść do do poziomu aby móc gdzieś aplikować.

Wielki Szewc napisał(a):

Z drugiej strony chyba za dobry nie jesteś, albo mieszkasz w małym mieście, bo jak patrzę tutaj justjoin.it/all/php to trochę się to rozmywa z Twoim szklanym sufitem. W dodatku uważasz, że Spring jest trudny, a przecież pełno bootcampowców w nim robi.

Zdecydowanie nie jestem dobry (jeszcze) ;-) Tak jak pisałem mam małe doświadczenie komercyjne, przez co w pewnych obszarach jest (moim zdaniem) całkiem OK i nie odstaję od bardziej doświadczonych kolegów, ale z drugiej jeszcze brakuje mi w niektórych rzeczach podstaw / doświadczenia. Dla przykładu w pracy nad dużym kodem pracuję zdecydowanie wolniej od ludzi z dużym doświadczeniem bo do tej pory pracowałem na małych popierdółkach. Tak więc nie skarżę się, że mało zarabiam, bo wiem z czego to wynika. Bardziej analizuję to co będzie za rok/dwa. Niestety w PHP poza Warszwą, Krakowem i Wrocławiem oferty +15k to rzadkość, a w opinii kolegów raczej górne widełki z ogłoszeń są nieosiągalne. W mojej firmie dla przykładu są w ogłoszeniach widełki do 12-14k, ale w firmie nikt z devów tyle chyba nie zarabia.

Tak więc ogólnie ja nie narzekam na swoje zarobki, tylko bardziej bije się z myślami w stylu "Java/Ruby/PHP mają podobny stack do opanowania jeśli chce się robić poważne rzeczy, a w PHP jednak stawki są ~25-30% niższe, więc może się teraz szybko przestawić, bo za 2 lata będzie bardziej bolało".

PS co do Springa to nie wiem czy jest trudny czy nie - nigdy w Javie nie robiłem nic poza prostymi skryptami konsolowymi dla zabawy. Podobno Symfony w którym pisze mocno na nim bazuje, więc pewnie by mi przyszła nauka dość naturalnie.

0

Nadal dziwne podejscie, w małym programie mogę robić syf a w dużym to nie ? Jak mozna nad duzym kodem pisac wolniej niz na malym. Nie rozumiem pojecia duzy kod ? przeciez jesli apka ma 100 bibliotek w kazdej po 100 klas to co za roznica nad czym teraz pracujesz jesli odwoloujesz sie do metod z dnaje klasy to one sa juz gotowe i zgodnie z zalozeniem gdzie powinno sie klasy rozszerzac zamiast je zmieniac piszesz woje kolejne. Twoja klasa tez jest mala i masz w niej metody dla innych. to co ma do tego standard pisania kodu ? to czy kolega za rok skuma kod czy nie zalezy od umiejetnosci i od Dokumentacji. To nad tym musisz posiedziec, a nie nad tym czy zrobisz 4 wciecia w kodzie czy 2 albo czy klamra otwerajaca bedzie w tej samej lini co nazwa metody czy nizej :)

Panie co zes pan juz napisal w tym php? a gita czy tam svn uzywales ? jakies frejmoworki cos tez ? na razie wyglada jak przerost tresci nad forma. Nie chce ci sie zmieniac na jave ale szukasz motywacji jakiej czy cos :)

2

Niektórzy się śmieją z Javy, że tam nawet najtrywialniejsze rzeczy zaczyna się od pisania interfejsów, fabryk itp. ale mi takie podejście odpowiada.

Masochista. Jeszcze dodaj, że biczujesz się sam wieczorami bo to przyjemne...

Niestety w PHP poza Warszwą, Krakowem i Wrocławiem oferty +15k to rzadkość, a w opinii kolegów raczej górne widełki z ogłoszeń są nieosiągalne.

Jak w wielu innych technologiach.

W mojej firmie dla przykładu są w ogłoszeniach widełki do 12-14k, ale w firmie nikt z devów tyle chyba nie zarabia.

Zrób zatem analizę dlaczego nikt nie łapie widełek bo to iście podejrzana sprawa. Albo team tak 'mocny'. Albo tak się sprzedajecie. Albo szef robi dobrą wędkę po czym ubija was w zarodku i godzicie się na dużo mniejsze stawki (najczęstszy przypadek)

Tak więc ogólnie ja nie narzekam na swoje zarobki, tylko bardziej bije się z myślami w stylu "Java/Ruby/PHP mają podobny stack do opanowania jeśli chce się robić poważne rzeczy, a w PHP jednak stawki są ~25-30% niższe, więc może się teraz szybko przestawić, bo za 2 lata będzie bardziej bolało".

  • Ruby
  • Poważne rzeczy

Wybierz jedno :D

Bzdury piszesz. Albo przeglądasz oferty tu gdzie nie potrzeba. Zarobki w PHP poszły mocno w górę bo wszyscy albo zdecydowana większość ucieka. Z moich kolegów został cały jeden. I wcale nie planuje zmiany bo jak słusznie zauważył dobrych programistów PHP coraz mniej, a potrzeby nie maleją. Jest sporo systemów w tym kraju (własnych produktów) latających na tym języku i to najnowszych jego wersjach. I mam takie dziwne wrażenie, że tych finansowo dobrych ofert w PHP będzie jeszcze przybywać. Będą jeszcze bardziej starannie wyselekcjonowane. Już teraz da się zaobserwować ten trend, że rekrutacje do małych projektów w śmiesznych firmach to mniejszość (przynajmniej tam gdzie ja na to patrzę).

Martwisz się już teraz zarobkami, a piszesz, że jesteś początkujący. A to nie tak działa. Powinieneś się nimi martwić jak będziesz wiedzieć więcej niż ludzie w okół. Na razie z tego co piszesz na to się nie zapowiada, a już rozważasz, że nie dobijesz do granicy 12-14k i więcej. Nie tędy droga. Z takim podejściem to będziesz skakać z technologii na technologię i będziesz dobry tylko w tym.

Dla jasności. Przeglądam oferty na Nofluffjobs i nie pokrywa się to z Twoim marudzeniem. Są mniej kasowe oferty ale oczywiste, że w nich wymaga się mniej. Przykład Mid PHP Dev
https://nofluffjobs.com/job/m[...]-wiosna-d50r9gxy?criteria=php (7-14k). Jak na stanowisko i wymagania (wiadomo, że Nice to have są istotne przy negocjacjach) moim zdaniem nie ma różnicy - dodaj, że w Javie masz pierdyliard bibliotek, frameworków i innych narzędzi około projektowych, których nauka zajmie sporo czasu.

https://nofluffjobs.com/job/s[...]ervices-fbtnx7bz?criteria=php - kolejna oferta ze spoko widełkami jak na wymagania.

PS co do Springa to nie wiem czy jest trudny czy nie - nigdy w Javie nie robiłem nic poza prostymi skryptami konsolowymi dla zabawy. Podobno Symfony w którym pisze mocno na nim bazuje, więc pewnie by mi przyszła nauka dość naturalnie.

Nie tyle trudny co uciążliwy. Trudne to jest wszystko na początku. Później staje się albo ciekawe i pociągające albo nudne i uciążliwe. Dokładnie do tego etapu dobrnąłem w swojej wiosennej karierze. Po czym rzuciłem wszystko i wyjechałem w Bieszczady :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0