Frontendowiec na pewno powinien dobrze znać Photoshopa.
Nieprawda. Owszem, są zlecenia, firmy i sytuacje, kiedy znajomość Photoshopa jest wskazana czy nawet wymagana, ale w większości przypadków jeśli będzie potrzebna grafika, to frontendowiec będzie ją miał dostarczoną od grafika.
Frontendowiec to nie grafik.
czy frontendowiec powinien projektować layouty w photoshopie?
Nie. **Nikt **nie powinien projektować layoutów w Photoshopie. To jest program do obróbki zdjęć i dość słabo się nadaje do tworzenia layoutów stron internetowych.
To, że lata popularności Photoshopa robią swoje i w wielu firmach się jeszcze "jedzie na Photoshopie", to nie znaczy, że tak należy robić. Po prostu ludzie używają narzędzia niezgodnie z przeznaczeniem. W dobie responsive designu i CSS3 projektowanie layoutów w Photoshopie jest po prostu niewłaściwe, bo generuje się 2 razy więcej roboty niż to potrzebne (skoro frontendowiec to będzie musiał przepisywać ręcznie potem na HTML/CSS).
To raz. Po drugie samo projektowanie layoutów jest dużym uproszczeniem. "Layouty" sugerują, że chodzi tylko o ułożenie elementów na ekranie. Co jest nieprawdą bo w nowoczesnych aplikacjach webowych ważne są też takie rzeczy jak użyteczność, user experience, dostępność, architektura informacji etc. Myślę, że ani typowy frontendowiec ani grafik nie powinien tego robić. W wielu firmach zatrudnia sie specjalne osoby zwane UX designerami, które projektują stronę w formie prototypów/makiet - i dopiero potem frontendowiec to implementuje w formie HTML/CSS, a grafik dostarcza potrzebne grafiki (zwykle tylko pocięte ikonki albo zdjęcia, bo wszystko inne da się zrobić w CSS3)
Czyli: w Photoshopie to się robiło layouty może z 10 lat temu, teraz te bardziej nowoczesne firmy mają UX designerów, grafików oraz frontendowców (ludzi odpowiedzialnych za pisanie HTML/CSS/JavaScript).
Chyba, że jesteś na tyle zdolny, że jesteś w stanie być jednocześnie HTML/CSSowcem, grafikiem i UX designerem w jednym (bez ironii - niektórzy mają takie skille). Jeśli jednak masz tylko jedną zdolność, to musisz być dobry z komunikacji. Miękkie skille są kluczowe, bo będziesz musiał się dogadać z grafikiem albo/oraz z UX designerem.
Tak jak w tytule w jaki sposób uczyć się na frontendowca? Co w przypadku gdy nie ma się pomysłu na własny autorski projekt? Brać z sieci darmowe psd i kodować czy może robić coś innego?
Co powinien potrafić typowy frontendowiec oprócz rzecz jasna HTML i CSS.
Zależy jakim chcesz być frontendowcem. Bo możesz po prostu ciąć grafikę, kodować HTMLa, a możesz równie dobrze pisać zaawansowane aplikacje w JavaScript z użyciem frameworków typu Angular.
W kazdym razie przydaje się:
- być na czasie (czyli responsive design, znać też nowe możliwości CSS3 etc.)
- sam CSS nie wystarczy, trzeba poznać też preprocesory takie jak Sass/SCSS czy LESS.
- przynajmniej podstawy JavaScriptu, choćby na poziomie obsługi jQuery
- Bootstrap (osobiście nie przepadam za tym frameworkiem, ale jednak jest on czesto używany, więc warto znać)
- choćby podstawy Gita
- dużo miękkich skillów (ponieważ jest to praca nastawiona na współpracę z grafikami chociażby).
Jeśli chodzi o JavaScriptowca to też jest to szerszy temat. Rozwija się to strasznie. Teraz standardem są:
- znajomość JavaScriptu (ES5 oraz trzeba już znać nowy standard ES6)
- jQuery
- Angular
- Grunt albo Gulp
- trzeba umieć się poruszać w konsoli unixowej
- i być na czasie, orientować się w nowych narzędziach, choćby ze słyszenia.
Te rzeczy wyżej to chyba standard, chociaż to się zmienia strasznie dynamicznie.