frontend

Artykuł zainspirowany pytaniami jakie dostaję.

Co warto opanować myśląc o pracy jako Frontend Developer? Od czego zacząć? Co jest MUST HAVE, a co może poczekać na później?

Wstęp

Moja przygoda z programowaniem zaczęła się już przeszło 10 lat temu właśnie od HTML’a i CSS’a. Byłam w gimnazjum, tworzyłam kilka blogów. Nigdy nie mogłam znaleźć pasującego mi szablonu, więc musiałam je mocno modyfikować (co nadal się nie zmieniło i pewnie niedługo skończy się na tym, ze na tego bloga też stworzę szablon od zera).

Blogi. Strony WWW. CMS’y… A potem studia. Które pokierowały mnie w trochę innym kierunku – C++. Zajmowałam się nim przeszło 3 lata, by w zeszłym roku stwierdzić, że to jednak nie to, że wracam do Web’a 😉

Wracam to może źle powiedziane. Bo zajmowałam się nim nadal prywatnie i również zawodowo od 2012 roku (na zmianę z C++). Tak naprawdę to pisanie aplikacji na zegarki (Samsung Gear) obudziło prawdziwą tęsknotę za Web’em. Za tym, by wynikiem mojego działania nie była tylko szybkość działania kodu. By rezultaty były mocniej widoczne wizualnie 🙂

Owszem OpenGL też dawał niezłe możliwości pod tym kątem, ale jak trzeba było się nakombinować 😛

Dlaczego o tym piszę? Bo przejście od mobile developmentu do Frontendu kosztowało mnie nieco pracy. Zanim zdecydowałam się wysłać pierwsze CV poświęciłam dwa miesiące na uporządkowanie wiedzy i rozeznanie w rynku. Technologie się zmieniają. Co z tego, że pisałam własną bibliotekę w JavaScript, kontrybuowałam do OpenSource’a i znałam kilkadziesiąt drobnych bibliotek JS’owych, które wykorzystywałam w swoich aplikacjach. Mobile a Web wymagają nieco innych narzędzi. Nawet jeżeli są pewne elementy wspólne 😉

Kierunek: Frontend

Języki i technologie uporządkowane w kolejności, w której warto się ich uczyć.

HTML5

Tu chyba nikt nie ma wątpliwości 😉 Polecane kursy w temacie HTML/CSS znajdziecie w tym wpisie.

 

CSS(3)

Tutaj proponuję pójść o krok dalej i po ogarnięciu CSS’a opanować jeszcze:

Tylko jeden bądź wszystkie trzy.

Osobiście preferuję Less’a 😉

 

JavaScript

… to początek dopiero góry lodowej. Podstawa, którą im lepiej znasz – tym lepiej dla Ciebie. Must Have dla Frontend Developerów. Bez znajomości JavaScriptu nawet nie masz się co zabierać za naukę opisanych dalej języków i technologii.

Warto również przynajmniej zajrzeć o co chodzi z CoffeeScript’em, a może lepiej TypeScript’em (który zyskuje coraz większą popularność za sprawą Angular’a 2).

 

Tak na dzień dobry niekiedy może to wystarczyć. Mając tą wiedzę jesteś już w stanie zakodować jakąś stronę (nawet może być responsywna – CSS media queries).

Tak, często powtarzające się pojęcie we Frontend’zie – Responsive Web Design. Nie obędziesz się bez jego znajomości.

W niektórych ofertach pracy znajdziesz również wymaganie znajomości Photoshopa. Osobiście go nie znam. Nie przepadam. Może kiedyś się przekonam 😉 Praca Frontend Developer’a nie zawsze pociąga za sobą konieczność cięcia Layout’ów.

 

Następnie …

Dodałabym jeszcze do tego zestawu kolejne technologie:

 

Następnie narzędzia automatyzujące pracę (tak, w programowaniu również stawiamy na automatyzację 😉 ) – Grunt lub Gulp (preferuję ten drugi 😉 ). Ciężko się również obejść bez Npm i Bower’a.

Wydaje mi się, że na tym etapie możesz już się rozejrzeć za ofertami pracy, znaleźć tą, która Cię zainteresuje i zapoznać się z wymaganiami. Lista bibliotek, framework’ów JavaScript’owych jest bardzo długa i zaryzykuje stwierdzenie, że codziennie pojawiają się nowe 😀

Co jeszcze warto znać? Podstawy Node JS. W pracy może Ci się przydać również znajomość Git’a.

Często w wymaganiach pojawiają się takie framework’i jak: Angular JS (a lada moment Angular JS 2), React, Meteor czy Backbone JS. Jednak wymagają one już dłużego czasu na opanowanie – stąd może warto najpierw rozeznać się w środowisku i interesujących nas ofertach pracy?

I ogólna zasada: nie musisz dążyć do bycia ekspertem w danym języku czy technologii. Przynajmniej na początku. Nie wiesz, gdzie trafisz i czego będziesz używać. Wiadomo, warto się specjalizować, ale na starcie jeszcze lepiej mieć rozeznanie w wielu technologiach i skupić się na maksymalnie jednej niż wyspecjalizować się w czymś, a pracować w czymś całkiem innym 😉 Doświadczenie przychodzi z czasem.

Żeby nie było – to nie jest koniec listy. Ale jeśli zrealizujesz te kroki podejrzewam, że już sam/a będziesz w stanie określić czego więcej potrzebujesz. Co więcej – warto jak najwcześniej zacząć pracę nad jakimś projektem, wykorzystywać wiedzę praktycznie. Szukać, działać, kodować.

Jeśli jesteś na początku drogi i potrzebujesz wsparcia zapraszam do grupy HTML5, CSS3, JS od podstaw – Nettelog. Więcej na jej temat możesz przeczytać TUTAJ.

A jeśli potrzebujesz motywacji polecam artykuł: Jak wykorzystałem Stack Overflow i GitHub, żeby dostać wymarzoną pracę przed 19 urodzinami bez studiów.

Pytania?

 

Nie daję sobie licencji na nieomylność. Przedstawiam swoją ścieżkę. Jeśli chciałbyś coś dodać do tej listy – śmiało 😉

A może czytają mnie jacyś Frontend Developerzy? Macie może jakieś rady dla osób, które dopiero zaczynają?

 

I mam prośbę: jeśli wpis okazał się dla Ciebie pomocny albo znasz osoby zainteresowane tematem rozpoczęcia swojej przygody z programowaniem (Web, Frontend) – podaj go dalej 😉

 

Aktualnie tematykę programowania rozwijam w ramach mojego drugiego bloga (programistycznego) – NetteCode.

Zapraszam!