Node vs Python vs .NET do webdevu

1

Stoję przed dość poważnym dylematem. Mianowicie:
Jestem juniorem z 1.5 roku expa w JS + robiłem nadprogramo ciutkę Pythona (głównie React, Flask). W obecnej firmie warunki są niezadowalające, dodatkowo ciągnie mnie mocno do back endu (mam silne podstawy po studiach i zagadnienia te interesują mnie znacznie bardziej). Chcę skorzystać z okazji, że jestem jeszcze juniorem i mam opcję bezboleśnie przeskoczyć na inną technologię bez gigantycznych spadków w pieniążkach (z którymi tak czy siak u mnie obecnie krucho), dodatkowo trochę skilla na froncie może się później jeszcze przydać na jakichś pozycjach fullstackowych, więc nie uważam tego za czas zmarnowany. Plan więc jest prosty - przeskoczyć na back end. Problem pojawia się przy wyborze konkretnej technologii. Zakres poszukiwań zawęziłem do .NET, Pythona i Node'a - z tego co się orientuję, to są to najbardziej wszechstronne technologie i w sumie jest to dla mnie bardzo istotne, gdyż jestem silnie nadpobudliwy (raczej nie mam autyzmu lub ADHD, ale w sumie nie wiem xD) i lubię dłubać w zróżnicowanych prywatnych projektach bez obaw, że wykorzystuję do tego celu mocno nieoptymalne narzędzie.

W której z tych technologii powinienem się wyspecjalizować, żeby znaleźć jak najszybciej pracę i nie mieć później problemów? Tak jak wspomniałem, dotychczas zajmowałem się głównie front endem, ale trochę się wypaliłem, do tego rynek jest jaki jest, więc perspektywy na chwilę obecną niemal zerowe (jakiś tam odzew jest, ale głównie firmy oferujące jeszcze gorsze warunki niż obecne, również znajomi frątasie z 2-3 latami expa mówią, że nie jest kolorowo, choć da się coś znaleźć - nie mam wielkich wymagań, ale nie podoba mi się, że znajomi świeżo po liceum na start dostają na jakimś supporcie prawie tyle co ja xD + nie, nie jestem bardzo słaby i mam dobrze zrobione CV, a przynajmniej przyjmijmy takie założenie na potrzeby tego wątku). Przez exp w JSie poduczyłem się Node, ale odzew na CV jest zerowy. W Pythonie mam ciutkę expa, do tego dużo używałem go na studiach (jakieś symulacje, AI etc), ale tu z kolei ofek jest bardzo mało (większość to jakieś data science, ML, devops), a ilość chętnych na jedno miejsce również spora, więc nie mam za bardzo jak się wykazać na rozmowie + zdecydowanie musiałbym douczyć się Django, jakiś tam odzew na CV jest, ale mam braki i trochę nie chce mi się inwestować w to czasu, jeśli później ma być lipa. Zainteresował mnie też .NET, ale tu niestety komercyjnego doświadczenia nie mam żadnego, choć technologia ta bardzo mi się podoba (no poza tym, że niby raczej korzysta sie z niej głównie w dość hermetycznym Microsoftowym ekosystemie w dużych korpo), klepnąłem prostego CRUDa z Blazorem i bawiłem się wyśmienicie, rynek też zdaje się nieco mniej przesycony i myślę, że nauczenie się na tyle, by być employable jako junior nie byłoby zbyt wielką inwestycją czasu (parę miesięcy I guess).

tl;dr Python vs .NET vs Node jako kariera dla back endowca? Gdzie najstabilniejsze zatrudnienie, najciekawsze projekty?

4

Wybór technologii nie ma aż takiego znaczneia, skupiasz się na nieistotnych rzeczach.

Skup się raczej na podejściu do testów, agile, rozmawianiu z klientem, procesie wytwarzania oprogramowania, poznaj np pair progmraming, albo continuous refactoring.

2

14 lat temu świadomie wybrałem ścieżkę .NET i nie żałuję. Od tego czasu .NET przeszedł sporą metamorfozę. Od narzędzia związanego wyłącznie z ekosystemem MS po najnowszą multiplatformową wersję działającą na Win, Linx i Mac. Większość obecnych projektów w .NET to backend dla aplikacji SPA. Nie zgodzę się z tym że to narzędzie tylko do prostych apek/crudów. To samo można by powiedzieć o Javovym Springu. Obszar zastosowań dla ASP.NET Web API jest bardzo duży i tak jak pisałem stanowi obecnie większość projektów. Dobrze integruje się z różnymi bazami danych, kolejkami wiadomości czy swobodnie śmiga na chmurach i dobrze się konteneryzuje. Jest też dość wydajny, wpisera asynchroniczność, wielowątkowść, streamy, itd Owszem są firmy które napisały lub piszą coś ASP.NET MVC czy Blazorze ale raczej jest to nisza i nie chcesz pracować przy większej aplikacji napisanej w MVC.

Do tego .NET ma bardzo duże community, dobrą dokumentację, w sieci łatwo znaleźć przykłady i rozwiązania problemów, na GH jest masa sampli i bibliotek.

1

Jak siedzisz w JS już to wybrałbym na Twoim miejscu ... .Net. Node sobie zawsze potem ogarniesz przy okazji w razie potrzeby. A większe firmy, projekty to głównie C#/Java.

0
vrmkwsk napisał(a):

Przez exp w JSie poduczyłem się Node, ale odzew na CV jest zerowy.

Ale co z tego Node.js znasz? Bo na samej znajomości biblioteki standardowej to cię nie przyjmą.

Dlatego warto znać poszukiwane na rynku pracy frameworki: Express, Next.js, Fastify, Nest.js.
No i Postgres albo Mongo. Chmura, kontenery. Umiejętność testowania. Dobre praktyki.

W której z tych technologii powinienem się wyspecjalizować, żeby znaleźć jak najszybciej pracę i nie mieć później problemów?

To zdecyduj się. Bo teraz chcesz grać jednocześnie w długą grę (specjalizacja pod konkretną technologię wymaga czasu), jak i w krótką grę pod tytułem znaleźć jak najszybciej pracę.

Innymi słowy: podnosząc swój poziom kwalifikacji, długofalowo będziesz w lepszej pozycji do znalezienia pracy, jednak jeśli twoim priorytetem jest szybkie znalezienie pracy, to najłatwiej to zrobić odbywając hurtowo rozmowy o pracę i po każdej rozmowie się douczać tego, co ci słabo poszło (również w soft skillach, angielskim, sposobie, w jaki się prezentujesz). Za którymś razem się uda.

Jednak jeśli odzew na CV jest zerowy to jest to bloker, bo nie zaproszą cię nawet na rozmowę (chociaż możesz np. wypełnić profil na Linkedin i poczekać aż zacznie się sezon rekrutacji i będą do ciebie pisać).

nie mieć później problemów?

Zawsze będziesz miał problemy. Pytanie, jakie problemy chcesz mieć.

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