Wpis z mikrobloga

Siedzę już od paru lat w obszarze big data. Hajs wiadomo, chyba najlepszy ze wszystkich nisz w IT, ale pojawiają się powoli pewne rysy od strony technologicznej.

Widzę, że w miarę jak big data staje się coraz bardziej powszechna i coraz więcej ludzi w tym pracuje, to ciężar językowy przesuwa się ze Scali na Pythona. Widać to choćby po tym, jak rozwija się Spark, wyznaczający dzisiaj główne trendy w tym biznesie, a który mocno stawia na Pythona. Wiadomo, Scala jest natywna dla Sparka, więc nigdy tego nie porzucą, ale choćby w ofertach pracy widać, że pojawia się coraz więcej Pythona, a jeszcze 2-3 lata temu standardem była Java/Scala ewentualnie "Java i chęć nauki Scali".

Jest to zrozumiałe, Python ma niski próg wejścia, zapotrzebowanie na inżynierów od big data wzrasta, a Pythona każdy opanuje w tydzień, w przeciwieństwie do Scali, fakt, że przy niektorych zastosowaniach jest wolniejszy nie ma żadnego znaczenia, zwłaszcza w erze chmurowej, bo dorzucenie CPU nie jest problemem, w przeciwieństwie do znalezienia odpowiedniego programisty. Trend pewnie będzie postępował, coraz więcej projektów będzie odpalanych w Pytongu.

Tyle, że dla mnie Python ssie sam w sobie, a do tego programowanie w nim czegokolwiek większego to droga przez mękę i nie chciałbym tego robić na dłuższą metę.

Dlatego zacząłem się zastanawiać nad alternatywnymi ścieżkami.

Stąd pytanie: ma ktoś doświadczenia z zatrudnianiem się zdalnie za granicą jako developer Scali albo Haskella? Da się to ogarnąć? W Polsce niestety możliwości są dość ograniczone jeśli chodzi o Scalę, a w Haskellu tworzy chyba tylko Standard Chartered. Mówię o kimś, kto ogarnia paradygmat funkcyjny, rachunek lambda, funkcyjne algorytmy i struktury danych itp., a nie dżawowcu co umie korzystać z map i filtrów xD

#programowanie #programista15k #scala #haskell #bigdata
  • 22
t w obszarze big data. Hajs wiadomo, chyba najlepszy ze wszystkich nisz w IT,


@kilemile: bzdura.

Python ma niski próg wejścia


@kilemile: ??? Ale bzdura. W python latwo jest napisać hallo world, albo jakis prosty skrypt. Cokolwiek trudniejszczego ma juz duzo większy prog wejścia.

a Pythona każdy opanuje w tydzień


@kilemile: Chcesz pobić rekord głupot w jednym poście?

w Haskellu tworzy chyba tylko Standard Chartered


@kilemile: Nie tylko.
??? Ale bzdura. W python latwo jest napisać hallo world, albo jakis prosty skrypt. Cokolwiek trudniejszczego ma juz duzo większy prog wejścia.


@FortunaHej: Tak jest w każdym języku XD

Python w porównaniu do Scali to jest pryszcz, znam całą masę ludzi, którzy nawet z Javy nie chcieli się przesiadać na Scalę, bo "trudna". Z Python już nie ma tego problemu.

Nie mówię, że w Pythonie po tygodniu będziesz doskonale znał język,
Nie tylko.


@FortunaHej: A jakie są jeszcze firmy, do których można uderzać? Przy czym mówię o takich, które w miarę regularnie zatrudniają tego typu ludzi, a nie banku, który raz na dwa lata potrzebuje takiego gościa, bo ktoś im #!$%@?ł.
@kilemile: Tez siedze w big data i mam takie same spostrzeżenia. Mi powoedzieli wprost, ze piszą w pythonie bo taniej. Jak widzę ten kod, który jest produkowany to masakra. Wziąłem jedna rzecz i po dwóch dniach przyspieszyłem dziesięciokrotnie. Ci ludzie nie maja pojęcia o pisaniu funkcyjnym i optymalizacji.

@FortunaHej: Python to jest taki współczesny php, musisz się z tym pogodzić. To jest prosty do ogarnięcia język. Próg wejścia tez jest
@yggdrasil: sprawdza się do AI lub pisania skryptów, co najwyżej. a devopsi, czy tam ludzie zajmujący się AI to nie są inżynierzy oprogramowania, ich zadaniem jest stworzyć coś co będzie działać. biorąc pod uwagę utrzymanie kodu, dokumentacje pythona (mam na myśli biblioteki zewnętrze), czy tam performance to jest jedno wielkie xD to nie jest język w którym tworzy się coś skomplikowanego, wydajnego, ani co trzeba później długo utrzymywać
@PrzegrywWykopek: Aha, czyli aplikacja w pythonie, która ma 3 miliony linii kodu, działa w HA bez przerwy od 5 lat to nie jest prawdziwe programowanie? Rozumiem, ze jesteś wielkim inżynierem oprogramowania i gardzisz wszystkim innym? Wielkie xD z pana „inżynierza”.

Trochę pokory, to, ze użyjesz czegoś innego niż python to nie oznacza, ze to co wyprodukujesz będzie automatycznie lepsze.

Zapytałem Cię dlaczego python według Ciebie to gowno, myślałem, ze masz jakieś
@yggdrasil: Pewnie, że można robić nietrywialne systemy w Pythonie, pytanie brzmi tylko: po co? xD

Ogarnięci ludzie mogą napisać dobrze działającą aplikację w Pythonie, ale i tak będą się zmagać z problemami wynikającymi z samego języka (dynamiczne typowanie czy niska wydajność, do tego moim zdaniem składnia ssie, ale to w sumie moja preferencja).

Ci sami ogarnięci ludzie będą się w stanie nauczyć skomplikowanego języka jak Scala i zrobić to łatwiej, korzystając
Pokusiłbym się nawet o stwierdzenie, że jak ktoś już się nauczył języka zawierającego skomplikowane konstrukcje (jak Scala, Haskell czy C++) to będzie świadomy problemów, które te konstrukcje rozwiązują i dokładnie z tego względu będzie w stanie je ominąć w Pythonie. Jak ktoś umie tylko Pythona, bo jest łatwy, to jest duża szansa, że będzie produkował gównokod.
@kilemile: Ja sam nie cierpię pythona, fakt, ze jest wolniejszy, bo nie jest kompilowany, ma tez beznadziejny ekosystem. Fakt jednak jest taki, ze ma bardzo dużo bibliotek, które są nawet fajne, do tego wybacza dużo błędów oraz szybko się w nim pisze.

Scala jest fajna, sam dużo pisze korzystając ze sparka (chociaż nie wiem, bo kurła jestem tylko zwykły DevOps) i pythona używam tylko jak muszę. :) Problem jest taki, ze
do tego wybacza dużo błędów


@yggdrasil: No własnie xD Nie wiem czy to jest zaleta.

Świętym gralem inżynierii oprogramowania są programy, których poprawności można dowodzić. A im więcej błędów wybacza język, tym dalej niestety jesteśmy od tego (nieosiągalnego) ideału.

Funkcyjnie napisany kod w Scali po pierwsze, jest bliżej, a po drugie jest łatwiej testowalny i co za tym idzie łatwiej utrzymywalny.
@kilemile: Dobra, bo widzę że jak zwykle na tym portalu ze śmiesznymi obrazkami, nikt Ci nie odpowiedział na zadane pytanie.

Więc tak, da się pracować zdalnie i sporo firm zatrudnia w ten sposob i w Scali i w Haskellu. Rozmawiałem z paroma, paru znajomych tak pracuje.

Nie zakładałbym że mozliwosci pracy w Polsce są ograniczone, na moje ok to tylko ~50% ofert to spark, reszta robi mikroserwisy, jakis blockchain i inne