Niszowe technologie - Scala

0

Lepiej pracować w popularnych technologiach czy nieco bardziej niszowych?
Jakie są plusy, a jakie minusy? Co wybrać?
Warto się pchać np. w scalę? Wiem, że fajna zabawa, ale skupmy się na kryteriach karierowych.

Jak obserwuję stosunek HRów czy PMów do programistów javy to mi się odechciewa. Mam wrażenie, że mają ich za roboli. żeby zrekrutować kodera javy to 2 tyg. i mam 20.
Koder scali wydaje sie bardziej wartosciowy - czułem, że rekruterzy o mnie zabiegają mimo zerowego doświadczenia w tym języku.

Z drugiej strony pakowanie się w coś co nie wiadomo czy nie "umrze" i zostanie tylko 5 firm w PL, które tego używają jest ryzykowne.

2

Ej no ale Scala nie jest niszowa. I kasa większa średnio niż w takiej javie na przykład i przyjemność pracy z kodem dużo większa (o ile w ogóle pracę z java można nazwać przyjemnością :D )

2

Możesz po prostu rozwijać się jako programista (w różnych kierunkach) a nie jako koder i wtedy nie będziesz miał takich dylematów. Ile tak na prawdę w poważniejszych projektach stanowi znajomość języka - 10%? Przecież znacznie ważniejsza jest znajomość wszelkich przyległości typu bazy danych sql/nosql, systemy kolejkowe, dockery, szyny danych i ogólne pojęcia o architekturze/domenie.

Jestem programistą PHP - już 2 razy miałem sytuację, gdzie robiłem mały subprojekt dla firmy wyspecjalizowanej w innej technologii, która po zakończeniu zlecenia oferowała mi przejście na tą technologię, mimo, że nie miałem z nią nic wspólnego (w moim przypadku 2 razy był to akurat c#). U mnie akurat bardziej chodziło o inne rzeczy niż samo programowanie (mocno stawiam na wiedzę domenową w ecommerce), ale co do zasady jak rozwijasz się w umiejętnościach ogólno-programistycznych, to wybór czegoś niszowego nie jest problemem nawet jakby to miało kiedyś upaść. Plusy są natomiast takie jak opisałeś - w pewnych momentach popularności rynek zasysa wszystkich i oferuje relatywnie dobre pieniądze, ciekawe projekty greenfield itd.

Nigdy tego nie przerabiałem w praktyce, ale jestem przekonany, że gdybym zmienił dzisiaj technologię to w ciągu roku byłbym w stanie zarabiać takie same pieniądze jakie teraz mam w PHP.

3
borys.borys.boryss napisał(a):

Lepiej pracować w popularnych technologiach czy nieco bardziej niszowych?

Jakie są plusy, a jakie minusy? Co wybrać?

Plusy to mniejsza konkurencja na rynku: jest mniej programistów Scali niż programistów Java. Minusy jest mniej roboty w Scali niż w Java.

Warto się pchać np. w scalę? Wiem, że fajna zabawa, ale skupmy się na kryteriach karierowych.

Pytanie, co ty chcesz robić. Scala to tylko język, którego pewnie można nauczyć się w koło 3 miesiące (na poziomie pozwalającym implementację 90% softwaru, jaki jest na rynku). Np znajomy wszedł w blockchain i pisał już rozwiązania dla blockchain w Erlangu, Javie Go itp .

Jak obserwuję stosunek HRów czy PMów do programistów javy to mi się odechciewa. Mam wrażenie, że mają ich za roboli. żeby zrekrutować kodera javy to 2 tyg. i mam 20.

To, że umiesz programować w Scali, Cobolu czy Pythonie nie zmieni stosunku ludzi do ciebie.

Koder scali wydaje sie bardziej wartosciowy - czułem, że rekruterzy o mnie zabiegają mimo zerowego doświadczenia w tym języku.

Myślę, że akurat przypadek, że tak trafiłeś, a nie inaczej. Mogli też wyczuć, że jak nie masz doświadczenia to będzie łatwiej lepszą kasę ugrać.

Z drugiej strony pakowanie się w coś co nie wiadomo czy nie "umrze" i zostanie tylko 5 firm w PL, które tego używają jest ryzykowne.

Może tak być, ale dlaczego ograniczać się do Polski?

5

żeby zrekrutować kodera javy to 2 tyg. i mam 20

Bylejakiego może i tak, a dobrego, który jeszcze będzie chciał pracę zmienić, to życzę powodzenia. Na pewno nie jest to takie łatwe.
Oczywiście kwestia wymagań jakie kto ma.

2

Scala:

  • Mało ofert na rynku
  • Spora konkurencja (sporo osób chce pisać w Scali; to nie pozwala stawkom poszybować w górę)
  • Pewna nisza typu Spark gdzie się nie programuje tylko przetwarza dane

Myślę że nauka chmury/devops da lepszy zwrot z inwestycji.

To co myślą programiści o HR i PM też nie jest miluśkie. Każdy pod każdym dołki kopie...

9

Paradoks scali jest taki:

  • programiści scali nie mogą znaleźć pracy w Scali, bo mało jest ofert pracy w Scali,
  • firmy nie mogą znaleźć programistów Scali, bo jest mało programistów Scali

Ten stan trwa od kilku lat. Jedyne logiczne wyjaśnienie - to takie, że firmy szukają Scalowców z dużym doświadczeniem, a takich nie ma... i prawie zupełnie nie szukają początkujących/średnich.

Języki i technologie, które przekroczyły pewien punkt krytyczny (powiedzmy 10000 programistów - czyli nie tak dużp) ... nie umierają. Po prostu przechodzą w stan zombie: praktycznie nie robi się nowych projektów, ale utrzymuje się stare.
Scali bycie zombie realnie grozi. Jakkolwiek, w technologiach zombie można zupełnie dobrze zarobić.

Poza tym: scala - bardzo fajny język.

2
borys.borys.boryss napisał(a):

Jak obserwuję stosunek HRów czy PMów do programistów javy to mi się odechciewa. Mam wrażenie, że mają ich za roboli. żeby zrekrutować kodera javy to 2 tyg. i mam 20.

A czy nie jesteśmy robolami umysłowymi? Mamy zamieniać wymagania biznesowe w kod i reszta PMów nie interesuje. Niezależnie od języka jest tak samo

Koder scali wydaje sie bardziej wartosciowy - czułem, że rekruterzy o mnie zabiegają mimo zerowego doświadczenia w tym języku.

Co rozumiesz przez bardziej wartościowy? Płacą trochę więcej w Scali. Najwiecej chyba dalej płacą ogarniaczom chmur. Czy to są najbardziej wartościowi ludzie w firmie?

Z drugiej strony pakowanie się w coś co nie wiadomo czy nie "umrze" i zostanie tylko 5 firm w PL, które tego używają jest ryzykowne.

5 firm wystarcza (jeśli wszystkie 5 płaci dobrze). W każdej po kolej 2 lata to wracasz do pierwszej po 10 latach. :p poza tym powrót do Scali z JavyJavy ze Scali powinien być łatwy. Taką mam nadzieję przynajmniej :p

BTW kto napisał post między @UglyMan a @0xmarcin ?

2

A jak jest z pracą remote w Scali dla klientów zagranicznych?

4

Jak masz szefa ktory nie dba o pracownika to choćbyś zestrzelił asteroidę ten szef nadal Cie nie bedzie szanował. Po prostu zmień robotę.

2

heh kiedyś pisałam w javie - pojawił się Ruby i Ruby on Rails. Świat miał się zmienić
pojawiła się Scala, świat miał się zmienić....

a cobol jest i jeszcze dłuuuugo będzie

0
moskitek napisał(a):

heh kiedyś pisałam w javie - pojawił się Ruby i Ruby on Rails. Świat miał się zmienić

pojawiła się Scala, świat miał się zmienić....

a cobol jest i jeszcze dłuuuugo będzie

Świat zmienia się powoli :p Java tez zmienia się powoli. Jednak kilka exodusów było. Migracja z C++ do Javy, migracja z Perla do PHP ( :( )

Prorokować czy Scala upadnie to trudna rzecz. BTW jest kilka ścieżek ewakuacji (nie tylko Java). Z jednej strony jest Kotlin czyli Scala—. Z drugiej strony jest Haskell coraz mocniej atakujący biznes. Po namyśle stwierdzam że jakby Scala upadła to niechciałbym wracać do Javy :p No chyba że w Javie zmieni się coś naprawdę dużego :p

UPDATE w kontekście braku pracy dla juniorów w Scali - softwaremill szuka juniorów Scali https://twitter.com/softwaremill/status/1468181408690716673?s=21 :p

2
KamilAdam napisał(a):
borys.borys.boryss napisał(a):

Jak obserwuję stosunek HRów czy PMów do programistów javy to mi się odechciewa. Mam wrażenie, że mają ich za roboli. żeby zrekrutować kodera javy to 2 tyg. i mam 20.

A czy nie jesteśmy robolami umysłowymi? Mamy zamieniać wymagania biznesowe w kod i reszta PMów nie interesuje. Niezależnie od języka jest tak samo

Witamy w stoczni XXI wieku.

2

żeby zrekrutować kodera javy to 2 tyg. i mam 20

xD Chciabym to zobaczyć. Jasne, w godzinę po wystawieniu ogłoszenia będziesz mieć 100CV na biurku, tylko wszystkie to jakiś bootcamp z czarnej listy. Jedyna zaleta Scali w tym kontekście jest taka, ze Scala i FP ogólnie są koncepcyjnie trudniejsze do ogarnięcia, więc jak ktoś umie napisać cokolwiek co się kompiluje to znaczy że nie może być takim całkiem nieogarem.

Mam wrażenie, że mają ich za roboli

Dziewczyny z HRów które często robią za minimalną a na rekrutacjach mają non stop gości którzy dostają po 20k? W ogóle wydaje mi się to cięzką abstrakcją, jak jesteś takim HRem i gość na rozmowie targuje się o więcej niż ty zarabiasz (np. chce 3k więcej niż chcecie oferować) a na koniec góra ta stawkę przybija :D

Niszowe technologie mają mniejszą konkurencje, ale też mniej dostępnych ofert. Minus jest taki, że o ile w takiej Javie możesz się przeprowadzić gdziekolwiek i robota będzie, albo możesz iść do firmy na przeciwko, o tyle w Scali może się okazać że masz jedną albo dwie firmy w całym mieście i tyle. To daje ci słabszą pozycje negocjacyjną.

Z drugiej strony pakowanie się w coś co nie wiadomo czy nie "umrze" i zostanie tylko 5 firm w PL, które tego używają jest ryzykowne.

Wydaje mi się to trochę naiwnym podejściem. Technologie przychodzą i odchodzą. Nie nastawiałbym sie na to, ze jak dziś zaczniesz w Javie to musisz do końca życia pisać w Javie. Jak ktoś umie programować, to sobie poradzi. Wystarczy się nie "zasiedzieć".

1

o tyle w Scali może się okazać że masz jedną albo dwie firmy w całym mieście i tyle. To daje ci słabszą pozycje negocjacyjną.

Albo pracujesz na remocie i masz w*jebane.

0
KamilAdam napisał(a):
borys.borys.boryss napisał(a):

Jak obserwuję stosunek HRów czy PMów do programistów javy to mi się odechciewa. Mam wrażenie, że mają ich za roboli. żeby zrekrutować kodera javy to 2 tyg. i mam 20.

A czy nie jesteśmy robolami umysłowymi? Mamy zamieniać wymagania biznesowe w kod i reszta PMów nie interesuje. Niezależnie od języka jest tak samo

Być może nie jest to zależne od języka, ale nie wszędzie jest tak samo.
Ale wyraźnie widać, że w pewnych technologiach jakaś dziwna dzicz panuje, to już kolejny objaw.

1

@Shalom:

Shalom napisał(a):

(..) Scala i FP ogólnie są koncepcyjnie trudniejsze do ogarnięcia, więc jak ktoś umie napisać cokolwiek co się kompiluje to znaczy że nie może być takim całkiem nieogarem. (..)

Nie jestem pewny czy to jest kwestia trudności koncepcyjnej - myślę że to raczej wynika z braku praktyki. Bazuję tu na moich doświadczeniach ze studiów, gdzie miałem zarówno programowanie funkcyjne jak i logiczne i początkowo miałem problem z "przestawieniem" się na inne sposoby myślenia/rozwiązywania problemów, ale w pewnej chwili była "eureka" i potem już było z górki. I tak samo będzie z innymi.

0

W FP definicje są skopane bo wymyślali je matematycy (chociaż w OOP też są skopane bo wymyślali je marketingowcy). Np definicją monady to dzieci można straszyć, gdy w praktyce (w większości wypadków) monada to interfejs z metodą bind/flatMap/MultiSelect czasem "dziedziczący" z Funktora. No i jeszcze konstruktor monady powinien istnieć zwyczajowo nazywany return. I oczywiście prawa Liskov wynikające z dziedziczenia musi spełniać, tylko dla zmyłki są one nazywane prawami monad

2

Z typowo nowych języków szedłbym w Rust lub Go, ale ja i tak kocham mój C#.

Właśnie uczę się dla rozrywki trochę Rusta i takiej walki z kompilatorem dawno nie miałem, do tego tooling na poziomie średniowiecza. Ma parę fajnych benefitów, ale jeśli ktoś nie ma naprawdę, naprawdę ważnego powodu by pisać w Rust to bym nie pisał. Wolę czasami zafixować tego NullReference czy race condition niż walczyć z każdą linijką. Ale w Ruscie mam na razie nabite 6h kodowania więc weźcie to ze szczyptą soli.

1

Scala wyleciała z pierwszej 30 TIOBE (nie wiem czy kiedykolwiek tam była).
Pytanie kto stoi za promocją tego języka? Chyba mają jakiś słaby ten marketing bo wyprzedza ich Rust, Prolog, Fortran i... Pascal.
Można oczywiście wyciągnąć argument, że TIOBE nic nie znaczy.
Ale tak samo wg StackOverflow oraz JetBrains Scali używa 3% programistów, czyli trochę więcej niż graczy używających Linuksa.

Po przejrzeniu tych statystyk można dojść do wniosku, że sensowniejsze byłoby uczenie się jakiegoś języka historycznego - Algol, Action! lub Ada.

1

Po przejrzeniu tych statystyk można dojść do wniosku, że sensowniejsze byłoby uczenie się jakiegoś języka historycznego - Algol, Action! lub Ada.

Ranking TIOBE jest na podstawie ilości materiałów zwracanych przez Google i inne wyszukiwarki. Przez co promowane są stare języki.

Rust, Prolog, Fortran

  • Rust ma niesamowity marketng, nie wiee czy w Ruscie jest dużo pracy, ale ilość materiałów jaka powstaje o tym języku jest ogrona
  • Prolog powrócił do gry przez AI. Np Watson IBM Watson System jest programowany w Prologu
  • W Fortranie jest nadal dużo kodu. Nawet ktoś ostatnio tu był co ma ileś programów w Fortanie na produkcji i szukał pomocy :D
  • A Scalę niszczą dramy :(

UPDATE

Ale tak samo wg StackOverflow oraz JetBrains Scali używa 3% programistów, czyli trochę więcej niż graczy używających Linuksa.

A to już jest tendencyjne :D

Języków programowania jest wiecej niż 3 (jak w przypadku OS do grania). 3.06% dla Scali to więcej niż mają Perl 2.42%
Delphi, Clojure, Elixir, Haskell, LISP, F#, Erlang, Julia, Crystal, COBOL, APL.
Języki pogrubione to te o których wiem że praca jest. Z drugiej strony Rust ma tylko 2 razy wiecej, a Go - 3 razy wiecej

0
vpiotr napisał(a):

Scala wyleciała z pierwszej 30 TIOBE (nie wiem czy kiedykolwiek tam była).

W tym rankingu scala jest od wielu lat juz na samym koncu. Udzial % jest caly czas ponizej 1%

tutaj inny ranking:
https://pypl.github.io/PYPL.html

Głosujta:
Forumowy ranking jezykow programowania

0

Tak mało procent, tak mało procent wiec Softwaremill dalej nie umie znaleźć juniorów Scali
https://twitter.com/softwaremill/status/1468945161765937155?s=21

0

Ja nie rozumiem, przecież dla doświadczonego programisty nauczenie się nowego języka to tydzień, jaki haczyk tam tkwi że cały czas kogoś szukają? Czy nie jest tak że poza językiem trzeba też umieć Redis/Docker/AWS/Rabbit/SQL/co-tam-modne[0]..co-tam-modne[9]?

2

Ja nie rozumiem, przecież dla doświadczonego programisty nauczenie się nowego języka to tydzień, jaki haczyk tam tkwi że cały czas kogoś szukają?

Zmiana paradygmatu z imperatywny na deklaratywny?

1

Nauczenie się języka nie oznacza że zna się praktyki albo ekosystem.

0
KamilAdam napisał(a):

Po przejrzeniu tych statystyk można dojść do wniosku, że sensowniejsze byłoby uczenie się jakiegoś języka historycznego - Algol, Action! lub Ada.

Ranking TIOBE jest na podstawie ilości materiałów zwracanych przez Google i inne wyszukiwarki. Przez co promowane są stare języki.

Rust, Prolog, Fortran

  • Rust ma niesamowity marketng, nie wiee czy w Ruscie jest dużo pracy, ale ilość materiałów jaka powstaje o tym języku jest ogrona
  • Prolog powrócił do gry przez AI. Np Watson IBM Watson System jest programowany w Prologu
  • W Fortranie jest nadal dużo kodu. Nawet ktoś ostatnio tu był co ma ileś programów w Fortanie na produkcji i szukał pomocy :D
  • A Scalę niszczą dramy :(

UPDATE

Ale tak samo wg StackOverflow oraz JetBrains Scali używa 3% programistów, czyli trochę więcej niż graczy używających Linuksa.

A to już jest tendencyjne :D

Języków programowania jest wiecej niż 3 (jak w przypadku OS do grania). 3.06% dla Scali to więcej niż mają Perl 2.42%
Delphi, Clojure, Elixir, Haskell, LISP, F#, Erlang, Julia, Crystal, COBOL, APL.
Języki pogrubione to te o których wiem że praca jest. Z drugiej strony Rust ma tylko 2 razy wiecej, a Go - 3 razy wiecej

Dlaczego scale niszczą dramy? Jedyne co słyszałem to że środowisko bardziej toksyczne w którym są "obozy" gdzie jeden drugiego lubi a jeden nie lubi coś taka moda na sukces

1

Jak ostatnio na to patrzyłem to twórca ZIO nie rozmawia z twórcami Catsów. Mimo to jakoś istnieje integracja między tymi bibliotekami

Wyobrażasz sobie tą niestabilną sytuację? Używasz jakiejś biblioteki i nagle geniusze strzelają focha i traci się wsparcie dla biblioteki

0

@KamilAdam: Ciekawe community, obrażają się na siebie i nie odzywają. Ciekawe czy to tak na serio czy tylko na pokaz

3
Marcin Marcin napisał(a):

@KamilAdam: Ciekawe community, obrażają się na siebie i nie odzywają. Ciekawe czy to tak na serio czy tylko na pokaz

Moze jakby wszyscy sie nie znali osobiscie to nie byloby dram. W spolecznosciach gdzie jest wiecej niz 30 programistow takich problemow jest mniej.

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