Brak zdecydowania co do „specjalizacji”

0

siemka,
przychodzę do Was po radę, wskazówki dotyczące wybrania przez siebie drogi w programowaniu na kilka najblizszych lat (wiem, wrozenie z fusów, ale może ktoś ma inne spojrzenie na to)

o mnie - pracuje juz rok jako programista, siedze w javie i angularze, jednak więcej jest tej javy i backend tez mi się bardziej podoba, nie mogę o sobie powiedzieć, że jestem jakiś ultra wymiataczem, ale coś tam koduje ;p
pracuje w korpo, ponad 400 osób, jeden duży projekt, który jest już w 75% skonczony, nie podoba mi sie on, jest bardzo zagmatwany

po tym roku zacząłem interesować się bardziej JS i całym ekosystemem NodeJS, glównie ze względu na magisterkę, no i nawet mi się podoba ;p
mój znajomy pracuje w jednym z SH u mnie w mieście gdzie właśnie szukają juniora na NodeJS + express i NestJS, ogólnie spoko tylko stawka około 1k niższa niż zarabiam obecnie, ale jakoś do przeżycia by to było.
Z tego co wiem w tym SH pracuje się nad kilkoma projektami jednocześnie, dużo roboty co z jednej strony mi się podoba bo duży rozwój a z drugiej strony mam w sobie troche lenia i lubie często po skończeniu taska w południe do końca dnia porobić coś dla siebie, no ale z tych dwóch rzeczy zdecydowanie preferuje rozwój

No i przechodząc do sedna - bardziej opłaca mi się cisnąć dalej jave + coś w kierunku mida za rok, zmienić korpo no i projekt z innej branży,
czy może myśleć przyszłościowo o NodeJS, wkręcic się do znajomego do SH i tam zaczynać „od zera” ale z możliwością na rozwój ze strony współpracowników

Dużo się slyszy, ze w javie już robi się co raz mniej nowych projektów, głownie utrzymania i legacy kod, a z kolei o Node, że co raz więcej firm się do niego przekonuje i jest często i gęsto wykorzystywany

Co myślicie?:)

3

NodeJS to nie przyszłość, to fad, który powoli odchodzi w zapomnienie... Frontend'owcy pewnie się nie zgodzą bo wszystkie ich jednoroczne frameworking 'chodzą' na Node, ale na backendzie Node idzie w tym samym kierunku co Ruby, zapomniany język który powoli pokrywa się kurzem.

Jeżeli chcesz robić na frontendzie to radzę od razu inwestować w TypeScript i React. Angular został zmieciony z rynku przez Reacta, jest w nim trochę projektów ale mainstream obecnie to React. Pisanie bez typów (czysty JS) w korpo to masakra.

Radzę na tym etapie cisnąć Javę i douczyć się o mikroserwisach, Docker i k8s i szukać roboty w tym kierunku. Na froncie jest generalnie "ciasno", GPT raczej nie pomoże, na backendzie jest bardziej spokojnie i technologie nie zmieniają się co rok.

2

Technologie nie powinny być celem, bo one z czasem przemijają.

Z perspektywy technicznej szlifuj rozwiązywanie problemów i poszerzaj perspektywę, abyś umiał patrzeć na problem z różnych stron. Inaczej pewnego dnia każdy napotkany problem będziesz postrzegał jak gwóźdź do wbicia młotkiem.

Tak bliżej frontu to warto szlifować UX, stylowanie, a obok dla ciekawszych projektów również programowanie reaktywne lub/i rzeczy powiązane z animacjami bądź grafiką 3d.

0
Kacperek9000 napisał(a):

siemka,
przychodzę do Was po radę, wskazówki dotyczące wybrania przez siebie drogi w programowaniu na kilka najblizszych lat (wiem, wrozenie z fusów, ale może ktoś ma inne spojrzenie na to)

Jak chcesz wyznaczyć sobie drogę zawodową na kilka najbliższych lat, to prędzej się rozejrzyj za trendami większymi niż język programowania/ekosystem.

Przyszłościowe jest to, co faktycznie coś zmienia, jest game changerem na skalę produktową jak np. sztuczna inteligencja albo na skalę infrastruktury jak chmury czy kontenery.

Jeśli chodzi o NodeJS, to NodeJS przede wszystkim zmienia to, że każdy, kto zna JS, może pisać backend. Jest to ułatwienie od strony developer experience, dlatego pewnie firmy w to idą, bo mają jeden język na froncie i baku. Tylko pytanie, czy to nie będzie tak, że za kilka lat dokładnie przez to zarobki spadną.

3

Przyszłościowe tematy to szeroko pojęty data engineering, machine learning, MLops, cloud. Pierwsze trzy to nadal nisza z bardzo dużym popytem a zarazem brakiem specjalistów.

1
Kacperek9000 napisał(a):

pracuje w korpo, ponad 400 osób, jeden duży projekt, który jest już w 75% skonczony, nie podoba mi sie on, jest bardzo zagmatwany

Ogólnie to z moich obserwacji w takich projektach właśnie się najwięcej zarabia. Bo jeśli projekt nie jest zagmatwany to nawet junior go ogarnie bez problemu. Im bardziej zagmatwany tym mniej ludzi ogarnie tym więcej muszą płacić :D

Jeśli chcesz siedzieć w Backend to ogarniaj całą infrastrukturę itd. bo to wszędzie jest takie samo i nie zmieni się za szybko. Np. jak najlepiej przechowywać dane, wydajność kodu, wydajność bazy danych, obsługa błędów w sposób nie zawodny (jak nagle task się wyłączy to jak to zrobić żeby na pewno użytkownik dostał wynik itd.)

0

Zaczynałem w Javie w 2017 roku i pamietam jak się rekrutowałem to wystarczała podstawowa znajomość samego języka Javy, a jak już umiałem Springa i miałem podstawowa wiedzę wtedy jak utworzyć proste REST API z zapytaniem do bazy do rekruterzy prawie że klaskali uszami.

Jak zmieniałem pracę po roku, w 2018 to nie miałem najmniejszego problemu znaleźć prace.

W 2023, w ciągu 6 lat bardzo wiele się pozmieniało. Z perspektywy tych lat mogę powiedzieć że jest bardzo duża inflacja skilla i lat doświadczenia. Mam odczucie, a wręcz tego jestem pewien że za niedługo będzie na rynku nadpodaż programistów Java względem zapotrzebowania.

Jak chcesz to idź :D ale pisze Ci to tak tylko gwoli ścisłości i przemyśleń

5

Jakiekolwiek "zdecydowanie się na coś" jest bezzasadne. Po co miałbyś się ograniczać do jakiejś jednej technologii. Po prostu rozwijaj się w tym na co aktualnie masz ochotę aż znajdziesz pracę zgodną z Twoimi skillami.

Nie przejmuj się tym że jak firmy podają wymagania na ofertę to wyliczają technologie używane w ich firmie - to jest mało istotne. Ludzie piszą Java, Spring, React, bo to jest łatwiejsze - i nikt nie zadaje sobie trudu na opisanie faktycznych umiejętności które miałby mieć pracownik. Jak ja się rekrutuję na jakąś nową pozycję to nawet nie pytam ich o stack technologiczny, bo wiem że i tak - jaki by nie był, to wdrożenie się zajmie mniej niż 3 miesiące. Faktyczne istotne elementy to jest to jak podchodzą do developmentu, czy stosuja TDD, Clean Code; oraz inne elementy, czyli jakie miałbyś mieć odpowiedzialności - czy miałbyś rozwijać produkt, ustalać wymagania, rozmawiać z klientami, czy miałbyś być odpowiedzialny za wdrożenia, dodawanie nowych elementów do całego systemu. To czy piszesz w node.js czy w pythonie, to na prawdę są szczegóły, tak samo nieistotne jak to czy pracujesz na Macu czy Windowsie albo czy wolisz Firefox czy Chrome. Faktyczna technologia w jakiej będziesz pracował ma czwartorzędne znaczenie.

Swoją drogą to jest bardzo słabe - że wszyscy mają wbudowane w głowie że oferty tak powinny wyglądać - lista technologii i nic więcej; że niby to ma być poważna oferta?

2
Riddle napisał(a):

Swoją drogą to jest bardzo słabe - że wszyscy mają wbudowane w głowie że oferty tak powinny wyglądać - lista technologii i nic więcej; że niby to ma być poważna oferta?

This.
To plaga na Linkedin, gdzie rekruterzy próbują zachęcić rzeczami typu "projekt w technologiach X, Y, Z", gdzie dla mnie technologie to taki warunek wstępny do rozmów, natomiast nie jest to coś, co jest w stanie utrzymać moją uwagę, więc nawet jak mówię, że jestem zainteresowany, to później zapominam odpisać dalej albo nie chce mi się nawet umawiać na rozmowę, bo nie mam punktu zaczepienia czym się różni ta oferta od dziesiątek innych w podobnych technologiach.

A jak powinno być? Powinni mówić, jakiego problemy biznesowe rozwiązuje produkt i dla kogo, ile osób nad nim pracuje, jak długo już go robią, czy przynosi zyski, czy dopiero startup, jakie mają problemy w projektach, jak podchodzą technicznie (np. do tematu testów, jakości, deadline'ów itp.). Jak działają jako firma, jaką mają kulturę pracy, jak przebiega współpraca z klientami, jeśli pracują dla klientów zewnętrznych itp. a nie tylko mamy projekt z technologiami X, Y, Z.

Oczywiście tych rzeczy można się dowiedzieć później, na rozmowie, ale czemu takich podstaw nie mówią od razu?

0
LukeJL napisał(a):
Riddle napisał(a):

Swoją drogą to jest bardzo słabe - że wszyscy mają wbudowane w głowie że oferty tak powinny wyglądać - lista technologii i nic więcej; że niby to ma być poważna oferta?

This.
To plaga na Linkedin, gdzie rekruterzy próbują zachęcić rzeczami typu "projekt w technologiach X, Y, Z", gdzie dla mnie technologie to taki warunek wstępny do rozmów, natomiast nie jest to coś, co jest w stanie utrzymać moją uwagę, więc nawet jak mówię, że jestem zainteresowany, to później zapominam odpisać dalej albo nie chce mi się nawet umawiać na rozmowę, bo nie mam punktu zaczepienia czym się różni ta oferta od dziesiątek innych w podobnych technologiach.

A jak powinno być? Powinni mówić, jakiego problemy biznesowe rozwiązuje produkt i dla kogo, ile osób nad nim pracuje, jak długo już go robią, czy przynosi zyski, czy dopiero startup, jakie mają problemy w projektach, jak podchodzą technicznie (np. do tematu testów, jakości, deadline'ów itp.). Jak działają jako firma, jaką mają kulturę pracy, jak przebiega współpraca z klientami, jeśli pracują dla klientów zewnętrznych itp. a nie tylko mamy projekt z technologiami X, Y, Z.

Oczywiście tych rzeczy można się dowiedzieć później, na rozmowie, ale czemu takich podstaw nie mówią od razu?

No dokładnie.

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