Praca front-end

0

Witam. Mam dwa pytania związane z pracą na stanowisku front-end developer:

  1. Często widzę ogłoszenia "Praktyki front-end (dla studentów)". Czy oprócz tego że student uczy się w kierunku związanym z pracą programisty to są jeszcze jakieś plusy dla pracodawcy? Dlaczego preferują praktyki dla studentów? Ja mam zamiar studiować kierunek związany z programowaniem ale jak na razie skupiam się na samej nauce pod ten dokładnie zawód. Czy jestem z góry na o wiele gorszej pozycji w przypadku jeżeli jeszcze nie zacząłem studiować?

  2. Czy jest jakiś okres w roku kiedy jest więcej ofert pracy lub praktyk na stanowisku front end? Pytanie moze głupie ale zauwazyłem ze praktyki najczęściej wypadają na wakacje.

1

A dla kogo mają być praktyki studenckie jak nie dla studentów właśnie? Z reguły najwięcej na takich praktykach korzysta firma bo student to najtańsza siła robocza.

Tak, praktyki w większości przypadków wypadają w wakacje.

0

Chodzi mi o opcję praktyk, po których mógłbym zostać zatrudniony na dłuższy czas w danej firmie.

1

Nie możesz po prostu od razu iść do pracy? Praktyki to formalność, którą trzeba odbębnić na studiach, a ty chyba chcesz pracować?

0

Jasne że wolałbym pójść od razu do pracy. Tylko nie jestem pewien czy moje umiejętności będą wystarczające. Po prostu nie szukałem jeszcze pracy jako programista, dlatego pojawiają się w mojej głowie różne pytania.

2

Jeżeli nie MUSISZ robić praktyk (bo np. uczelnia wymaga) to nie rób. Wysyłaj cv na juniora. Nawet jak pójdziesz na rozmowy i Ci podziękują to zdobędziesz doświadczenie w rozmowach i zobaczysz czego Ci brakuje. No ale możesz też się spodobać i dostaniesz normalne stanowisko zamiast praktyk za 1/3 pensji (:

0
Haskell napisał(a):

Nie możesz po prostu od razu iść do pracy? Praktyki to formalność, którą trzeba odbębnić na studiach, a ty chyba chcesz pracować?

Tylko żeby iść do pracy, to już trzeba coś umieć, a kolega to raczej frontendowo raczkuje. Javascript to trudny język, a jako pierwszy to już w ogóle sobie tego nie wyobrażam.

2
  1. Są często dla studentów, bo zazwyczaj masz wtedy umowę zlecenie i pracodawca nie musi płacić ZUSu ani ubezpieczenia zdrowotnego. Dla niego to oszczędność, a Ty dostajesz pieniądze. Może sobie Ciebie wyszkolić i mieć taniego pracownika.

  2. W tym zawodzie jak widać oferty pracy są cały czas, z praktykami jest tak samo. Jedynie okres świąteczny, czyli koniec roku to może być mniejsze zapotrzebowanie, bo firmy domykają budżet, przynajmniej tak słyszałem.

2

Możecie się nie zgodzić, ale wydaje mi się, że we front endzie najłatwiej znaleźć prace jeśli chodzi o programowanie. Czy Javascript jest trudniejszy jak np C++ czy JAVA? Na pewno łatwiej o szybkie widzialne efekty co może na nowicjuszy działać mobilizująco.

5

Ja się akurat zdecydowanie zgodzę. We froncie jest chyba najniższy próg wejścia i jak ktoś chce szybko zacząć pracę, to myślę, że warto od tego zacząć, bo tak czy siak znajomość Javascriptu + HTML i CSS przyda się w przyszłości w pracy w Webie w .NET albo w Javie.

0
sqlka napisał(a):
Haskell napisał(a):

Nie możesz po prostu od razu iść do pracy? Praktyki to formalność, którą trzeba odbębnić na studiach, a ty chyba chcesz pracować?

Tylko żeby iść do pracy, to już trzeba coś umieć, a kolega to raczej frontendowo raczkuje. Javascript to trudny język, a jako pierwszy to już w ogóle sobie tego nie wyobrażam.

js trudny ?
wdrożenie prostych skryptów na stronkę to często kwestia zmiany sznurków do plików i ewentualnie pliku z kodem, przy okazji można poznać składnię, oczywiście dalej już trzeba się przyłożyć no ale jak ze wszystkim

3

Czy Javascript jest trudniejszy jak np C++ czy JAVA? Na pewno łatwiej o szybkie widzialne efekty co może na nowicjuszy działać mobilizująco.

JavaScript jest dziwny.

  1. nazwa JavaScript jest bez sensu, bo nie ma to nic wspólnego z Javą
  2. jest słabe typowanie, co jest powodem wyśmiewania JavaScriptu przez programistów innych języków, oraz może powodować WTFy jeśli ktoś o tym zapomni.
  3. jest dziedziczenie prototypowe zamiast klasowego (nawet klasy z ES6 to afaik jedynie cukier składniowy dla dziedziczenia prototypowego)
  4. zmienne deklarowane przy użyciu instrukcji var mają zasięg na całą funkcję (a nie na blok), co powoduje dalsze WTFy (jednak ES6 i let czy const pozwala tego uniknąć).
  5. programowanie często opiera się na domknięciach (closures), czyli funkcjach-w-funkcji. Funkcje traktuje się też w taki sposób jakby funkcje były zwykłymi obiektami (np. podaje się je w argumentach). Także często robisz funkcję, która zwraca inną funkcje. Generalnie funkcje grają olbrzymią rolę w JavaScript, większą niż obiekty (pomijam już, że w JS każda funkcja to obiekt).

Tym niemniej programowania opartego o funkcje trzeba się też nauczyć (tam gdzie w innym języku zrobiłbyś klasę, tam w JS często napiszesz funkcję)

  1. zmienna this w metodach nie jest tym, czym się wydaje. Inaczej działa niż w innych językach.

  2. programowanie asynchroniczne, promises i inne cuda.

  3. kontakt z DOMem, niespójności i bugi w przeglądarkach. Czasem chcesz coś zrobić, ale włącza się bug albo brak wsparcia dla nowej opcji HTML5. Generalnie jak chcesz robić strony to nie tylko JavaScriptem musisz się przejmować, ale również HTML, CSS i przeglądarkami jako takimi. Co bywa mega upierdliwe.

  4. nie jest to konieczne i jeśli jesteś początkujący to możesz to olać - ale programowanie w JS na bardziej zaawansowanym poziomie wiąże się ze stawianiem skryptów budujących (np. w Gulp), podpinaniu transpilatorów (np. Babel, który konwertuje nowy nie-wszędzie-albo-nigdzie-nie-obsługiwany-w-pełni standard ES6 do standardu ES5), preprocesorów CSSa etc.

no, w sumie tyle jest punktów, które mi przychodzą na myśl, które mogą być potencjalnie trudne (w losowej kolejności - szczerze mówiąc to najbardziej trudny dla mnie był zawsze punkt 8 czyli wszystko co związane z jakimiś dziwnościami w przeglądarkach, dziwami w CSS, bugami itp. Chociaż punkt 7. (asynchroniczność) też daje popalić).

Aczkolwiek nie zrażałbym się, bo myślę, że w każdym języku można znaleźć trudne elementy.

6
LukeJL napisał(a):
  1. jest słabe typowanie, co jest powodem wyśmiewania JavaScriptu przez programistów innych języków, oraz może powodować WTFy jeśli ktoś o tym zapomni.

To nie jest powód do wyśmiewania, lecz coś, co po prostu czyni język słabym i niewygodnym, by nie użyć słowa na "ch". Brak możliwości dowiedzenia zgodności typów przez kompilator sprawia, że prosty błąd w kodzie kończy się nie raz godzinami debugowania kodu w runtime.

Kolejną beznadziejną kwestią w JS są te wszystkie automatyczne konwersje (np. przy porównywaniach), które powodują, że nie ma się pełnej kontroli nad kodem i są źródłem kolejnych dziwnych błędów.

Następna rzecz, to nadmiar frameworków i bibliotek do wszystkiego, które są niewydajne, niestabilne i niepewne. Nigdy nie wiadomo, czy twórcy nagle nie przestaną czegoś wspierać, albo nie wpadną na genialny pomysł przepisania od zera. W tym świecie nie stosuje się sprawdzonych rozwiązań, a jedynie podąża za modami. W Jsmopolitan napisali, że tej jesieni modny jest np. React, i tak po prostu musi być - nikt nawet się nie zastanawia, czy to jest dobre czy złe rozwiązanie, czy nadaje się do tego, czy do innego zadania.

JS to nie jest język do pisania, niech go sobie interpretują przeglądarki, skoro nie ma innego wyjścia. Pisać należy w lepszych rozwiązaniach, takich jak TypeScript, w które pozwalają na stosowanie prawdziwych klas, udostępniają modyfikatory dostępu, bardziej intuicyjny this, i w ogóle generują cały ten JS boilerplate za nas.

0

Jeśli to tak c**** język, i tylko przeglądarki powinny go używać, to czemu wszyscy w to brną? TypeScript jest tylko kolejną warstwą nad JS i bez zrozumienia podstaw języka to wyjdzie słabo. Poza tym sam język jest prosty, a na pewno mniej złożony w dużych aplikacjach niż projekt Javowy. Hierarchia klas, interfejsów, różne implementacje w róznych pakietach, architektura tego wszystkiego to powoduje mind blowing. Ludzie dumają czy jak ruszą jakis interfejs to czy nie rozpierdzieli sie pół projektu. To nie jest normalne. This is Java...

A tak na marginesie, jaki sens ma flejm konkretnego języka, jeśli mamy conajmniej z 10 mainstreamowych do wyboru. Nie musisz mieć kompletnie styku z JS jeśli to Cię tak boli.

2

A mnie się wydawało, że języki programowania to po prostu narzędzia i niektóre z nich po prostu maja inne zastosowania...

2

Jeśli to tak c**** język, i tylko przeglądarki powinny go używać, to czemu wszyscy w to brną?

Z tego samego pewnie powodu, dla którego ludzie korzystają z CSSa i HTML, zamiast wyświetlać wszystko w WebGL... (naprawdę, kontrolki HTML i CSS są o wiele bardziej zepsute niż JavaScript, który przynajmniej zachowuje się przewidywalnie na większości przeglądarek już. A jak piszesz coś w HTML to nie masz pojęcia co ci wyjdzie z tego, bo na każdej przeglądarce zachowanie i wygląd może być nieco inne).

4
Świetny Lew napisał(a):

Jeśli to tak c**** język, i tylko przeglądarki powinny go używać, to czemu wszyscy w to brną?

Bo użytkownicy i klienci oczekują aplikacji webowych, a JS to jedyny język programowania, który obsługują przeglądarki.
Takie pytanie mógł zadać chyba tylko ktoś, kto spał przez ostatnie 10 lat.

Poza tym sam język jest prosty, a na pewno mniej złożony w dużych aplikacjach niż projekt Javowy.

To jest coś, co łączy JS z C++. Początkujący zawsze twierdzą, że są proste.

A tak na marginesie, jaki sens ma flejm konkretnego języka, jeśli mamy conajmniej z 10 mainstreamowych do wyboru. Nie musisz mieć kompletnie styku z JS jeśli to Cię tak boli.

Wymienienie wad czegoś to nie jest flejm tylko krytyka. Jeśli ktoś twierdzi, ze istnieją jakiekolwiek języki czy technologie bez wad, to znaczy, że bardzo słabo je zna.

0

Sensowna krytyka to podanie wad i zalet koło siebie. Same wady to flejm. Bo sam język jest prosty i przez to zajebiscie sie w nim pisze. Co z tego, że dużej wymaga wiedzy, aby nie narobic błędów. Od czego jest jshint(i jemu podobne, jeśli ktoś nie ma dobrych nawyków, ew. nie zna różnic między przeglądarkami), typescript, jeśli chce mieć koniecznie typy. W ogóle słoto typ/klasa to takie obiektowe, że aż uszy bolą w kontekście języka dynamicznie typowanego i dodatkowo funkcyjnego. Jeśli chcesz wiedzieć czy się nie pomyliłeś z typem - co za problem zrobic pare funkcji utilsowych, które zrobią za Ciebie to nad czym ronisz łzy ;)

Dodam jeszcze, że aplikacja którą rozwijam ma w tym momencie około 450-500 tys. linii kodu (drugie tyle to html) i serio nikt nie zapłakał nawet raz nad brakiem silnego typowania.

0

To co to za aplikacja, że aż tyle linii kodu JS zawiera?

Sensowna krytyka to podanie wad i zalet koło siebie. Same wady to flejm.

nie wiem o co chodzi, ale kontekst był, że ktoś się pytał o to czy JavaScript jest trudny, więc wypisałem wszystkie trudne punkty, jakie mi przyszły na myśl (jeśli piszesz o mojej wypowiedzi).

Nie miały to być w zamierzeniu wady (poza paroma punktami), a jedynie coś, co może być trudne ;)

1
Świetny Lew napisał(a):

Sensowna krytyka to podanie wad i zalet koło siebie.

Krytyka to negatywna ocena czegoś.

Same wady to flejm.

https://pl.wikipedia.org/wiki/K%C5%82%C3%B3tnia_internetowa

Bo sam język jest prosty i przez to zajebiscie sie w nim pisze. Co z tego, że dużej wymaga wiedzy, aby nie narobic błędów.

Prosty, ale wymaga dużo wiedzy...
Przede wszystkim wymaga dużo ostrożności i uwagi; więcej niż normalne języki. To wszystko kosztuje czas, a tracenie czasu na samodzielne upewnianie się kwestii, które da się zrobić automatycznie jest nierozsądne.

W ogóle słoto typ/klasa to takie obiektowe, że aż uszy bolą w kontekście języka dynamicznie typowanego i dodatkowo funkcyjnego.

Typy to normalny element wielu języków programowania, nie tylko obiektowych. Jest masa języków funkcyjnych, które maja systemy typów lepiej zorganizowane niż większość języków obiektowych. Dynamiczność to też nie problem, bo jest wiele języków dynamicznych, które z typami radzą sobie lepiej niż JS.
Problem z JS nie polega na funkcyjności i dynamiczności tylko na słabym typowaniu.

Jeśli chcesz wiedzieć czy się nie pomyliłeś z typem - co za problem zrobic pare funkcji utilsowych, które zrobią za Ciebie to nad czym ronisz łzy ;)

Może dlatego, że myślący ludzie zajmują się tworzeniem nowych rzeczy, a nie wynajdowaniem koła na nowo i kopiowaniem boilerplatu?

Dodam jeszcze, że aplikacja którą rozwijam ma w tym momencie około 450-500 tys. linii kodu (drugie tyle to html) i serio nikt nie zapłakał nawet raz nad brakiem silnego typowania.

Papuasi też nad nim nie płaczą.
Tekst o liniach kodu jest takim mocnym argumentem, że aż trudno skomentować. Rwanie na disko musicie mieć. :)

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