sobota, 14 stycznia 2017

Jak znale藕膰 prac臋 jako front end developer?


Od kilku lat, na rynku IT panuje boom na front end developer贸w, czyli programist贸w, kt贸rzy sprawnie pos艂uguj膮 si臋 takimi technologiami, jak HTML, CSS, Javascript oraz liczne frameworki i biblioteki tego j臋zyka. Moim zdaniem, je艣li interesujemy si臋 programowaniem i chcemy znale藕膰 ciekaw膮 prac臋, warto zaanga偶owa膰 si臋 w艂a艣nie w nauk臋 "frontu".



Poni偶szy tekst ma pokaza膰 kilka najwa偶niejszych kwestii, na kt贸re warto zwr贸ci膰 uwag臋, podczas nauki programowania i szukania pracy. Kolejno艣膰 przypadkowa.

1 - Ucz si臋 na takich projektach, jakie b臋dziesz realizowa艂 w pracy.

Praca front-end dewelopera cz臋sto polega na przenoszeniu designu stworzonego przez grafika, do kodu HTML/CSS 1:1 i musisz to umie膰. Tworzenie swoich projekt贸w i wymy艣lanie wygl膮du strony podczas samego kodowania jest fajne, ale w rezultacie, nie uczysz si臋 rozwi膮zywania problem贸w. Wpisz w Google fraz臋 "free psd website themes" i zakoduj kilka z nich tak, by pokrywa艂y si臋 z orygina艂em. Ucz si臋 te偶 nowych wtyczek JS - mo偶liwe jest, 偶e w pracy b臋dziesz g艂贸wnie je konfigurowa艂.
Odno艣nie do programowania w JS i innych j臋zykach - je艣li nie prze膰wiczysz przyk艂ad贸w z ksi膮偶ek na w艂asnych przyk艂adach, nic z nich nie wyci膮gniesz.

// dopisek Kamila z roku 2020 - niestety, ale niewiele projekt贸w robionych po godzinach jest tak rozbudowanych jak te, kt贸re realizujemy w pracy. Trudno jest te偶 liczy膰 we w艂asnym projekcie na jakiekolwiek code review, to te偶 wa偶ny czynnik.

2 - Pokazuj pracodawcom swoje uko艅czone projekty.

W pewnym momencie nauki zauwa偶y艂em, 偶e umiem zakodowa膰 stron臋 od "g贸ry do do艂u", ale ma ona sporo odst臋pstw od wygl膮du zaplanowanego przez grafika. To b艂膮d - o jako艣ci strony i wyko艅czeniu projektu, 艣wiadcz膮 te najmniejsze "smaczki" i dok艂adno艣膰 w odzwierciedleniu szablonu w Twoim kodzie.
Co do tworzenia portfolio - najlepiej jest to zrobi膰 w formie uko艅czonych stron na Github Pages, albo w postaci dzia艂aj膮cych stron na hostingu. Kilka 艣wietnych projekt贸w z wykorzystaniem ciekawych rozwi膮za艅, pozwoli Ci 艂atwiej nawi膮za膰 wsp贸艂prac臋. Brak projekt贸w lub jedna strona, kt贸ra rozlatuje si臋 na w膮skim ekranie, automatycznie Ci臋 skre艣la.

Nie musisz tworzy膰 Twojej strony firmowej. Gdy pracodawca widzi, 偶e na Githubie wszystko "艣wieci si臋 na zielono" od razu wie, 偶e w艂o偶y艂e艣 w nauk臋 programowania odpowiedni wysi艂ek.



3- U偶ywaj walidatora

Walidator CSS, HTML a nawet Bootstrap, oraz JSLint/JS Hint i narz臋dzia do formatowania kodu - te narz臋dzia, daj膮 Ci pewno艣膰, 偶e Tw贸j kod jest poprawny i w miar臋 poprawnie sformatowany. Pracodawca mo偶e nie mie膰 czasu na analiz臋 kodu, ale na ocen臋 formatowania, potrzebuje tylko jednego rzutu okiem.

Niekt贸rzy pracodawcy sprawdzaj膮, jak du偶o b艂臋d贸w wywali Twoja strona w walidatorze i na tej podstawie, oceni膮 Twoje umiej臋tno艣ci. Zwracaj na to uwag臋, bo na najszybszy spos贸b na poprawienie swojego kodu.

4 - Nie skupiaj si臋 na edytorze/systemie itd.

Wydaje mi si臋, 偶e im mniej zaawansowany programista, tym wi臋cej uwagi przyk艂ada do narz臋dzi, z kt贸rych korzysta. Nie skupiaj si臋 na wyborze i konfiguracji edytora (chyba, 偶e zaczyna Ci w nim brakowa膰 ju偶 jaki艣 funkcji), nie zmieniaj sk贸rek graficznych.

Najlepsze jest to narz臋dzie, kt贸re najlepiej pozna艂e艣 i najd艂u偶ej w nim pracujesz. Nie zastanawiaj si臋 nad edytorem d艂u偶ej, ni偶 nad kodem.Polecam Ci Sublime Text 3, Visual Studio Code (edytory) oraz IDE PHPStorm/Webstorm. W wielu firmach standardem jest Intellij.

Oczywi艣cie, powiniene艣 poznawa膰 nowe wtyczki do przegl膮darki czy narz臋dzia, kt贸re u艂atwiaj膮 prac臋.

5 - Pokazuj kod

Dziel si臋 kodem z osobami, kt贸re s膮 bardziej do艣wiadczone, dzi臋ki czemu b臋dziesz rozwija艂 swoj膮 wiedz臋 i poznasz nowe sztuczki. Godzinna konsultacja z bardziej do艣wiadczon膮 osob膮 daje Ci wi臋cej korzy艣ci, ni偶 10 godzin programowania z ksi膮偶k膮.

Po dw贸ch miesi膮cach samodzielnej nauki wydawa艂o mi si臋, 偶e m贸j kod jest 艣wietny, jednak konsultacja z do艣wiadczonym programist膮 sprowadzi艂a mnie na ziemi臋. Gdy dostajesz odpowied藕 zwrotn膮, nauka jest znacznie 艂atwiejsza. Lepiej otrzyma膰 j膮 od kolegi, ni偶 od pracodawcy na nieudanej rozmowie. Polecam te偶 forum Pasja Informatyki, gdzie mo偶na otrzyma膰 rzeczowe komentarze na temat swojego kodu.

6 - Czytaj o podstawach

Technologie front-endowe bardzo szybko si臋 zmieniaj膮, jednak podstawy, zawsze pozostaj膮 te same. Podczas tworzenia pierwszych stron, czytaj jednocze艣nie ksi膮偶ki na temat HTML/CSS, kt贸re pozwol膮 Ci pokona膰 podstawowe problemy w pracy. Dzi臋ki ksi膮偶kom poznasz podstawy, o kt贸rych nie pisz膮 na StackOverlow :)

W przypadku j臋zyk贸w programowania takich, jak Javascript, bez nauki z ksi膮偶ki nie ma sensu startowa膰 do pracy ani do tworzenia program贸w - wk艂ad wiedzy konieczny do osi膮gni臋cia sukcesu, jest bardzo du偶y. Poznanie podstaw, pozwoli Ci tak偶e na 艂atwiejsze rozwi膮zywanie problem贸w - nie musisz pami臋ta膰 ca艂ego kodu, wystarczy, 偶e zapami臋tasz, 偶e gdzie艣 znalaz艂e艣 rozwi膮zanie. Nawet w "banalnym" CSS, kryje si臋 wiele sztuczek, bez poznania kt贸rych, b臋dziesz cz臋sto wchodzi艂 na mielizny przy tworzeniu stron.

7- Poznawaj nowe technologie

Wszystkie technologie zwi膮zane z programowaniem, na pocz膮tku wydaj膮 si臋 "kosmiczne" i bardzo nas fascynuj膮. Z czasem zaczynamy je traktowa膰 jako codzienne narz臋dzie. Moim zdaniem, powiniene艣 zacz膮膰 nauk臋 od podstaw HTML5 + CSS i z czasem rozszerza膰 t臋 wiedz臋 o:
* Git - ucz si臋 go od pocz膮tku - je艣li nie znasz go w pracy, przepad艂e艣.
* Bootstrap (ewentualnie Foundation)
* SASS
* JS i JQuery(gdy ju偶 dobrze poznasz zasady rozmieszczania element贸w na stronie)
* Wtyczki do Query (np do walidacji formularzy lub tworzenia slider贸w)
* PHP (front end cz臋sto pracuje na szablonach PHP, tworzonych na przyk艂ad w Twig) i innych j臋zyk贸w
* Frameworki JS (po dobrym opanowaniu podstaw JS i programowania obiektowego)
* Og贸ln膮 wiedz臋 na temat programowania, czystego kodu czy wzorc贸w projektowych. 

B艂臋dem jest na przyk艂ad zaczynanie nauki tworzenia stron, od kursu Bootstrapa i p贸藕niejsze martwienie si臋 o to, dlaczego nie umiemy na przyk艂ad przesuwa膰 element贸w lub wystylowa膰 ich zgodnie z nasz膮 wol膮.

8 - Nauka angielskiego

Front end developer musi czyta膰, s艂ucha膰 i m贸wi膰 po angielsku. Ucz si臋 w tym j臋zyku i prze艂am l臋k przed m贸wieniem. Rekruterzy nigdy nie s膮 native speakerami (chyba, 偶e chcesz pracowa膰 za granic膮) i wybacz膮 Ci b艂臋dy j臋zykowe, natomiast nie wybacz膮 tego, 偶e parali偶uje Ci臋 l臋k przed m贸wieniem po angielsku. Nie licz na to, 偶e uda Ci si臋 znale藕膰 dobr膮 prac臋 bez znajomo艣ci j臋zyka.

Moja podpowied藕 - nie skupiaj si臋 na nauce czas贸w - ogl膮daj filmy o programowaniu po angielsku i przerabiaj kursy w stylu Duolingo. Commituj zmiany po angielsku. Je艣li masz tak膮 mo偶liwo艣膰, zapisz si臋 na kurs.

9 - Wysy艂aj CV

25 minut dziennie na wysy艂anie, kilka CV do firm z Twojej okolicy szukaj膮cych junior贸w. Rozwi膮zuj zadania, rozmawiaj z rekruterami i zbieraj feedback. Je艣li Twoje portfolio jest s艂abe, dowiesz si臋 tego w艂a艣nie dzi臋ki takim rozmowom.

10 - Przegl膮daj swoje stare kody

Je艣li prowadzisz profil na Githubie przez kilka miesi臋cy i nie masz zbyt du偶ego odzewu ze strony firm, przeanalizuj strony z perspektywy nowych do艣wiadcze艅 i poprawiaj je. Zamiast zaczyna膰 nowe projekty, sprawd藕, czy w Twoich starych projektach nie ma b艂臋d贸w i czy strony si臋 wy艣wietlaj膮 poprawnie. Nauka programowania to proces.

11 - Za艂贸偶 konto na LinkedIn

LinkedIn to miejsce, gdzie cz臋sto zagl膮daj膮 rekruterzy. Warto za艂o偶y膰 tam profesjonalne konto i opisa膰 swoje umiej臋tno艣ci, oraz dodawa膰 do znajomych rekruter贸w. Prac臋 w Connectis znalaz艂em dzi臋ki Linkedin.

12 - Zainwestuj czas i pieni膮dze

Konkurencja w艣r贸d junior front-deweloper贸w jest du偶a, a wi臋kszo艣膰 z nich nie dostaje pracy z powodu:
  • wyg贸rowanych wymaga艅 (tak偶e finansowych)
  • miernych umiej臋tno艣ci
  • braku samodzielno艣ci
Moim zdaniem, obecnie warto poduczy膰 si臋 front-endu samodzielnie a nast臋pnie, zaryzykowa膰 prac臋 w dobrej firmie za niewielkie pieni膮dze, po to, by nauczy膰 si臋 fachu. Praca przy rzeczywistym tworzeniu stron, daje znacznie lepsze efekty, ni偶 nauka w domu. 

Po kilku miesi膮cach takiej pracy, zaczniesz stanowi膰 dla pracodawcy warto艣膰 i albo zaproponuje Ci podwy偶k臋, albo b臋dziesz m贸g艂 szybko zmieni膰 prac臋 na lepsz膮. 

13 - Przeprowad藕 si臋

Jeste艣 z ma艂ego miasta, a na Pracuj.pl s膮 tam tylko dwa og艂oszenia na senior PHP dewelopera? W najwi臋kszych miastach w Polsce, szansa na znalezienie pracy jest znacznie 艂atwiejsza, dlatego dobrym (a jak dla mnie, jedynym) rozwi膮zaniem jest przeprowadzka. 

Wi臋kszo艣膰 firm nie zgadza si臋 na prac臋 zdaln膮 w przypadku junior贸w i moim zdaniem, jest to s艂uszne rozwi膮zanie.

14 - Nie ograniczaj si臋 tylko do nauki front-endu

Jako front-end developer, powiniene艣 rozwija膰 wiedz臋 tak偶e o innych technologiach. Kilka z nich to na przyk艂ad:
  • PHP - zw艂aszcza systemy templatek (Twig, Smarty) oraz Wordpress. W wi臋kszo艣ci firm tworz膮cych strony WWW, konieczna jest perfekcyjna znajomo艣膰 panelu Wordpressa oraz praca z takimi dodatkami, jak Visual Composer. 
  • Linux i praca z maszynami wirtualnymi (w tym Vagrant)
  • Kwestie dotycz膮ce bezpiecze艅stwa stron WWW oraz szybko艣ci ich dzia艂ania
  • Design i typografia (moim zdaniem, nauk臋 front-endu warto zacz膮膰 od zapoznania si臋 z r贸偶nicami mi臋dzy czcionkami oraz z r贸偶nymi w艂a艣ciwo艣ciami tekstu).

呕ycz臋 powodzenia!

M贸j background - w listopadzie 2015 roku zacz膮艂em nauk臋 front-endu, pod 7 miesi膮cach znalaz艂em prac臋 jako junior. Kolejna zmiana firmy trwa艂a miesi膮c niezbyt intensywnych poszukiwa艅. Z rocznym do艣wiadczeniem prac臋 uda艂o mi si臋 znale藕膰 po wys艂aniu kilku CV i jednej rozmowie.

Brak komentarzy:

Prze艣lij komentarz