Prawie 2 temu zmieniłem swój główny język programowania z PHP na Java/Kotlin. W PHP siedziałem 13 lat. Jeśli ktoś myśli nad podobną zmianą mogę śmiało powiedzieć że jestem ekspertem i proszę zadawać pytania (° ͜ʖ °) W moim przypadku to była najlepsza decyzja w mojej karierze.
@NooT Ucze sie wlasnie javy i koncze polecany finski kurs mooc i planuje pozniej wziac sie za springa, masz moze jakies polecane kursy / ksiazki od ktorych moznaby zaczac?
@wombatDaiquiri miałem trochę szczęścia. W danej chwili byłem team leadem na pół gwizdka - 50% kodowania, 50% innych rzeczy. Firma podjęła decyzję o zastąpieniu stanowiska team leada modelem z engieering managerami. Dostałem opcję albo przestaje kodować i idę w management, albo jest wyzwanie w innym teamie dla kogoś z moim doświadczeniem ogólnym. No i podjąłem rękawicę. Przez ok. miesiąc dzień w dzień po godzinach cisnąłem tutoriale, książki i ćwiczenia z Kotlina a potem dołączyłem do teamu i zacząłem po prostu kodować, z każdym dniem coraz lepiej się czując w nowej roli
@ngserve sam się czasem zastanawiam... chyba po prostu ugrzązłem w tym od początku - zacząłem programować w PHP komercyjnie w wieku 15 lat i tak zostało, niestety na zbyt długo
@nerfi58 jeśli chodzi o Javę samą w sobie to średnio, w moim przypadku to jest tylko dodatek do Kotlina. Jeśli miałbyś kiedykolwiek aspirację rozwijać się w kierunku tego języka to służę pomocą, przeczytałem sporo książek.
/Edit
Jest jedna książka typowo do Javy którą bardzo cenię: Java Concurrency in Practice
@Mickey bo w Javie/Kotlinie więcej ofert, lepiej płatnych i masz multiplatformowość*
* C# dawno nie patrzyłem, ale zakładam, że nadal bardzo mocno przyklejony jest do ekosystemu M$ i każdej apki nie odpalisz na dowolnym systemie. Pamiętam, że jakiś czas temu mieli jakiś projekt portowania c# na inne platformy (typu linux), ale na jakim etapie to jest oraz jak to faktycznie działa - ciężko powiedzieć, bo mnie to dawno nie interesowało.
@damw na etapie, że od kilku lat masz .NET Core i działa na Linuxie wyśmienicie. Zarobki minimalnie niższe, ale nie musisz konkurować z 999 kandydatami na jedno miejsce, bo javowców to teraz jak psów.
@Besteer 8-10% to wcale nie tak mało. Tutaj masz 2k brutto różnicy.
Przed chwilą jeszcze sprawdziłem na nfj (akurat tutaj, bo z tego strony najczęściej korzystam. Jeśli znasz inne podobne, gdzie podane są widły to podrzuć - tam też możemy sprawdzić jak się prezentuje stosunek ilości ofert pracy) ilość ofert. Dla java masz 18 stron z wynikami, dla c# 8. Wychodzi na to, że ponad 2x mniej. Ale robi się to ciekawe w momencie, gdy spojrzymy np na: https://bulldogjob.pl/it-report/2022/programmer
Javę zna 34% ankietowanych, C# 23%. I teraz sobie policzmy:
23 -> 34 to ~50% czyli zakładam, że programistów Java jest o 50% więcej niż C# (ilościowo). Mają natomiast o 120% więcej dostępnych ofert pracy (8->18 stron wyników).
Więc idąc twoim tokiem rozumowania - skoro dla javy prawdziwe ma być zdanie:
ale nie musisz konkurować z 999 kandydatami na jedno miejsce, bo javowców to teraz jak psów.
to muszę cię zmartwić, ale dla c# będzie to dużo gorszy przelicznik
od kilku lat masz .NET Core i działa na Linuxie wyśmienicie
o widzisz, czyli jednak mocno to poszło do przodu. Właśnie nie pamietałem nazwy, a ostatnim razem jak o tym słyszałem, to dopiero z tym startowali i dużo rzeczy jeszcze nie działało
@wombatDaiquiri ale to przecież będzie dotyczyć każdego języka programowania - im ktoś lepszy, tym może na lepsze wynagrodzenie liczyć.
Najlepsi mają największą szansę zarabiać najwięcej (nawet więcej niż podane widełki). A ponieważ w takiej javie (przyjemniej na podstawie dostępnych danych w takich raportach) płaci się więcej niż w .net, więc z dużym prawdopodobieństwem najlepsi w tym języku będą zarabiać lepiej niż najlepsi w .net?
@damw nie, ostatnia implikacja nie zachodzi. Tzn. sufit nie musi być wyżej z racji wyższej podłogi. Weźmy np. architektów albo prawników - mają bardzo wysokie sufity pomimo bardzo niskich podłóg.
@damw wrzuciłeś jakiś gówniany raport, gdzie autor pomieszał marchew z jabłkami, czyli wynagrodzenie brutto UOP z kwotą na fakturze B2B i jak ja mam się do tak dziadowskiego raportu odnieść?
Sprawdź sobie najnowszy raport just join IT, tam jest ładnie pokazane, że różnica w pensji średnio to 1000 złotych na korzyść Javy przed opodatkowaniem. .NET to ilościowo 64% ofert z Javy, o które walczy 60% tyle ludzi, co o javowe, więc różnice znikome i nie ma o co kruszyć kopii. Chociaż ja u siebie zauważam, że javowca o wiele łatwiej zastąpić, ale to może moje mylne wrażenie.
Wychodzi na to, że w przypadku badania realnych (a nie ofertowych) zarobków, C# nadal jest gorzej wyceniany niż Java (co pokrywa się z ofertami pracy, gdzie oferty dla Javy są lepiej płatne).
Starszy specjalista 14050 vs 15860 (mediana), a 25% najlepiej zarabiających 17500 vs 19260. Próba 1167 c# i 1251 Java.
Więc nawet jeśli ktoś w C# trafi "złoty strzał" gdzie będzie dostawał garniec złota, to dużo raczej tych ofert nie ma (patrząc ilość ofert ogólnie dla tego języka/platformy, oraz znikomy wpływ na średnią wynagrodzeń która jest po prostu niższa)
edit: i nie zrozum mnie tylko źle - nie wszczynam tutaj wojenki w stylu: ten język jest lepszy a ten gorszy. Rozmawiam tylko o "opłacalności" i potencjalnych zarobkach vs łatwości dostania roboty
Jednak nie widzę w nim informacji o ilości programistów c# a java. Do obliczeń przyjmuję więc dane z tej ankiety https://bulldogjob.pl/it-report/2022/programmer gdzie było 23 vs 34. A uwzględniając takie liczby, to javovców jest o ~50% (a nie 60% jak napisałeś) więcej (23 * 1.5 = 34.5). Aktywnych ofert dla c# było 12266 więc * 1.5 daje nam to 18399 aby było porównywalnie. W rzeczywistości było 19120 więc javovcy mieli odrobinę więcej ofert do wyboru (ale rację masz, że nie jest to jakaś duża różnica)
Chociaż ja u siebie zauważam, że javowca o wiele łatwiej zastąpić, ale to może moje mylne wrażenie.
różnica może wynikać z faktu, że jak zatrudniasz, to zazwyczaj chcesz zatrudnić kogoś dobrego a nie gościa po kursie na udemy czy innym bootcamp'ie (przynajmniej ja widzę taką tendencję przez ostatnie 2 lata - firmy wolą dobrych seniorów, niż tak jak kiedyś - brać juniorów i sobie ich wyszkolić). A ponieważ java programistów jest więcej, łatwiej ci znaleźć sensownego
edit: i nie zrozum mnie tylko źle - nie wszczynam tutaj wojenki w stylu: ten język jest lepszy a ten gorszy. Rozmawiam tylko o "opłacalności" i potencjalnych zarobkach vs łatwości dostania roboty
@damw tam masz ilość aplikujących na oferty z danego języka i to są realne wartości, a nie subiektywne odczucie znajomości języka, bo ktoś 5 lat temu miał na kolokwium.
tam masz ilość aplikujących na oferty z danego języka
@Besteer ilość aplikujących to nie to samo co ilość programistów znających dany język. Raz, że nie każdy programista musi szukać pracy, dwa, że jeden programista języka A może wysłać cv na 5 ofert, a inny z języka B na 1 ofertę.