Zdarza wam się, będąc programistami Ruby/RoR, zajmować zagadnieniami czysto webmasterskimi (html/css/js/cięcie grafiki itp.)? Wiem, że dla niektórych deweloperów tego typu zadania spędzają sen z powiek. Jak to u Was wygląda?
jasne, jak trzeba robi cie wszystko. Nie znaczy to ze czlowiek robi to tak dobrze jak ktos wyspecjalizowany (glownie mi chodzi o grafike, layout) ale jak trzeba robi sie wszystko
Normalna sprawa, szczególnie JS. Jak robisz w webdeveloperce to raczej ciężko aby zajmować się tylko jedną jej częścią (możesz się w czymś specjalizować, ale zajmujesz się często wszystkim).
Programowanie (JS) - robię. Pozostałe (HTML/CSS/grafika) - nie robię.
Znam oczywiście css jak i Photoshopa, ale są ludzie którzy zrobią to szybciej i lepiej, więc staram się im to zostawiać. JS i HTML raczej sam.
No właśnie to zajmowanie się wszystkim trochę mi nie pasuje. Wiadomo, że programując aplikacje internetowe wręcz wypada wiedzieć co nieco o webmasteringu. Jednak jako programista Ruby/RoR nie chciałbym poświęcać np. połowy czasu na dłubanie przy html/css. Wiadomo, czasem trzeba i może to być nawet ciekawa odskocznia, ale tylko czasem. Po za tym:
Temat mnie zaciekawił ze względu na ostatnią ofertę, w której najprawdopodobniej poszukują rubistę/webmastera:
[quote=wkaminski]…
Implementacja GUI przygotowanego przez grafika
…[/quote]
@Dawids: mniej więcejdwa lata temu wyleczyłem się pernamentnie z ego podejścia. Wcześniej też strasznei psioczyłem jak dostawałem frontend.
Teraz rozumiem że frontend jest równie ważnym elementem aplikacji jak backend, i ograniczając się do backendu sam się pozbawiasz wielu możliwości.
Prawda jest taka że w chwili obecnej nie wyobrażam sobie np. zatrudnienia starszego programisty RoR który nie zna też perfect jQuery, less/sass i CSS2/3. aplikacje Rich client to jest przyszłość, trzeba sobie z ego zdawać sprawę.
Pocieszę cię że z drugiej strony widzę także zbliżający się koniec “mockupów” i ludzi robiących mockupy w photoshopie zupełnie nie przejmujących się jak to potem ktoś będzie musiał zaimplementować w htmlu. Nie zatrudniłbym w chwili obecnej grafika ani “frontendowca” który nie zna chociaż podstaw Rub on Rails na przykład.
Tak więc moja rada - ucz się html/css, naucz sie korzystać z dobrodziejstw ułatwiających z nimi pracę (haml, less lub sass, modernizr, jquery, itp.), poszerzysz horyzonty, poszerzysz też swój wybór jeżeli chodzi o zatrudnienie.
Możesz też pójść w drugą stronę - uczyć się o wątkach, bazach danych i mnóstwie podobnych tematów - przy czym wtedy styczność z Railsami może być mniejsza.
CoffeeScript - Robię, w tym także pluginy do przeglądarek.
HTML/CCS - raczej kosmetyczne poprawki niż design całego serwisu.
Grafika - prawie nigdy.
Ostatnio w Arkency coraz częściej zaczynamy od implementacji całego Frontendu, który korzysta z InMemoryAdaptera udającego odpowiedzi HTTP z backendu. To pozwala szybko pokazywać efekty klientowi i iteracyjnie dochodzić do tego jakie rozwiązania tam się nam spodobają, jak ma wyglądać flow, jakie use-case’y występują. Kiedy już to wiemy, dużo przyjemniej nam zaimplementować backend na końcu mając już tą wiedzę i w oderwaniu od skażenia Rails-way, chociaż oczywiście zwykle w Rails.
W jednym projekcie po roku pracy z dobrymi grafikami (tzn. takimi, którzy ogarniają web i dają Ci na końcu sensowny HTML z przykładami a nie obrazki) nie wyobrażam sobie trochę inaczej. Oni naprawdę mają ogromną wiedzę w temacie i często są w stanie zaproponować bardzo ciekawe rozwiązania z uwzględnieniem problemów różnych przeglądarek. Także ja mam bardzo pozytywne doświadczenia.
+1
Chciałeś powiedzieć, że nie wyobrażasz sobie zatrudnienia NA stanowisku “starszego programisty” tak? To na jakim stanowisku byś zatrudnił osobę, która świetnie zna Railsy, EM, ZMQ, rozumie wielowątkowość, stawianie serwerów, wirtualki, deploy, statystyki projektów, ma kilka lat doświadczenia i chciałaby też pracować z frontendem ale nie ma tam jeszcze doświadczenia. Ja bym z miejsca brał osobę bardziej na podstawie tego, że jest w stanie się tego szybko nauczyć i chce niż na podstawie tego, ile miała styczności z tematem na chwilę obecną.
“Prawda jest taka że w chwili obecnej nie wyobrażam sobie np. zatrudnienia starszego programisty RoR który nie zna też perfect jQuery, less/sass i CSS2/3. aplikacje Rich client to jest przyszłość, trzeba sobie z ego zdawać sprawę.”
Nie da rady wszystkiego. Za mało czasu w dobie jest. Może znać bardzo dobrze, ale specjalistą to nie będzie, bo zwyczajnie za dużo możliwości się pojawia aby za wszystkim nadążyć. Musi wybrać jakiś kierunek, bo wątpię aby można łatwo (bo pewnie jakiś się znajdzie) zlokalizować kogoś który tak jak paneq wymienił ma mocne i co najważniejsze bieżące podstawy backendowe i do tego świetnie jest na czasie z frontendem.
@paneq: troche źle się wyraziłem, chodzi mi o to że nie wyobrażam sobie za bardzo pracy z kimś ktoprzyszedł by i powiedział, mam doświadczenie w backendzie, nad frontendem pracował nie będę chyba że mi przystawicie pistolet do głowy. Nie skreśliłbym nigdy nikogo za brak jakiejś konkretnej umiejętności. Prawda jest jednak taka że zdziwiłbym się jakby się akurat taki przypadek jak mówisz jeszcze gdzieś ostał w świecie programowania webowego.
@belike81 zawsze będą eksperci / specjaliści, ale zupełnie się nie zgadzam że w programowaniu webowym nei da się być dobrym we wszystkim. Da się i to bez większego problemu opanować wszystko od programowania bazy danych do frontendu. Nie mówię że jest to łatwe bo wymaga lat doświadczenia, i kilku godzin w tygodniu na ciągłe doszkalanie by być na bierząco, ale spokojnie się da.
Chodzi mi ogólnie o to że lata specjalizacji minęły, teraz trzeba niestety ogarniać wszystko
PS. Sorry za podwójny post, napisałeś gdy pisałem poprzednią odpowiedź.
Chyba różne definicje słowa „grafik” tutaj krążą… Dla mnie dobry grafik robi dobrą grafikę, i tyle. Wolę mieć świetną grafikę w mockupach photoshopowych, niż dobrą w HTML/CSS.
Nie możesz tak generalizować. Ja pracuję w zespole gdzie UX designer robi wireframes, grafik przygotowuje mockupy w photoshopie, frontendowiec je tnie do html/css i pisze część JS, a backendowcy piszą Ruby + JS. Plus specjalizacji jest taki, że każdy robi to co umie najlepiej, a nie to co „ktoś musi zrobić”.
Najważniejsza część Jacy tam z nas backendowcy zatem, trzeba już nowy termin wymyślić
Najlepszy designer z jakim pracowałem (i pracuję) ogarnia wiele programistycznych narzędzi (SASS, Compass) lepiej ode mnie.
To że frontend jest ważny nie ulega wątpliwości, ale mając możliwość pracy z gościem, który dostarcza grafikę (mocki/wizualizacje) i gościem który zrobi z tego html/css, nie wyobrażam sobie innego układu.
Akurat html/css/js czy nawet cięcie grafiki ogarniam dość dobrze. Poszerzanie horyzontów jak najbardziej popieram. Ja poszerzam o Ruby/RoR
Zgadzam się. Wiadomo, że zdarzają się wyjątki, jednak jak ma się żonę/dziewczynę/hobby/słońce za oknem to ciężko znaleźć czas na specjalizowanie się w wielu tematach. Mimo iż webdevelopment jest branżą, w której trzeba stawiać na nieustanny rozwój, nie należy zapominać, że jest jeszcze świat po za komputerem.
+1
[quote=Świstak]@belike81 zawsze będą eksperci / specjaliści, ale zupełnie się nie zgadzam że w programowaniu webowym nei da się być dobrym we wszystkim. Da się i to bez większego problemu opanować wszystko od programowania bazy danych do frontendu. Nie mówię że jest to łatwe bo wymaga lat doświadczenia, i kilku godzin w tygodniu na ciągłe doszkalanie by być na bierząco, ale spokojnie się da.
Chodzi mi ogólnie o to że lata specjalizacji minęły, teraz trzeba niestety ogarniać wszystko :)[/quote]
Znasz to powiedzenie, że jak coś jest do wszystkiego to jest…
A na poważnie, chcesz mi powiedzieć, że bez problemu można znależć osoby które:
- bez problemu są na bieżąco z HTML’em/CSS + z nowymi specyfikacjami (HTML5, CSS3) i ich obsługą we wszystkich przeglądarkach na różnych systemach operacyjnych
- z JS i różnicami w obsłudze i tego jakie funkcje i elementy są obsługiwane
- bez problemu radzić sobie z zagadnieniami takimi jak Canvas i animacje w przeglądarkach (i ich obsługa w przeglądarkach)
- ogaranianie tego w przeglądarkach mobilnych na różnych systemach (włączając w to nie tylko Androida, ale systemy takie jak Bada czy Symbian)
- oprócz tego posiadać szerokie doświadczenie w obsłudze różnych technologii baz danych i różnic między tymi bazami
- optymalizacja, wirtualizacja serwrów, znajomośc kilku głównych dystrybucji linux’a i różnic między nimi
- ogarniać Ruby’ego + dajmy na to Rails’y + Sinatra + dajmy na to PHP + znajomość różnych gotowych rozwiązań z tym związanych (gem’y, engine’y, rozwiązania e-commerce)…
- i jeszcze masa rzeczy które można tak wymieniać i wymieniać…
Ze wszystkim być na bieżąco, przy tym pracując normalnie przynajmniej po 8 godzin, przy tym mieć czas dla siebie, mieć czas dla rodziny, mieć czas na wakacje… wybacz, ale siedzę w tym od PHP3, od ponad 11 lat i naprawdę nie wyobrażam sobie tego. Doba musiałaby mieć 48 godzin aby to ogranąć.
Prawda leży pewnie gdzieś po środku
Moim zdaniem warto umieć conajmniej javascript i HTML/CSS, przy czym HTML/CSS nie jest moim zdaniem aż tak ważny - tylko jak już dostaniesz pocięte grafiki i będziesz musiał w jednym czy drugim miejscu coś dorzucić, to głupio pisać maile do frontendowców. Zgadzam się oczywiście, że wszystkiego się nie da ogarnąć, ale wydaje mi się, że javascript i RoR razem da radę. Czuję się sporo mocjniejszy jeżeli chodzi o rozwiązania po stronie serwera, ale obecnie pracuję np. nad projektem, gdzie robię właściwie tylko i wyłącznie frontend (one page app w Ember.js).
Jeżeli poświęcisz się tylko jednej stronie, to na pewno wybór będzie okrojony, ale znam wiele teamów gdzie praca jest podzielona na backend/frontend. Pytanie gdzie się trafi. Młode/małe startupy nie mają szansy zbudować większego teamu ze specjalizacjami, ale w większych lub bardziej dojrzałych firmach będzie raczej odwrotnie - jak masz więcej niż kilku programistów, to zaprzęganie wszystkich do wszystkiego będzie mało wydajne.
Odniosę się do dwóch wątków:
@sharik: nie twierdze że tego typu zespoły są złe - w żadnym wypadku, po prostu z mojego doświadczenia zespoły w którym każda osoba jest kompetentna w każdej dziedzinie - a zna się lepiej na konkretnej działają o wiele wiele lepiej niż zespoły złożone z ludzi o wąskiej specjalizacji - jak dobrzy by nie byli. Oczywiście to moej doświadczenie - możliwe że jest dokładnie odwrotnie.
@belike: tak, twierdzę że są takie osoby, mylnie zakładasz że to musi być 8h pracy + nauka, moim zdaniem powinno się to zawierać w tych 8h. Dodatkowo często mniej jest istotna wiedza jak coś zrobić, a bardziej istotna jest gdzie szukać, albo kogo pytać.