Przejście Java -> Scala i rekrutacja

2

Cześć,

Mam kilka ładnych lat doświadczenia jako Java Developer. Ponadto po godzinach robię własne projekty i uczę się od Scali oraz ogólnie FP, zwłaszcza tych bardziej zaawansowanych zagadnień jak Monady, Monday IO, type classes itd. Ostatnio również zacząłem czytać książkę Scala with Cats, aby poznać lepiej to środowisko.

Jak wyglądało w Waszym przypadku przejście z Java na Scala Developera?
W moim przypadku jest niestety dość ciężko, bo mimo, że potrafię pisać dobry kod w Javie, to nie mam właściwie komercyjnego doświadczenia w Scali i już kilka razy zostałem odrzucony na rekrutacji.

Czy przyczyną tego może być to, że jednak brakuje mi jeszcze trochę wiedzy, czy to, że w Scali jest dużo mniej ofert niż w Javie lub to, że samo środowisko Scali jest toksyczne i nie są otwarci na ludzi z zewnątrz, chcących nauczyć się konkretnie kodować w pure FP? Bo już takie zdania też słyszałem

Z tego co widzę po kilku rekrutacjach, to niby firmy narzekają, że brakuje Scala Devów, ale jeśli już pojawia się ktoś chętny, nie widać u nich otwartości za bardzo.

3

"Z tego co widzę po kilku rekrutacjach, to niby firmy narzekają, że brakuje Scala Devów, ale jeśli już pojawia się ktoś chętny, nie widać u nich otwartości za bardzo."
Cala prawda o korpofasadzie.

Amerykanie mówią: fake it till you make it.

0

Jeśli z góry szukasz problemu w tym, że środowisko jest toksyczne, to radziłbym zastanowić się nad sobą, bez ironii.

3
ToTomki napisał(a):

Jeśli z góry szukasz problemu w tym, że środowisko jest toksyczne, to radziłbym zastanowić się nad sobą, bez ironii.

Zawsze się wiele razy nad sobą zastanawiam, i potrafię przyznać się do niewiedzy, nie mam z tym problemu, co z resztą napisałem wyżej.
Natomiast oczekiwałbym merytorycznej odpowiedzi, a nie argumentu ad personam od internetowego eksperta, który ma większość (dokładnie 81%) postów w Off-topic, Flame innych w bardzo ' technicznych' działach ;)

2

Co motywuje Cię do przesiadki na Scalę?
Ofert jest znacznie mniej i nie zapowiada się by ten język miał zyskać na popularności. Miał swoje 5 min. za sprawą kafki i sparka. Czysty FP to jest utrudnianie sobie życia, masturbacja intelektualna.

4

To jest merytoryczna odpowiedź. Cultural fit jest bardzo istotny. Pracowałem w różnych firmach, do mojej pierwszej - totalnie nie pasowałem i odczuwałem przez to taki poziom stresu, że miałem przed pracą objawy fizjologiczne (chęć na wymioty chociażby), ale pracować gdzieś wtedy musiałem. W kolejnej firmie chodzenie do biura to była dla mnie przyjemność i przepływ wiedzy w całym dziale był dzięki temu ogromny. Teraz wleciała praca zdalna i jest to ograniczone, więc tym bardziej trzeba łapać osoby zgrane, bo przez małą ilość interakcji trzeba maksować poziom zgrania, by dało się przepływ wiedzy też maksymalizować (praca w korpo, wiedza domenowo-produktowa jest warta więcej niż techniczna - masz wpływ na to co robisz więc musisz wiedzieć co robisz, a nie tylko przepisujesz dokumentację na język zrozumiały dla komputera, tak to mogą działać co najwyżej nasi kontraktorzy, którym się po prostu mówi co mają klepnąć (też w sporej części spoko ludzie btw.)).

Bez dobrego zgrania i jakiegoś poziomu soft skilli się u nas nie da. Najpierw szukasz problemu w tym, że nikt Cię nie chce tam, gdzie Ty chcesz być, w tym, że to inni są toksyczni. Ktoś Ci sugeruje, że może jednak poza umiejętnością klikania w kąkuter liczą się też inne rzeczy i może warto się nad nimi zastanowić, więc z automatu odpala Ci się reakcja obronna, zakładasz że to atak na Ciebie (więc po co w ogóle pytałeś?), zaczynasz wyciągać prywatne tematy rozmówcy (działu technicznego dla mojego języka akurat na tym forum nie ma ;)), atakujesz rozmówcę, bagatelizujesz jego wiadomość. Sorry, ale mam teraz coraz większe podejrzenia, że to Twój charakter może być przyczyną Twoich problemów.

A tak btw. to ten internetowy ekspert pracuje w pewnym niszowym języku na JVM, zgadnij w którym.

3

Mi zajęło kilka lat przejście:
a) zależało mi na kasie i dobrej firmie,
b) w poprzednich firmach trochę w scali pisałem, a wiekszość w kotlinie (więc nie aż taki dramat jak java) - to mnie spowalniało,
c) byłem słaby w scali, dobry w javie i nie bardzo się da ukryć, a która firma zatrudni obiecującego juniora z wymaganiami finansowymi seniora...,
d) za to dobrze wychodzę na testach i offline i online (live coding) - ćwiczyłem, ale też pomogło mi to, że normalnie robię prezentacje i warsztaty - więc nauczyłem się walczyć "z zacinaniem",
e) ćwiczyłem codinggame, trochę innych zadanek 99 problems itp. (ale niespecjalnie systematycznie - zrywami),
f) robiłem troche hobby projektów w scali, ale po prawdzie to absolutnie najwięcej nauczyłem się robiąc poboczne projekty scalowe jeszcze w javowych firmach,

Nie wiem co poradzić, bo pewnie masz zupełnie inną sytuację, ale.

  1. Scala jest dużo bardziej "remote friendly" niż Java - szukaj po całym świecie,
  2. W Polsce masz SoftwareMill, Iterators, Scalac, VirtusLab (i pewnie inne)
  3. Co do toksyczność w Scali - raczej w Scalę miesza się polityka i to raczej dotyka seniorów - natomiast toksyczność dla nowych jest IMO taka jak wszędzie
1

@ToTomki: Trochę mnie faktycznie poniosło, więc chciałbym Cię przeprosić.
Nie jest to raczej problem mojego charakteru, bo potrafię dobrze współpracować z innymi.

@jarekr000000: Dzięki za bardzo długi i motywujący post!

W tym przypadku nie zależy mi właśnie na kasie, więc jestem w stanie mocno zejść ze stawką w dół, zwłaszcza jeśli też projekt będzie fajny domenowo :)

To jest właśnie problem z robieniem własnych projektów, bo o ile rozwijają, to jednak pewnych zagadnień np w Scali ciężko po prostu zastosować tak żeby nauczyć się ich w praktyce, tak jak to robi się w komercyjnych projektach.

No nic, jeśli nie uda się nic znaleźć, to zostanę przy Javie i w ogóle zrezygnuję ze Scali.

Dzięki za posty!

4

Skoro doświadczenie to jedyny problem aby Cię zatrudnili, to zawsze możesz skłamać. Nie jest to rozwiązanie etyczne, ale skoro rynek jest jaki jest, to trzeba się jakoś dostosować.

1

Po prostu dla nietechnicznych social butterflyów na managerskich stanowiskach którzy formułują te wymagania, idea że programista javy może zacząć bez większego problemu robić to samo w scali, wydaje się równie realną koncepcją jak to że może przekwalifikować się na plantatora kawy na Javie.

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