Backend czy fullstack, jak zostać prawdziwym specjalistą ?

1

Hej.
Postów o tematyce backend vs fullstack było już wiele tutaj, nieobcy mi jest również wpis na blogu: https://www.andyshora.com/full-stack-developers.html jak i wiele innych. Chciałbym spojrzeć na to z punktu kariery w Polsce lub zdalnej.

Ogólnie karierę swoją prawie równo 1 roczną zacząłem jako "Java Fullstack" może bardziej bym się skłaniał do nazwy "Java + Angular2" bo w css'y to ja nie umim :), jedynie bootsrap/ngBootstrap i jak tak patrzę z boku to trochę śmiać mi się chce z tego, bo czuję sie słaby absolutnie we wszystkim! ( W sumie to bardziej płakać) Pomimo tego, że byłem w stosunkowo złożonych projektach i nikt nigdy na mnie nie narzekał. Bilans rocznej pracy jest taki, że jestem absolutnie styrany psychicznie, kazde zadanie było walką o przetrwanie, każde zadanie było czyms nowym, czuję, że nic nie umiem, bo wszystko robię po 1 raz i jakby ktoś mnie sprawdził to by tak było. Przekonałem się, że jak coś jest do wszystkiego to jest do niczego. Na pewno przyda mi się wiedza z technologii frontowych, ale jednak chciałbym iść w stronę zawężonej specjalizacji i zostać faktycznie specjalistą w czymś. Nurtują mnie jednak pytania:

  1. Lubię pracę w mniejszych/średniej wielkości software housach, nie lubię korpo. W przeciągu roku pracowałem u wielu klientów i różnych miejscach. Czy to duży wyczyn złapać pracę w dużych projektach jako backendowiec w średnich i mniejszych firmach? Cały czas spotykam się z wymaganiami umiejętności frontu.
  2. Jaka jest tendencja obecnie w zapotrzebowaniu rynku i jakich zmian spodziewacie sie w przyszłości? Czy warto mocno się specjalizować w wąskim zakresie czy narastające zapotrzebowanie na niby Fullstacków będzie rosło?
  3. W ogromnej ilości ofert pracy na Java backend widzę wymagania umiejętności frontowych, zastanawia mnie to czy wąska specjalizacja będzie dobrym kierunkiem. Osobiście nie ma problemu gdy faktycznie pracy na froncie jest 10%, jednakże proporcje 50/50 mi nie leżą, a na pewno nie przez pare najbliższych lat.
1

Aktualnie jestem w fazie przeglądania ofert przed zmianą pracy i z moich obserwacji wynika, że oferty na fullstacka są średnio 10% wyższe niż na backendowca. Ogólnie fullstackiem trzeba lubić być ale z drugiej strony trzeba lubić też być typowo backendowcem. Mnie osobiście siedzenie fulltime w backendzie by zanudziło i właśnie lubię te urozmaicenie i robienie wszystkiego naraz, albo czasem miesiąc w jednym, miesiąc w drugim. Poświęcasz więcej czasu na naukę ale z drugiej strony więcej zarabiasz.
No i w sumie skoro nie tykasz się cssa to nawet fullstackiem by ciebie nie nazwał :p

4
Prędki_Lopez napisał(a):

Czy warto mocno się specjalizować w wąskim zakresie czy narastające zapotrzebowanie na niby Fullstacków będzie rosło?

Bardzo mało jest full stackowców którzy piszą zaawansowany backend i front. Zwykle sprowadza się to do napisania zapytania do api i wyświetleniu odpowiedzi. Jakieś proste formularze na froncie bez wodotrysków.

1

W software housach podstawą jest fullstack, aby móc ludzi płynnie przerzucać od jednego krótkiego projektu do drugiego. Z mojego doświadczenia wynika, że mimo iż teoretycznie wszyscy są fullstackami, to i tak ludzie się dzielą według upodobań (tzn. według tego, kto nienawidzi JS oraz tego, kto nienawidzi bajzlu na backendzie).
W większych korporacjach typu banki, ale też firmach, które maja własny produkt, raczej występuje podział, bo nawet management rozumie, że zapewnienie jakości wymaga większej specjalizacji.

0

Według mnie aktualny fullstack jest nieprzyszłościowy.

Aktualnie na froncie jest dużo jsa, który za kilka lat zostanie wyparty na rzecz wasma i frontend zamieni się w grafik+ui/ux+css+html, a backend będzie dodatkowo pisał w swoim języku front np. w jawie/pythonie/c++/etc.

Zobaczymy na ile się to sprawdzi :D

8

Moim zdaniem w tych czasach nie da się być dobrym full-stackiem. Ilosc technologii jest po prostu za duża żeby ogarnąć wsyztsko na wysokim poziomie.

0

Ciekawy temat, ja akurat jestem frontem, czuję się już całkiem pewnie, ale szczerze to jestem frontem z przypadku, bo tak trafiłem w pierwszej pracy i tak zostało, bo na początku warto się mocno specjalizować. Teraz myślę nad rozwojem w innych technologiach, bo kiedyś zawsze myślałem o pracy na backendzie i do tego się uczyłem, a wyszło jak wyszło :) Ale nie wiem czy nie lepiej dobrze ogarnąć Node'a i być typowym gościem od JS'a.

1

Ogolnie w mojej pracy od roku pracuje z C# + Angular 2+. Pracuje glownie na gotowych komponentach aczkolwiek zdarzalo mi sie tworzyc wlasne. CSS nie duzo dotykalem ale jak cos trzeba bylo to poprawialem. Z kolei na backendzie pisalem wszystko API, SQL, jakies inne wymagnaia tak wiec robilem wszystko. @mr_jaro dobrze podsumowal to ze czasem trafai sie taki okres gdize 2 mies 90% czasu to backend a czasem na opak. Mi podoba sie to ze nie siedze ciagle na backendzie bo wyniki mojej pracy moge zobaczyc i samemu zaprezentwoac na froncie a nie w debugerze czy postamanie ;). Na pewno nie robie tak zarabistego UI jak ci specjalisci od frontu, tak samo moj kod pewno czasem nie jest super optymalny po stronie backendu. Fullstackow latwiej rzucac po projketach bo moga cie na sam front wrzucic lub na backend tam gdzie akurat potrzebna jest pomoc. Btw obecnie moj sredni podzial prac to jest 70% Front 10% Backend 10% SQL. Pracuje w firmie ponizej 100 pracownikow jak cos ;).

0

To zależy ale po pytaniach które zadajesz, wydaje mi się, że nie masz pasji do tworzenia i nauki nowych rzeczy. W takim wypadku raczej polecałbym specjalizację - mniejszy zakres materiału, który szybciej i lepiej ogarniesz.
Plusy:

  • mniej nauki
  • mniej pracy
  • nie będziesz tym, do którego każdy przychodzi z jakimś pytaniem odnośnie dowolnej funkcjonalności apki lub jakiejś konfiguracji, środowiska itp (tylko ewentualnie o coś, czym się zajmujesz :D)

Minusy:

  • nie będziesz widział pełnego obrazu
  • mniej ofert pracy (będąc full-stackiem możesz startować na full-stacka albo tylko fronta albo tylko back-endowca)

Anyway, full-stackowcy są najbardziej potrzebni w małych firmach, np. "startupach". W software housach średnich+ i korpo jest zazwyczaj podział na konkretne role, choć ja pracuję jako full-stack w dużym banku; pewna inna ogromna korpo z USA szukała kogoś do typowego scruma, gdzie każdy dev jest full-stack devem, testerem (auto), DevOpsem w jednym (może się to niektórym nie podobać, ale wg mnie w takim środowisku ciężko o nudę:D)

1
adhed napisał(a):

Ale nie wiem czy nie lepiej dobrze ogarnąć Node'a i być typowym gościem od JS'a.

Zwykle i tak nie da się być w pełni gościem od JSa, bo jak Node, no to poznajesz Postgresy, Monga, Dockery i inne dziwy, a jak idziesz we frontend, to CSS też trzeba czasem napisać.

0

Ja planuje zostac fullstackiem chociaż jest cholernie cięzko żeby znaleźć czas i ogarnąć technologie na jakimś sensownym poziomie. Obecnie pracuje na froncie i to jest chyba dodatkowe utrudnienie bo myslę, że łatwiej jest zostać fullstackiem w kierunku backend -> front niż front -> backend.

0

Super, dzięki za odpowiedzi :)
@qbns, nie chodzi o brak pasji ale o to, że ja nie mam aż tyle siły i czasu, żeby wszystkiego na raz się uczyć. Nie wykluczam drogi fullstacka w przyszłości, bo wiele może się zmienic jeszcze.

Ogóllnie jesli w firmie jest Frontend, który robi css, a ja mam się zajmować wymiana danych w Angularze bądź innym frameworku to jest spoko, ale bycie specem w obu wartwach to przeginka, ja nie poznałem osobiście takich ludzi a pracuje w małym softwarehouse gdzie są sami fullstack, a i projekty mocne stosunkowo, no i ten front to zawsze tak u wszystkich średnio. Robota, którą nasz frontend w godzinę robi czasami się rozciąga na cały dzień.
Nie chodzi mi też o to aby mieć mniej do roboty, tylko o to, że natłok informacji jest za duży i serio nie widzę opcji aby ktos był naprawdę dobry w obu rzeczach. Wszystko jest uczone pobieżnie, a potem ludzie się boją, że przyjdzie "junior" z nauczonymi najnowszymi technologiami i ich wygryzie. Jest taka możliwość jesli posiada się wiedzę jedynie ogólną z wielu technologii, a nic specjalistycznej.

Z waszych opinii da sie wyczuć, że wolicie pozycję Fullstacka, z powodu różnorodności i braku nudy. Takie upodobanie mają również doświadczeni znajomi developerzy. W związku z tym odczuciem, oraz tym co udało mi się doświadczyć do tej pory w branży mam wrażenie, że w Polsce, a może i w wiekszości miejsc, ciężko o ciekawy backendowy projekt, który naprawdę pozwoliłby specjalizować się w tej dziedzinie. Zazwyczaj jest to klepanie cruda i tyle. Stąd szukacie różnorodności w pracy w obu warstwach. Stąd moje wątpliwości co do sensu mocnej specjalizacji, bo niby jest sie rzadko spotykanym specjalistą, a z drugiej strony mało pracy dla kogoś takiego. Czy sie mylę?

Odnośnie zarobków backend vs fullstack chyba nie ma aż takiej różnicy dużej z tego co widziałem, sporo zależy od firmy. Widziałem, dużo wysokich zarobków dla dobrego backenda, które w danym okresie przewyższały fullstacka.

Boje się, że nie da się pogodzić wysokiej specjalizacji z praca w nie-korpo, że w ogóle ciężko w Polsce o cenne typowo backendowe doświadczenie. Może się mylę?

0

Powiem wam, tak jak się chce i ma się mózg na swoim miejscu to można wszystko. Pracuje w filmie kilkunastoosobowej. Jestem jednym z 3 fullstacków przy czym jednym z 3 najlepszych backendowców i jednym z 2 najlepszych frontendowców. Nigdy nie wiedzą gdzie mnie wsadzić bo za dobrze sobie radze we wszystkim. W dodatku jako jedyny ogarniam noda na odpowiednim poziomie. Mam również certy, które potwierdzają, że jestem specjalistą od danego frameworka. Da się? Da. Tylko pewnie to zaleta tego, że ja po pracy dalej koduje swoje rzeczy, a inni myslą, że praca wystarczy. Średnio dziennie 10-12h koduje.

0
mr_jaro napisał(a):

Powiem wam, tak jak się chce i ma się mózg na swoim miejscu to można wszystko. Pracuje w filmie kilkunastoosobowej. Jestem jednym z 3 fullstacków przy czym jednym z 3 najlepszych backendowców i jednym z 2 najlepszych frontendowców. Nigdy nie wiedzą gdzie mnie wsadzić bo za dobrze sobie radze we wszystkim. W dodatku jako jedyny ogarniam noda na odpowiednim poziomie. Mam również certy, które potwierdzają, że jestem specjalistą od danego frameworka. Da się? Da. Tylko pewnie to zaleta tego, że ja po pracy dalej koduje swoje rzeczy, a inni myslą, że praca wystarczy. Średnio dziennie 10-12h koduje.

Jak ostatnio pisałeś robicie apki po kilkanaście mega css/js to chyba nie taki expert fullstack, raczej tu brakuje seniora, który by to spiął i ogarnął technologie, doradził rozwiązania, takie trochę klepanie na kolanie, byle było, oczywiście to sie sprzeda i na chleb będzie, bo sam tak nieraz klepie, ale braki widać niestety.

0
czysteskarpety napisał(a):

Jak ostatnio pisałeś robicie apki po kilkanaście mega css/js to chyba nie taki expert fullstack, raczej tu brakuje seniora, który by to spiął i ogarnął technologie, doradził rozwiązania, takie trochę klepanie na kolanie, byle było, oczywiście to sie sprzeda i na chleb będzie, bo sam tak nieraz klepie, ale braki widać niestety.

To nie jest kwestia doświadczenia tylko czasu. Bo sposoby ja znam na zmniejszenie poprzez podział na większą ilość plików i ładowanie konkretnych. Kwestia, że z biznesowego punktu widzenia jest to nieopłacalne.

0

Już nie przesadzajmy, że podział na pliki to jest aż tyle roboty, sam ładuję odpowiednie widoki w MVC i zajmuje to kilka warunków (np. if url taki i sraki to ładuj to i to).

0

@czysteskarpety: nie ja decyduje co jest robione i w jakiej kolejności. Nowe projekty są już inaczej robione, a ten o którym mówiłem jest sprzed 3 lat gdzie firma woli inwestować w nowe funkcje niż optymalizacje bo "nikt nie zgłasza, że wolno działa, za to sa zgłoszenia czego brakuje"

6

Ja mam wrażenie ze rozbija sie to wszystko o definicje backendu w danym projekcie. Jeśli to jest zwykły CRUD to jak dla mnie nie ma tam praktycznie backendu i wtedy taki fullstack to jest realnie frontend + jakaś prosta interakcja z DB.
Nie widzialem jeszcze fullstacka w projekcie z prawdziwym backendem (kilkanaście/kilkadziesiąt mikroserwisów ze złożoną logiką biznesową). Ale to jest taka fizyczna limitacja, po prostu nie da się ogarniać wszystkiego.

edit: jak wygląda fullstack? https://karrierestart.no/ledig-stilling/887609?viewName=JobAdPrint ;)

0

O to mi chodzi własnie co napisał @Shalom , zastanawiam się czy w Polsce jest gdzie poszukać takich projektów z prawdziwym backendem, czy jedyne miejsce to jakieś wybrane korpo i tylko i wyłącznie korpo. Chociaż, żeby w tych korpo był wybór :D Bo jeśli wszędzie są same CRUD'y to wiadome, że fullstack będzie zarabiał więcej i więcej pracy będzie miał, bo skąd backend ma wziąc doświadczenie mocne.

1

@Shalom: zgadzam się - fullstackowcy często umieją średnio front i średnio backend. Np. wątpie żeby Tomasz Nurkiewicz czy jakub Kubryński mieli czas na nadążanie za światem JavaScriptu :)

1
Prędki_Lopez napisał(a):

O to mi chodzi własnie co napisał @Shalom , zastanawiam się czy w Polsce jest gdzie poszukać takich projektów z prawdziwym backendem

Myślę, że jak w Javie to w Allegro może się udać.

0

@somekind: troche słabo z wyborem w takim razie :D

0

Nie siedzę w tej technologii, więc więcej firm nie znam. Niech się koledzy Javowcy wypowiedzą.

0

A Spartez? :D :D :D
W Warszawie z tego co wiem Software Plant ma dosyć złożone projekty.

0

A wrocław? :P

3
Prędki_Lopez napisał(a):
  1. Jaka jest tendencja obecnie w zapotrzebowaniu rynku i jakich zmian spodziewacie sie w przyszłości? Czy warto mocno się specjalizować w wąskim zakresie czy narastające zapotrzebowanie na niby Fullstacków będzie rosło?

Wg mnie nie ma czegoś takiego jak "niby fullstack". Mogą być co najwyżej "niby rozsądni pracodawcy/szefowie".
Zakładam że od fullstacka nie oczekuje się znajomości zaawansowanej typografii, koncepcji harmonii kolorów (tej czy innej) czy też znajomości filtrów w PS.
Jak jesteś full-stackiem to robisz cały backend a front ogarniasz gotowym szablonem / frameworkiem / jQuery.
Jak ktoś mi mówi że nie może ogarnąć czegoś takiego jak Bootstrap to wiem że to jest lenistwo i brak chęci do wychodzenia poza strefę komfortu.
Specjalizacja "tylko backend" albo "tylko JS" to wg mnie pobożne życzenie i oczywiście cuda się zdarzają, ale albo zostaniesz zamknięty w piwnicy albo będziesz siedział w jednym projekcie 10 lat bo nikt na rozmowie nie przełknie że nie chcesz robić w CSSie...
Wiadomo, że trzeba znać CSS-a w stopniu podstawowym, bo każdy framework ma jakieś braki które trzeba uzupełnić, ale bez przesady.

0
Shalom napisał(a):

Nie widzialem jeszcze fullstacka w projekcie z prawdziwym backendem (kilkanaście/kilkadziesiąt mikroserwisów ze złożoną logiką biznesową). Ale to jest taka fizyczna limitacja, po prostu nie da się ogarniać wszystkiego.

Bez przesady, jak najbardziej są tacy programiści. Chociażby w mojej firmie położono ogromny nacisk aby każdy przy obecnym projekcie ogarniał zarówno front jak i backend. Naturalnie da się zauważyć to że jedni lepiej sobie radzą przy UI a drudzy przy backendzie. No i w zasadzie o to w tym chodzi. Jeśli mam jakiś większy problem przy zrobieniu czegoś w widoku to poproszę kolegę który bardziej to ogarnia o pomoc, i vice versa.

Co do limitacji w projekcie z wieloma mikroserwisami, to problem bardziej może leżeć po stronie złego zorganizowania zespołów. Jeśli jest one-man-army który musi ogarniać cały backend i domenę biznesową w każdym serwisie to coś jest nie tak.

0
vpiotr napisał(a):
Prędki_Lopez napisał(a):
  1. Jaka jest tendencja obecnie w zapotrzebowaniu rynku i jakich zmian spodziewacie sie w przyszłości? Czy warto mocno się specjalizować w wąskim zakresie czy narastające zapotrzebowanie na niby Fullstacków będzie rosło?

Wg mnie nie ma czegoś takiego jak "niby fullstack". Mogą być co najwyżej "niby rozsądni pracodawcy/szefowie".
Zakładam że od fullstacka nie oczekuje się znajomości zaawansowanej typografii, koncepcji harmonii kolorów (tej czy innej) czy też znajomości filtrów w PS.
Jak jesteś full-stackiem to robisz cały backend a front ogarniasz gotowym szablonem / frameworkiem / jQuery.
Jak ktoś mi mówi że nie może ogarnąć czegoś takiego jak Bootstrap to wiem że to jest lenistwo i brak chęci do wychodzenia poza strefę komfortu.
Specjalizacja "tylko backend" albo "tylko JS" to wg mnie pobożne życzenie i oczywiście cuda się zdarzają, ale albo zostaniesz zamknięty w piwnicy albo będziesz siedział w jednym projekcie 10 lat bo nikt na rozmowie nie przełknie że nie chcesz robić w CSSie...
Wiadomo, że trzeba znać CSS-a w stopniu podstawowym, bo każdy framework ma jakieś braki które trzeba uzupełnić, ale bez przesady.

@vpiotr masz racje, takiego Nurkiewicza pewno nikt by nie wziął do pracy bo on tylko w backend :) (przynajmniej z tego co mi wiadomo)

EDIT:
no dobra, znalazłem gdzieś jakieś jego materiały o JS, ale nadal zakładam że jakby nie był INTO JS to nadal nie miałby problemów pod tytyłem "siedzenie w piwnicy" :)

0

Są firmy które robią backend w javie, np. banki, zakłady online czy BTC tylko zazwyczaj często są to mniejsze firmy które aż tak się nie reklamują.

0
vpiotr napisał(a):

Zakładam że od fullstacka nie oczekuje się znajomości zaawansowanej typografii, koncepcji harmonii kolorów (tej czy innej) czy też znajomości filtrów w PS.
Jak jesteś full-stackiem to robisz cały backend a front ogarniasz gotowym szablonem / frameworkiem / jQuery.

Ale frontend to nie tylko web.

Specjalizacja "tylko backend" albo "tylko JS" to wg mnie pobożne życzenie i oczywiście cuda się zdarzają

Zawsze wiedziałęm, że jestem cudowny. ;)

Aventus napisał(a):

Bez przesady, jak najbardziej są tacy programiści. Chociażby w mojej firmie położono ogromny nacisk aby każdy przy obecnym projekcie ogarniał zarówno front jak i backend.

Takie coś może działać przy małych i średnich monolitach, w software housach czy wewnętrznych narzędziach firmowych. Jak produkt jest duży, a samych aplikacji frontendowych jest kilkadziesiąt, to nie ma miejsca na fullstacków.

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