Front-end vs Back-end - nauka i późniejsza kariera

2015-04-02 14:26
0

Jeśli napisałem w złym dziale, to przepraszam.

Od kilku dni uczę się programować - znam "podstawy podstaw" C++ i teraz uczę się Javy. Jako, że w przyszłości chcę znaleźć zatrudnienie jako programista, chciałbym dowiedzieć się kilku rzeczy w tej kwestii. Wobec tego mam następujące pytania (mogą wydawać się śmieszne lub głupie dla osób, dla których jest to chleb powszedni, ale od czegoś trzeba zacząć):

  1. Czy prawdą jest, że Front-End rzeczywiście jest prostszy w nauce? Słyszałem i czytałem, że do Back-Endu bardziej przydaje się/wymagana jest znajomość matematyki, rozwiązywania złożonych problemów logicznych. Jeśli to prawda, albo nie - mógłby ktoś przedstawić różnice w "profilu" osoby zajmującej się Front-Endem i Back-Endem? Tzn. np. Backend, to bardziej matematyk, a Frontend to (wydaje mi się) grafik, choć również musi umieć myśleć logicznie i znać się na kodowaniu.
  2. Czas nauki Frontendu i Backendu. Zdaję sobie sprawę, że programowanie jako nauka i zawód wymaga ciągłego rozwoju i poznawania nowych technologii. Minie kilka lat zanim żółtodziób zdobędzie doświadczenie. Konkretnie - czy krócej trwa nauka Frontendu czy Backendu? Wpływ na to zapewne ma ilość technologii/środowisk, które programista danej dziedziny musi umieć.
  3. Czy łatwiej przejść (znając już jedno) z Frontendu na Backend, czy odwrotnie? Czy w pracy, mając do czynienia z zespołami tworzącymi jakiś projekt - bardziej przydają się pracownicy Frontendu czy Backendu?
  4. Sytuacja na polskim rynku pracy. Czy łatwiej jest znaleźć pracę jako Frontend czy Backend? W której dziedzinie poszukiwanych jest więcej osób? Czytałem też, że Back-Endowcy lepiej zarabiają.

Mam też pytania dotyczące technologii mobilnych - pisania aplikacji choćby na Androida. Słyszałem/czytałem, że to głównie Java. Czy to kwalifikuje się do Backendu czy jest traktowane jako odrębna dziedzina informatyki? I tak w skrócie: jak z trudnością nauki pisania aplikacji mobilnych do front/backendu? A potem, jak z rynkiem pracy Apki Mobilne vs Front/Backend?

Z góry bardzo dziękuję za rzetelne odpowiedzi.

Pozostało 580 znaków

2015-04-02 15:59
0

czytam pierwszy punkt, ze do backendu wymagana jest matematyka, co jest bzdura (na ogol)

reszty mi sie nie chce czytac

temat poruszany na forum wielokrotnie. Poszukaj i poczytaj...

edytowany 1x, ostatnio: fasadin, 2015-04-02 15:59

Pozostało 580 znaków

2015-04-03 13:43
0

Szukałem i nie znalazłem konkretnych odpowiedzi. Fajnie by było taki temat podpiąć, bo zawarte w nim informacje mogłyby naprowadzać osoby zaczynające przygodę z programowaniem na to, czy wolą działać Frontendowo, czy Backendowo.

Odświeżam.

Pozostało 580 znaków

2015-04-07 15:41
3
  1. Czy prawdą jest, że Front-End rzeczywiście jest prostszy w nauce? Słyszałem i czytałem, że do Back-Endu bardziej przydaje się/wymagana jest znajomość matematyki, rozwiązywania złożonych problemów logicznych. Jeśli to prawda, albo nie - mógłby ktoś przedstawić różnice w "profilu" osoby zajmującej się Front-Endem i Back-Endem? Tzn. np. Backend, to bardziej matematyk, a Frontend to (wydaje mi się) grafik, choć również musi umieć myśleć logicznie i znać się na kodowaniu.

Nie. Jedno z drugim nie ma nic wspólnego. Różnica najwyżej taka że frontendowcy muszą się lepiej znać na tym jak coś fajnie wyświetlić, a backendowcy jak coś efektywnie pobrać z bazy danych.

  1. Czas nauki Frontendu i Backendu. Zdaję sobie sprawę, że programowanie jako nauka i zawód wymaga ciągłego rozwoju i poznawania nowych technologii. Minie kilka lat zanim żółtodziób zdobędzie doświadczenie. Konkretnie - czy krócej trwa nauka Frontendu czy Backendu? Wpływ na to zapewne ma ilość technologii/środowisk, które programista danej dziedziny musi umieć.

Oba trwają długo.

  1. Czy łatwiej przejść (znając już jedno) z Frontendu na Backend, czy odwrotnie? Czy w pracy, mając do czynienia z zespołami tworzącymi jakiś projekt - bardziej przydają się pracownicy Frontendu czy Backendu?

Ani jedno ani drugie - jest równie trudno/równie łatwo. To zależy od projektu. Jak piszesz system który wykonuje kupę obliczeń a na koniec wyświetla "true" lub "false" to frontendowców zbyt wielu nie trzeba. A jak piszesz prostego CRUDa to backend można napisać w 1 dzień, a może potem chcesz to ładnie prezentować i będziesz miał cały zespół ludzi od frontu.

  1. Sytuacja na polskim rynku pracy. Czy łatwiej jest znaleźć pracę jako Frontend czy Backend? W której dziedzinie poszukiwanych jest więcej osób?

Myślę że bez różnicy

Czytałem też, że Back-Endowcy lepiej zarabiają.

A ja czytałem o smokach i czarodzejach. Ma to tyle samo wspólnego z rzeczywistością ;]


Na PW przyjmuje tylko (ciekawe!) zlecenia. Masz problem? Pisz na forum, nie do mnie.

Pozostało 580 znaków

2015-04-08 00:45
0

Co do ostatniego, to akurat się zgodzę, bo do backendu trzeba znać cięższe technologie i frameworki, bazy danych, itp., rzeczy do których nie każdy ma głowę, i są też mniej satysfakcjonujące, bo nie dają od razu efektu kilkugodzinnej pracy.
A HTML i CSS to się może każdy nauczyć, a efekt pracy zazwyczaj widać od razu.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
Wiesz sam HTML i CSS frontendowca nie czyni :D - lightinside 2015-06-08 12:06

Pozostało 580 znaków

2015-04-08 02:50
0

A HTML i CSS to się może każdy nauczyć,

Backendu tak samo. Każdy kto chce i poswieci odpowiednią ilość czasu. I ma jakiekolwiek predyspozycje do tego.

a efekt pracy zazwyczaj widać od razu.

Teoretycznie. Praktycznie to praca frontendowca polega na ciągłym kombinowaniu/majstrowaniu. To nie jest tak, że napiszesz i coś widać, tylko czasem trzeba kombinować/tweakować style CSS w edytorze albo w DevToolsach, i ciągle coś nie wygląda tak jak trzeba. To bywa strasznie frustrujące.

A jak programujesz (w czymkolwiek, nawet po stronie frontendu w JS) to może efektu nie widać, ale jednak jest to coś twórczego, rozwiązujesz jakieś twórcze problemy (natomiast nie powiedziałbym np. że twórczym problemem jest decydowanie czy wstawić display: block, czy display: inline-block czy float: left. Owszem, na pewno przy większych rzeczach można się popisać trochę jeśli chodzi o nazewnictwo, mixiny w SCSS/SASS, reużywalność komponentów/szablonów etc. ale na takim podstawowym poziomie "ty i przeglądarka" jest to raczej monotonna robota).

Plus jest to trudne w testowaniu. Backendowiec sobie łatwo napisze unit testy i będzie je odpalał za każdym razem po zmianie kodu, a frontendowiec ma ciężej. Pół biedy jak jest to moduł w JS, ale jak np. przetestować wygląd strony i czy style CSS się prawidłowo nakładają, i czy nic się nie rozjeżdża? Na pewno można to zautomatyzować (Selenium itp.), ale też nie do końca.

Co do ostatniego, to akurat się zgodzę, bo do backendu trzeba znać cięższe technologie i frameworki,

do frontendu trzeba znać "lżejsze" technologie, ale jest ich chyba więcej. Ogarnij na dzień dobry HTML, CSS, JavaScript, jQuery, Angular, SASS, Bootstrap, Grunt, Jasmine, Mocha, NodeJS, Backbone, SVG i wiele innych (a wymieniłem tylko te bardziej popularne technologie...).

Jak tak patrzę na świat backendu to aż zazdroszczę trochę. Bo wydaje mi się, że jednak jest mniej do nauczenia się. Jakiś język, jakiś framework, SQL, kwestie bezpieczeństwa i ruszasz w świat (oczywiście zdaję sobie sprawę, że to bagatelizacja ;)

Frontend to (wydaje mi się) grafik,

No nie. Grafik to grafik, frontend to frontend. Grafik = Photoshop. Frontend = HTML/CSS/JavaScript. Tak w dużym uproszczeniu.
Jeszcze są rzeczy typu cięcie szablonów, które są gdzieś na zbiegu grafiki i frontendu... ;)


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);
edytowany 1x, ostatnio: LukeJL, 2015-04-08 02:52

Pozostało 580 znaków

2015-04-08 08:49
0

@somekind czy ja wiem? Może z 10 lat temu faktycznie tak było że frontend webowy to był sam html i css i ewentualnie trochę javascriptu. Ale dziś mamy spory wzrost zainteresowania frameworkami typu angular, backbone czy jquery. Na dobrą sprawę historia zatacza koło bo znów wracamy do "ciężkich klientów" tylko że tym razem są to klienci webowi.


Na PW przyjmuje tylko (ciekawe!) zlecenia. Masz problem? Pisz na forum, nie do mnie.

Pozostało 580 znaków

2015-04-08 11:59
1
LukeJL napisał(a):

Backendu tak samo. Każdy kto chce i poswieci odpowiednią ilość czasu. I ma jakiekolwiek predyspozycje do tego.

W backendzie jest jednak dużo więcej programowania, którego duża część ludzi nie rozumie. I szybciej nauczysz się jak zrobić coś bajeranckiego, coś co docenią zwykli ludzie we frontendzie niż w jakimś ciężkim backendowym frameworku.

Teoretycznie. Praktycznie to praca frontendowca polega na ciągłym kombinowaniu/majstrowaniu. To nie jest tak, że napiszesz i coś widać, tylko czasem trzeba kombinować/tweakować style CSS w edytorze albo w DevToolsach, i ciągle coś nie wygląda tak jak trzeba. To bywa strasznie frustrujące.

Wiem na czym polega ta praca, i uwierz mi, że w porównaniu z backendem, efekty są natychmiastowe. Sam zresztą piszesz o devtoolsach - widzisz zmianę jeszcze zanim zmienisz ją we właściwym kodzie. W backendzie tak się w zasadzie nie da, a kompilacja, redeploy aplikacji z bazą, itd., trwają, nie wspominając już o tym, że backend często w ogóle nie ma widocznej części.
Debugowanie we frontendzie też jest znacznie prostsze.

do frontendu trzeba znać "lżejsze" technologie, ale jest ich chyba więcej. Ogarnij na dzień dobry HTML, CSS, JavaScript, jQuery, Angular, SASS, Bootstrap, Grunt, Jasmine, Mocha, NodeJS, Backbone, SVG i wiele innych (a wymieniłem tylko te bardziej popularne technologie...).

Owszem, backend jest bardziej stabilny, nie pojawia się tyle nowych bibliotek i frameworków, co we frontendzie.

Shalom napisał(a):

@somekind czy ja wiem? Może z 10 lat temu faktycznie tak było że frontend webowy to był sam html i css i ewentualnie trochę javascriptu. Ale dziś mamy spory wzrost zainteresowania frameworkami typu angular, backbone czy jquery. Na dobrą sprawę historia zatacza koło bo znów wracamy do "ciężkich klientów" tylko że tym razem są to klienci webowi.

Ale nadal we frontendzie nie trzeba się zajmować serwerami, wielowątkowością, wydajnością zapytań SQL, wyciekami pamięci, itd.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2015-04-08 12:50
0

Dziękuję za dotychczasowe odpowiedzi.
Jeśli programiści Frontendu cieszą się podobnym zapotrzebowaniem co Backendu, to dlaczego teraz jest taki boom na Javę, która to głównie używana jest w Backendzie?
Chciałbym po prostu dowiedzieć się, dla kogo lepszy jest Frontend, a dla kogo Backend. Jeśli backend to mechanika aplikacji, serwera, bazy danych; zaś frontend to tylko (albo "aż") wygląd strony i dopieszczanie detali - to czy w uproszczeniu można przyjąć, że Backend jest dla osób lepiej radzących sobie z rozwiązywaniem problemów logicznych, cechujących się lepsza analizą problemu i jego rozwiązaniem? Natomiast do Frontendu potrzeba poczucia estetyki, cierpliwości, częstszego "update'u" odnośnie nowinek w tej dziedzinie? Może infantylne to porównanie, ale chciałbym poznać taki "profil" programisty frontendu i backendu, żeby dowiedzieć się (w moim przypadku) "w którą stronę pójść". Bo jeśli sytuacja na rynku pracy jest podobna i w obu przypadkach trzeba umieć programować, ale ten efekt końcowy, tudzież podejście do tych dwóch "typów" programowania jest inne - to fajnie byłoby wybrać to, co jest dla kogoś przyjemniejsze, w czym będzie lepiej sobie radził i dzięki temu będzie wykonywał swoją pracę bardziej profesjonalnie.

edytowany 2x, ostatnio: Krzycho92, 2015-04-08 12:55

Pozostało 580 znaków

2015-04-08 13:01
1

Jako programista będziesz musiał szukać nowinek o Twojej dziedzinie do końca życia (ew. emerytury) bez względu na to w którą stronę pójdziesz. Taki nasz los.

Zauważ że każdy w tym temacie wypowiedział się po trochu na oba tematy, mimo że specjalizują się w jednym. Bo to nie jest tak że wybierasz sobie backend i zapominasz czym właściwie jest ten html. Dlatego moja propozycja jest prosta. Wybierz sobie jakąś technologię i napisz jakąś małą aplikację. Jak już to zrobisz to odpowiesz sobie czy bardziej podobało Ci się tworzenie strony wizualnej, czy raczej obmyślaniem tego co jest pod spodem. Bo nawet jeżeli programiści X zarabiają więcej od Y, to lepiej cieszyć się z pracy w Y i pokazywać klasę niż robić na odwal się w X.

@Edit

Jeśli programiści Frontendu cieszą się podobnym zapotrzebowaniem co Backendu, to dlaczego teraz jest taki boom na Javę, która to głównie używana jest w Backendzie?

Ja bym powiedział że jednak popyt na backendowców jest większy. Ale mimo to, zauważ że rzadko jest tak ze stosunek backendowców do frontendowców jest 1:1. Strony-wizytówki muszą być ładne i przyciągać klienta, ale jakiejś mega logiki nie wykonują więc starczy tylko frontendowiec. Z drugiej strony masz aplikacje bankowe które nie są widoczne dla klientów i nie muszą mieć pięknego gui, a wystarczy że wszystko jest czytelne. A pod tymi prostymi przyciskami siedzi cała masa kodu który muszą napisać backendowcy.

edytowany 1x, ostatnio: krzysiek050, 2015-04-08 13:08

Pozostało 580 znaków

2015-04-08 13:10
0

Wiem, że najlepiej sprawdzić sobie każdą technologie i wtedy okaże sie, czy to się podoba, czy nie. Uczę się tej Javy i nie wiem czy to mi się podoba. Bo przykładowo, taki programista Javy (czy ogólnie backendu) dostaje polecenie wykonania aplikacji, która ma mieć jakieś określone funkcje, w jakiś sposób działać. To ten backendowiec musi teraz te potrzeby przełożyć na kod, czyli zastanowić się w jaki sposób te funkcje zaprogramować - jakich metod użyć, ile zrobić klas, co po czym dziedziczy, jak to połączyć ze sobą aby działało. Zaś frontendowiec (tak mi się wydaje), ma już wytyczne co gdzie ma być umieszczone, jaki rozmiar/kolor, jakie efekty graficzne mają być i tak też piszę kod. Mam rację?

[edit]
Czy Frontend używany jest w aplikacjach mobilnych, czy ogranicza się on tylko do stron WWW?

edytowany 2x, ostatnio: Krzycho92, 2015-04-08 13:28
"ten backendowiec musi teraz te potrzeby przełożyć na kod, czyli zastanowić się w jaki sposób te funkcje zaprogramować - jakich metod użyć, ile zrobić klas, co po czym dziedziczy" - No ja z kolei uwielbiam modelowanie ;) Ale frontend też jest mi na rękę, tyle, że tak wychodzi zazwyczaj, że robię jednak backend. - forsberg 2016-08-29 16:14

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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